Messages
Data models for the Anthropic Messages API
The Messages API types are Pydantic models used by any_llm.api.messages() and any_llm.api.amessages().
Primary Types
MessageResponse
MessageResponseFull response from the Messages API.
Import: from any_llm.types.messages import MessageResponse
MessageContentBlock
MessageContentBlockContent block in a Messages API response.
Import: from any_llm.types.messages import MessageContentBlock
MessageUsage
MessageUsageToken usage information for Messages API.
Import: from any_llm.types.messages import MessageUsage
cache_creation
CacheCreation | None
Breakdown of cached tokens by TTL
cache_creation_input_tokens
int | None
The number of input tokens used to create the cache entry.
cache_read_input_tokens
int | None
The number of input tokens read from the cache.
inference_geo
str | None
The geographic region where inference was performed for this request.
input_tokens
int
The number of input tokens which were used.
output_tokens
int
The number of output tokens which were used.
output_tokens_details
OutputTokensDetails | None
Breakdown of output tokens by category. output_tokens remains the inclusive, authoritative total used for billing. This object provides a read-only decomposition for observability — for example, how many of the billed output tokens were spent on internal reasoning that may have been summarized before being returned to you.
server_tool_use
ServerToolUsage | None
The number of server tool requests.
service_tier
Literal['standard', 'priority', 'batch'] | None
If the request used the priority, standard, or batch tier.
MessageStreamEvent
MessageStreamEventUnion of Anthropic SDK stream event types, re-exported from the anthropic package:
MessageStartEvent—type: 'message_start',message: MessageMessageDeltaEvent—type: 'message_delta',delta: Delta,usage: MessageDeltaUsageMessageStopEvent—type: 'message_stop'ContentBlockStartEvent—type: 'content_block_start',index: int,content_block: ContentBlockContentBlockDeltaEvent—type: 'content_block_delta',index: int,delta: RawContentBlockDeltaContentBlockStopEvent—type: 'content_block_stop',index: int
Import: from any_llm.types.messages import MessageStreamEvent
Internal Types
MessagesParams
MessagesParamsNormalized 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
model
str
Model identifier
messages
list[dict[str, Any]]
List of messages for the conversation
max_tokens
int
Maximum number of tokens to generate (required by Anthropic API)
system
str | list[dict[str, Any]] | None
System prompt (string or list of content blocks with optional cache_control)
temperature
float | None
Controls randomness in the response (0.0 to 1.0)
top_p
float | None
Controls diversity via nucleus sampling
top_k
int | None
Only sample from the top K options for each subsequent token
stream
bool | None
Whether to stream the response
stop_sequences
list[str] | None
Custom text sequences that will cause the model to stop generating
tools
list[dict[str, Any]] | None
List of tools in Anthropic format ({name, description, input_schema})
tool_choice
dict[str, Any] | None
Controls which tool the model uses
metadata
dict[str, Any] | None
Request metadata
thinking
dict[str, Any] | None
Thinking/reasoning configuration
cache_control
dict[str, Any] | None
Cache control configuration for prompt caching
output_format
type | None
Structured-output type, mirroring Anthropic's messages.parse(output_format=...). A Pydantic BaseModel subclass or a dataclass type. The Anthropic provider passes it to native messages.parse (which builds output_config.format from it); other providers route it through the completion bridge. Either way the result is Anthropic's ParsedMessage, with the typed object on its parsed_output property.
Last updated