Anthropic model streaming responses are delivered in event chunks. Below is a list of the event types with some notes on what they mean.

Event Types#

event: message_start
data: {"type": "message_start", "message": {"id": "msg_1nZdL29xx5MUA1yADyHTEsnR8uuvGzszyY", "type": "message", "role": "assistant", "content": [], "model": "claude-3-5-sonnet-20241022", "stop_reason": null, "stop_sequence": null, "usage": {"input_tokens": 25, "output_tokens": 1}}}

This indicates the beginning of a message. It is notable for giving the model-provided count of the input tokens, as well as the initial output token count.

event: content_block_start
data: {"type": "content_block_start", "index": 0, "content_block": {"type": "text", "text": ""}}

The beginning of a block of response content, whether it’s text or something else.

event: ping
data: {"type": "ping"}
event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "text_delta", "text": "Hello"}}

The content block delta from the previous content block event. Either a content_block_start or another content_block_delta.

event: content_block_delta
data: {"type": "content_block_delta", "index": 0, "delta": {"type": "text_delta", "text": "!"}}
event: content_block_stop
data: {"type": "content_block_stop", "index": 0}

The end of a content block, but not necessarily a whole message/response.

event: message_delta
data: {"type": "message_delta", "delta": {"stop_reason": "end_turn", "stop_sequence":null}, "usage": {"output_tokens": 15}}

The message_delta event signifies any “top-level” or message-level changes to the response with additional metadata for the message, such as the stop_reason, stop_sequence, and final count of output_tokens, including changes to the output tokens. This count is the total count of output tokens that were used (see here), not a number that needs to be added to the initial output_tokens count.

event: message_stop
data: {"type": "message_stop"}

The final message end event.

Source#

https://docs.anthropic.com/en/api/messages-streaming