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:
Event Description 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— \n the stack trace unfolds at dawn, \n coffee grows cold."
}
]
}
],
"usage" : {
"input_tokens" : 12 ,
"output_tokens" : 20
}
}
}
Request Parameters
Set to true to enable streaming. The response will be a stream of server-sent events instead of a single JSON object.
The model identifier to use. Example: openai/gpt-5.3-codex
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