Skip to content

Messages Types

The Messages API types are Pydantic models used by any_llm.api.messages() and any_llm.api.amessages().

Full response from the Messages API.

Import: from any_llm.types.messages import MessageResponse

FieldTypeDescription
idstr
typestr
rolestr
contentlist[MessageContentBlock]
modelstr
stop_reasonstr | None
usageMessageUsage

Content block in a Messages API response.

Import: from any_llm.types.messages import MessageContentBlock

FieldTypeDescription
typestrBlock type: ‘text’, ‘tool_use’, or ‘thinking’
textstr | NoneText content (for type=‘text’)
idstr | NoneTool use ID (for type=‘tool_use’)
namestr | NoneTool name (for type=‘tool_use’)
inputdict[str, Any] | NoneTool input (for type=‘tool_use’)
thinkingstr | NoneThinking content (for type=‘thinking’)

Token usage information for Messages API.

Import: from any_llm.types.messages import MessageUsage

FieldTypeDescription
input_tokensint
output_tokensint
cache_creation_input_tokensint | None
cache_read_input_tokensint | None

Server-sent event for Messages API streaming.

Import: from any_llm.types.messages import MessageStreamEvent

FieldTypeDescription
typestrEvent type (message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop)
indexint | NoneContent block index
content_blockMessageContentBlock | NoneContent block (for content_block_start)
deltadict[str, Any] | NoneDelta update
messageMessageResponse | NoneFull message (for message_start)
usageMessageUsage | NoneUsage information (for message_delta)

Normalized parameters for the Anthropic Messages API, used internally to pass structured parameters from the public API to provider implementations.

Import: from any_llm.types.messages import MessagesParams

FieldTypeDescription
modelstrModel identifier
messageslist[dict[str, Any]]List of messages for the conversation
max_tokensintMaximum number of tokens to generate (required by Anthropic API)
systemstr | NoneSystem prompt
temperaturefloat | NoneControls randomness in the response (0.0 to 1.0)
top_pfloat | NoneControls diversity via nucleus sampling
top_kint | NoneOnly sample from the top K options for each subsequent token
streambool | NoneWhether to stream the response
stop_sequenceslist[str] | NoneCustom text sequences that will cause the model to stop generating
toolslist[dict[str, Any]] | NoneList of tools in Anthropic format ({name, description, input_schema})
tool_choicedict[str, Any] | NoneControls which tool the model uses
metadatadict[str, Any] | NoneRequest metadata
thinkingdict[str, Any] | NoneThinking/reasoning configuration