Skip to main content

Documentation Index

Fetch the complete documentation index at: https://docs.blackbox.ai/llms.txt

Use this file to discover all available pages before exploring further.

The Responses API supports streaming to receive tokens as they’re generated instead of waiting for the complete response. Set stream: true in your request, then read the response body as a stream of server-sent events (SSE). Each event contains a response chunk that you can display incrementally.
The Responses API is best supported on the Enterprise plan. Use https://enterprise.blackbox.ai as the base URL for full model availability and production reliability. The API is also available on standard plans at https://api.blackbox.ai, where it is currently experimental.

Basic Streaming Request

const response = await fetch('https://enterprise.blackbox.ai/v1/responses', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json',
    Authorization: `Bearer ${process.env.BLACKBOX_API_KEY}`,
  },
  body: JSON.stringify({
    model: 'openai/gpt-5.3-codex',
    input: [
      {
        type: 'message',
        role: 'user',
        content: 'Write a haiku about debugging code.',
      },
    ],
    stream: true,
  }),
});

const reader = response.body.getReader();
const decoder = new TextDecoder();

while (true) {
  const { done, value } = await reader.read();
  if (done) break;

  const chunk = decoder.decode(value);
  const lines = chunk.split('\n');

  for (const line of lines) {
    if (line.startsWith('data:')) {
      const data = line.substring(6).trim();
      if (data) {
        const event = JSON.parse(data);
        if (event.type === 'response.output_text.delta') {
          process.stdout.write(event.delta);
        }
      }
    }
  }
}

Streaming Events

The stream emits server-sent events in the following sequence:
EventDescription
response.createdResponse initialized — signals the stream has started
response.output_text.deltaText chunk received — contains a delta field with the new text
response.output_text.doneText generation complete for the current output item
response.completedFull response complete, includes final usage statistics

Event Payloads

response.output_text.delta
{
  "type": "response.output_text.delta",
  "delta": "Null pointer—"
}
response.completed
{
  "type": "response.completed",
  "response": {
    "id": "resp_abc123",
    "object": "response",
    "model": "openai/gpt-5.3-codex",
    "output": [
      {
        "type": "message",
        "role": "assistant",
        "content": [
          {
            "type": "output_text",
            "text": "Null pointer—\nthe stack trace unfolds at dawn,\ncoffee grows cold."
          }
        ]
      }
    ],
    "usage": {
      "input_tokens": 12,
      "output_tokens": 20
    }
  }
}

Request Parameters

stream
boolean
required
Set to true to enable streaming. The response will be a stream of server-sent events instead of a single JSON object.
model
string
required
The model identifier to use. Example: openai/gpt-5.3-codex
input
array
required
Array of input messages with type, role, and content fields.

Next Steps

Text Generation

Learn about basic non-streaming text generation

Tool Calling

Stream responses that include tool calls