ホーム / ドキュメント / 画像認識と画像入力

画像認識と画像入力

マルチモーダルモデルに画像を送信する方法:エンコード、サイズ制限、費用。

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にリサイズすると、品質を損なわずにトークンを節約できます。
費用画像は入力トークンとして課金され、その量はおおむね面積に比例します。ページ全体のスクリーンショットは、テキストのページより高くつく場合があります。
複数の画像メッセージごとに複数の画像ブロックを含めることができます。それぞれに課金されます。
エージェントループでは、画像も他のコンテンツと同様に、ターンごとに履歴とともに再送されます。画像の内容が説明されたら会話履歴から削除してください。そうしないと、同じスクリーンショットに繰り返し料金を支払うことになります。