stream: true the API starts answering as soon as the model produces the first tokens, so you can show progress to a user or begin processing early.
Streaming is available with canvas_id and version_id. Tasks created with application_id always run asynchronously and do not stream.
Enabling the stream
Addstream: true to the request. With the SDKs, the returned completion becomes an iterable of chunks.
What each chunk contains
Each chunk is achat.completion stream object. The fields you will use:
Use
delta.content to display text as it arrives, and read message.structured_content when you need the fields of the Output Format rather than the text. The full schema is in Run Canvas.
The wire format of the stream over plain HTTP (how chunks are delimited in the response body) is not documented here. The SDKs handle it for you; if you consume the stream with your own HTTP client, inspect the raw response first.
When not to stream
Streaming keeps the HTTP connection open for the whole run. For long documents processed in the background, or when the caller does not need partial output, preferasync or a webhook_url and read the result when it is ready.