Skip to main content
The Writer API supports streaming responses from the API. Streams use Server-Sent Events so that you can display content as the API generates it in real time. Streaming improves user experience by reducing latency from the time the user submits a request to the time the response is available.

Overview

To stream a response from the API, set the stream parameter to true in the request body. The following endpoints support streaming:

Sample request and response

The code below shows a streaming request and response from a text generation request using curl. The response is a stream of server-sent events.
response
If you’re using the chat completions endpoint instead of text generation, the streamed response format is slightly different. The content for each chunk appears in choices[0].delta.content. See the Generate chat completions guide for the full streaming response object.

Streaming with SDKs

When you stream a response using a Writer SDK, the SDK creates an iterator that yields chunks of the response. You can iterate over the stream to receive the response. See below for examples of streaming with the Python and JavaScript SDKs for each endpoint that supports streaming.

Streaming helpers for chat completions

The Python and Node SDKs include streaming helpers for chat completions. These helpers provide more granular details about the streaming events and accumulate the response. To use the streaming helpers, call client.chat.stream. Then, include all the same parameters as you would for a non-streaming chat completion request, except omit the stream parameter.
For more information about the streaming helpers for chat completions, see the Python and Node SDKs.