首页 / 文档 / 视觉与图像输入

视觉与图像输入

向多模态模型发送图像——编码、大小限制和费用。

Claude 和 Gemini 模型支持同时接收图像和文本。图像以内容块的形式包含在普通消息中。

Base64 图像

{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "messages": [{
    "role": "user",
    "content": [
      {"type": "image", "source": {
        "type": "base64",
        "media_type": "image/png",
        "data": "iVBORw0KGgoAAAANSUhEUg..."
      }},
      {"type": "text", "text": "What does this chart show?"}
    ]
  }]
}

Python

import base64, anthropic

img = base64.standard_b64encode(open(class="s">"chart.png", class="s">"rb").read()).decode()

client = anthropic.Anthropic(api_key=class="s">"sk-your-key", base_url=class="s">"https://aiprimetech.io")
msg = client.messages.create(
    model=class="s">"claude-sonnet-4-6",
    max_tokens=1024,
    messages=[{class="s">"role": class="s">"user", class="s">"content": [
        {class="s">"type": class="s">"image", class="s">"source": {class="s">"type": class="s">"base64",
         class="s">"media_type": class="s">"image/png", class="s">"data": img}},
        {class="s">"type": class="s">"text", class="s">"text": class="s">"What does this chart show?"},
    ]}],
)
print(msg.content[0].text)

实际限制

限制项建议
格式PNG、JPEG、GIF 和 WebP
分辨率尺寸过大的图像会在上游缩小。发送前将图像长边调整为约 1500px,可以节省 token,且不会损失质量。
成本图像按输入 token 计费,费用大致与面积成正比。一张整页截图的成本可能高于一页文本。
多张图像每条消息允许包含多个图像块;每个图像块都会计费。
在智能体循环中,图像与其他内容一样,每轮都会随历史记录重新发送。图像描述完成后,应将其从对话记录中移除,否则同一张截图会被反复计费。