Implementation:Anthropics Anthropic sdk python BetaContentBlockParam
| Knowledge Sources | |
|---|---|
| Domains | API_Types, Beta_Features |
| Last Updated | 2026-02-15 12:00 GMT |
Overview
BetaContentBlockParam is a central union type alias representing all possible content block parameter types that can be sent as input to the beta API. It covers 20 distinct block param variants plus the response-side BetaContentBlock union itself.
Description
BetaContentBlockParam is defined as a TypeAlias using typing.Union. Unlike its response counterpart BetaContentBlock, this union does not use a discriminator annotation because it is designed for request input rather than response deserialization.
The union includes input-oriented param types that mirror (and extend) the response block types. Notably, this union includes types that only appear in requests but never in responses, such as:
- BetaImageBlockParam -- For sending image content
- BetaRequestDocumentBlockParam -- For sending document content
- BetaToolResultBlockParam -- For returning tool results to the model
- BetaSearchResultBlockParam -- For providing search results
- BetaRequestMCPToolResultBlockParam -- For providing MCP tool results
The union also includes BetaContentBlock itself as a final member, which means you can pass response content blocks directly back into a new request without conversion.
Usage
Use BetaContentBlockParam when constructing the content field of message parameters sent to the beta API. This is the type expected for individual content items within user or assistant message params. It allows mixing text, images, documents, tool results, and other content types in a single message.
Code Reference
Source Location
- Repository: Anthropic SDK Python
- File:
src/anthropic/types/beta/beta_content_block_param.py
Signature
BetaContentBlockParam: TypeAlias = Union[
BetaTextBlockParam,
BetaImageBlockParam,
BetaRequestDocumentBlockParam,
BetaSearchResultBlockParam,
BetaThinkingBlockParam,
BetaRedactedThinkingBlockParam,
BetaToolUseBlockParam,
BetaToolResultBlockParam,
BetaServerToolUseBlockParam,
BetaWebSearchToolResultBlockParam,
BetaWebFetchToolResultBlockParam,
BetaCodeExecutionToolResultBlockParam,
BetaBashCodeExecutionToolResultBlockParam,
BetaTextEditorCodeExecutionToolResultBlockParam,
BetaToolSearchToolResultBlockParam,
BetaMCPToolUseBlockParam,
BetaRequestMCPToolResultBlockParam,
BetaContainerUploadBlockParam,
BetaCompactionBlockParam,
BetaContentBlock,
]
Import
from anthropic.types.beta import BetaContentBlockParam
I/O Contract
BetaContentBlockParam is a pure type alias for request construction. Each variant is a TypedDict with a required type field.
| Variant Type | Purpose | Direction |
|---|---|---|
BetaTextBlockParam |
Send text content | Request only |
BetaImageBlockParam |
Send image content (base64 or URL) | Request only |
BetaRequestDocumentBlockParam |
Send document content | Request only |
BetaSearchResultBlockParam |
Provide search results | Request only |
BetaThinkingBlockParam |
Pass back thinking blocks | Request (continuation) |
BetaRedactedThinkingBlockParam |
Pass back redacted thinking | Request (continuation) |
BetaToolUseBlockParam |
Pass back tool use blocks | Request (continuation) |
BetaToolResultBlockParam |
Return tool execution results | Request only |
BetaServerToolUseBlockParam |
Pass back server tool use | Request (continuation) |
BetaWebSearchToolResultBlockParam |
Pass back web search results | Request (continuation) |
BetaWebFetchToolResultBlockParam |
Pass back web fetch results | Request (continuation) |
BetaCodeExecutionToolResultBlockParam |
Pass back code execution results | Request (continuation) |
BetaBashCodeExecutionToolResultBlockParam |
Pass back bash execution results | Request (continuation) |
BetaTextEditorCodeExecutionToolResultBlockParam |
Pass back text editor results | Request (continuation) |
BetaToolSearchToolResultBlockParam |
Pass back tool search results | Request (continuation) |
BetaMCPToolUseBlockParam |
Pass back MCP tool use | Request (continuation) |
BetaRequestMCPToolResultBlockParam |
Return MCP tool results | Request only |
BetaContainerUploadBlockParam |
Pass back container upload | Request (continuation) |
BetaCompactionBlockParam |
Pass back compaction blocks | Request (continuation) |
BetaContentBlock |
Pass response blocks directly | Bidirectional |
Usage Examples
Building a Multi-Modal Message
from anthropic.types.beta import BetaContentBlockParam
content: list[BetaContentBlockParam] = [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/png",
"data": "<base64-encoded-data>",
},
},
{
"type": "text",
"text": "What do you see in this image?",
},
]
Passing Tool Results Back
from anthropic.types.beta import BetaContentBlockParam
tool_result: BetaContentBlockParam = {
"type": "tool_result",
"tool_use_id": "toolu_01abc123",
"content": "The current temperature in San Francisco is 62F.",
}
Forwarding Response Blocks Into a New Request
from anthropic.types.beta import BetaContentBlockParam, BetaMessage
def continue_conversation(previous_response: BetaMessage) -> list[BetaContentBlockParam]:
# BetaContentBlock is a valid BetaContentBlockParam variant,
# so response blocks can be passed directly
return list(previous_response.content)
Related Pages
- Anthropics_Anthropic_sdk_python_BetaContentBlock -- The response-side counterpart of this union type
- Anthropics_Anthropic_sdk_python_BetaMessage -- The response model whose
contentfield usesBetaContentBlock - Anthropics_Anthropic_sdk_python_MessageCreateParams -- Uses content block params in message construction
- Anthropics_Anthropic_sdk_python_ToolResultBlockParam -- Stable counterpart for tool result params