Messages Types
The Messages API types are Pydantic models used by any_llm.api.messages() and any_llm.api.amessages().
Primary Types
Section titled “Primary Types”MessageResponse
Section titled “MessageResponse”Full response from the Messages API.
Import: from any_llm.types.messages import MessageResponse
| Field | Type | Description |
|---|---|---|
id | str | |
type | str | |
role | str | |
content | list[MessageContentBlock] | |
model | str | |
stop_reason | str | None | |
usage | MessageUsage |
MessageContentBlock
Section titled “MessageContentBlock”Content block in a Messages API response.
Import: from any_llm.types.messages import MessageContentBlock
| Field | Type | Description |
|---|---|---|
type | str | Block type: ‘text’, ‘tool_use’, or ‘thinking’ |
text | str | None | Text content (for type=‘text’) |
id | str | None | Tool use ID (for type=‘tool_use’) |
name | str | None | Tool name (for type=‘tool_use’) |
input | dict[str, Any] | None | Tool input (for type=‘tool_use’) |
thinking | str | None | Thinking content (for type=‘thinking’) |
MessageUsage
Section titled “MessageUsage”Token usage information for Messages API.
Import: from any_llm.types.messages import MessageUsage
| Field | Type | Description |
|---|---|---|
input_tokens | int | |
output_tokens | int | |
cache_creation_input_tokens | int | None | |
cache_read_input_tokens | int | None |
MessageStreamEvent
Section titled “MessageStreamEvent”Server-sent event for Messages API streaming.
Import: from any_llm.types.messages import MessageStreamEvent
| Field | Type | Description |
|---|---|---|
type | str | Event type (message_start, content_block_start, content_block_delta, content_block_stop, message_delta, message_stop) |
index | int | None | Content block index |
content_block | MessageContentBlock | None | Content block (for content_block_start) |
delta | dict[str, Any] | None | Delta update |
message | MessageResponse | None | Full message (for message_start) |
usage | MessageUsage | None | Usage information (for message_delta) |
Internal Types
Section titled “Internal Types”MessagesParams
Section titled “MessagesParams”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
| Field | Type | Description |
|---|---|---|
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 | None | System prompt |
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 |