module

Anthropic::Content

Content module for typed message content blocks.

Uses generics to provide compile-time type safety while maintaining a uniform interface for all content types.

Usage

text = Anthropic::Content.text("Hello!")
text.data.text # => "Hello!"

image = Anthropic::Content.image("image/png", base64_data)
image.data.media_type # => "image/png"

Class methods

image(media_type : String, data : String) : Block(ImageData)

Creates an image content block from base64 data.

Source
image(source : ImageSource) : Block(ImageData)

Creates an image content block from an ImageSource.

Source
text(value : String) : Block(TextData)

Creates a text content block.

Source
thinking(value : String, signature : String | Nil = nil) : Block(ThinkingData)

Creates a thinking content block for extended thinking.

Source
tool_result(tool_use_id : String, content : String, is_error : Bool = false) : Block(ToolResultData)

Creates a tool result content block with string content.

Source
tool_result(tool_use_id : String, content : Array(JSON::Any), is_error : Bool = false) : Block(ToolResultData)

Creates a tool result content block with array content.

Source
tool_use(id : String, name : String, input : JSON::Any) : Block(ToolUseData)

Creates a tool use content block.

Source

Nested types