Jump to content

Connect Leeroopedia MCP: Equip your AI agents to search best practices, build plans, verify code, diagnose failures, and look up hyperparameter defaults.

Implementation:Anthropics Anthropic sdk python BetaContentBlockParam

From Leeroopedia
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

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

Page Connections

Double-click a node to navigate. Hold to expand connections.
Principle
Implementation
Heuristic
Environment