Nebula API Docs (OpenAI-Compatible)
Use Nebula in your own application through an OpenAI-compatible API. Start with your API key, then follow the examples below.
Available models, priced per 1M tokens.
One family, one flat rate. Choose the surface that fits the request.
Nebula 4.5
nebula-4.5Adaptive intelligence. Every request is routed across the engine matrix by meaning, cost and learned reputation. You do not pick a tier.
- Chat
- Reasoning
- Tool Calling
- Security Analysis
- Input
- £10.00 /1M
- Output
- £20.00 /1M
- Context
- 256K tokens
- Speed
- Adaptive
Nebula V
nebula-vVision, image and audio understanding. Screenshots, documents, video frames and speech in one context.
- Vision
- Image Analysis
- Transcription
- Audio
- Input
- £10.00 /1M
- Output
- £20.00 /1M
- Context
- 1M tokens
- Speed
- Fast
Nebula Realtime
nebula-realtimeLow-latency bidirectional voice, vision and screen over a WebSocket.
- Voice
- Vision
- Screen
- Audio
- Input
- £10.00 /1M
- Output
- £20.00 /1M
- Context
- 1M tokens
- Speed
- Realtime
Nebula Embed
nebula-embedText embeddings for retrieval and RAG.
- Embeddings
- Retrieval
- Input
- £10.00 /1M
- Output
- £20.00 /1M
- Context
- 8K tokens
- Speed
- Ultra Fast
Nebula Image
nebula-imageText-to-image generation.
- Image Generation
- Input
- £10.00 /1M
- Output
- £20.00 /1M
- Context
- n/a
- Speed
- Fast
Authentication, with scoped API keys.
Secure your API requests with API keys.
Getting an API key
- 1Log in to your BreachLine dashboard and go to Settings
- 2Navigate to API Keys section
- 3Click "Create API Key"
- 4Select "LLM API" scope (llm:*)
- 5Copy and securely store your key
Using your API key
Include your API key in the X-API-Key header:
Quick start, in three languages.
Get started with Nebula in minutes.
cURL
curl -X POST https://api.breachline.io/api/v1/llm/v1/chat/completions \
-H "X-API-Key: bl_live_xxxxxxxxxxxx" \
-H "Content-Type: application/json" \
-d '{
"model": "nebula-4.5",
"messages": [
{"role": "system", "content": "You are a security analyst."},
{"role": "user", "content": "Analyze this SQL injection: SELECT * FROM users WHERE id = \'" + input + "\'"}
],
"max_tokens": 2048,
"temperature": 0.3
}'Python (OpenAI SDK)
from openai import OpenAI
# Initialize client with Nebula endpoint
client = OpenAI(
api_key="bl_live_xxxxxxxxxxxx",
base_url="https://api.breachline.io/api/v1/llm/v1"
)
# Chat completion
response = client.chat.completions.create(
model="nebula-4.5",
messages=[
{"role": "system", "content": "You are a security expert."},
{"role": "user", "content": "Analyze this vulnerability report..."}
],
max_tokens=2048,
temperature=0.3
)
print(response.choices[0].message.content)JavaScript / TypeScript
import OpenAI from 'openai';
const client = new OpenAI({
apiKey: 'bl_live_xxxxxxxxxxxx',
baseURL: 'https://api.breachline.io/api/v1/llm/v1'
});
async function analyzeVulnerability(finding: string) {
const response = await client.chat.completions.create({
model: 'nebula-4.5',
messages: [
{ role: 'system', content: 'You are a security analyst.' },
{ role: 'user', content: `Analyze: ${finding}` }
]
});
return response.choices[0].message.content;
}Tool calling, with your own functions.
Enable Nebula to execute functions and interact with external systems.
Tool calling is available on nebula-4.5, and is routed to a tool-capable engine automatically.
Tool calling example
from openai import OpenAI
client = OpenAI(
api_key="bl_live_xxxxxxxxxxxx",
base_url="https://api.breachline.io/api/v1/llm/v1"
)
# Define security tools
tools = [
{
"type": "function",
"function": {
"name": "scan_target",
"description": "Perform a security scan on a target",
"parameters": {
"type": "object",
"properties": {
"target": {"type": "string", "description": "URL or IP inside written approved scope"},
"scope": {"type": "string", "description": "Optional note of bounds already agreed in writing"}
},
"required": ["target"]
}
}
},
{
"type": "function",
"function": {
"name": "lookup_cve",
"description": "Look up CVE details",
"parameters": {
"type": "object",
"properties": {
"cve_id": {"type": "string", "description": "CVE ID (e.g., CVE-2024-1234)"}
},
"required": ["cve_id"]
}
}
}
]
response = client.chat.completions.create(
model="nebula-4.5",
messages=[{"role": "user", "content": "Test example.com within the agreed written scope"}],
tools=tools,
tool_choice="auto"
)
# Handle tool calls
if response.choices[0].message.tool_calls:
for tool_call in response.choices[0].message.tool_calls:
print(f"Tool: {tool_call.function.name}")
print(f"Args: {tool_call.function.arguments}")Streaming, token by token.
Server-sent events on the standard endpoint: set stream=True and tokens arrive as they are generated.
Streaming example
from openai import OpenAI
# Streaming is server-sent events on the standard endpoint. Set stream=True.
# (There is no separate socket for chat; the only WebSocket we expose is the
# realtime voice/vision plane at /api/v1/llm/v1/realtime.)
client = OpenAI(
api_key="bl_live_xxxxxxxxxxxx",
base_url="https://api.breachline.io/api/v1/llm/v1",
)
stream = client.chat.completions.create(
model="nebula-4.5",
messages=[
{"role": "user", "content": "Write a security audit report for example.com"}
],
stream=True,
)
for chunk in stream:
delta = chunk.choices[0].delta.content
if delta:
print(delta, end="", flush=True)MCP, for your own tools.
Connect public security review tools to your agent.
Connect Cursor or another compatible client to BreachLine's hosted MCP endpoint for deterministic security reviews. The example below uses Cursor's configuration format. This public tool service sends supplied content to BreachLine for processing; it does not expose the Nebula chat API.
Cursor hosted MCP configuration
{
"mcpServers": {
"breachline": {
"url": "https://breachline.io/mcp"
}
}
}No account or API key is needed. Shared usage and input limits apply. Follow the MCP setup guide for Claude Code commands, tool names and data handling.
Rate limits, per API key.
Need higher limits? Contact us for enterprise plans.
Endpoints, at a glance.
/api/v1/llm/v1/chat/completionsCreate a chat completion (OpenAI compatible)
/api/v1/llm/v1/completionsSimple text completion endpoint
/api/v1/llm/v1/modelsList available models and pricing
/api/v1/llm/v1/usage/currentGet current usage statistics
Ready to build?
Create an API key and start building with Nebula.