このガイドでは、ベストプラクティス、コード例、および留意すべき制限事項を含め、Claudeで画像を扱う方法について説明します。


ビジョンの使用方法

Claudeのビジョン機能は以下の方法で使用できます:

  • claude.ai。ファイルをアップロードするように画像をアップロードするか、画像を直接チャットウィンドウにドラッグアンドドロップします。
  • Console Workbench。画像を受け入れるモデル(Claude 3および4モデルのみ)を選択すると、すべてのユーザーメッセージブロックの右上に画像を追加するボタンが表示されます。
  • APIリクエスト。このガイドの例を参照してください。

アップロード前に

基本事項と制限

1つのリクエストに複数の画像を含めることができます(claude.aiでは最大20枚、APIリクエストでは最大100枚)。Claudeは応答を作成する際に、提供されたすべての画像を分析します。これは画像の比較や対比に役立ちます。

8000x8000ピクセルより大きい画像を送信すると、拒否されます。1つのAPIリクエストで20枚を超える画像を送信する場合、この制限は2000x2000ピクセルになります。

画像サイズの評価

最適なパフォーマンスのために、画像が大きすぎる場合はアップロード前にリサイズすることをお勧めします。画像の長辺が1568ピクセルを超える場合、または画像が約1,600トークンを超える場合、まずサイズ制限内に収まるまでアスペクト比を保持してスケールダウンされます。

入力画像が大きすぎてリサイズが必要な場合、追加のモデルパフォーマンスを提供することなく、time-to-first-tokenのレイテンシが増加します。任意の辺が200ピクセル未満の非常に小さい画像は、パフォーマンスを低下させる可能性があります。

time-to-first-tokenを改善するために、画像を1.15メガピクセル以下(および両方の次元で1568ピクセル以内)にリサイズすることをお勧めします。

以下は、一般的なアスペクト比でAPIが受け入れる最大画像サイズの表で、リサイズされません。Claude Sonnet 3.7モデルでは、これらの画像は約1,600トークンを使用し、1K画像あたり約$4.80です。

アスペクト比画像サイズ
1:11092x1092 px
3:4951x1268 px
2:3896x1344 px
9:16819x1456 px
1:2784x1568 px

画像コストの計算

Claudeへのリクエストに含める各画像は、トークン使用量にカウントされます。概算コストを計算するには、画像トークンの概算数に使用しているモデルのトークンあたりの価格を掛けます。

画像をリサイズする必要がない場合、このアルゴリズムを通じて使用されるトークン数を推定できます:tokens = (width px * height px)/750

以下は、Claude Sonnet 3.7のトークンあたり$3(100万入力トークンあたり)の価格に基づく、APIのサイズ制約内の異なる画像サイズの概算トークン化とコストの例です:

画像サイズトークン数画像あたりのコスト1K画像あたりのコスト
200x200 px(0.04メガピクセル)〜54〜$0.00016〜$0.16
1000x1000 px(1メガピクセル)〜1334〜$0.004〜$4.00
1092x1092 px(1.19メガピクセル)〜1590〜$0.0048〜$4.80

画像品質の確保

Claudeに画像を提供する際は、最良の結果を得るために以下の点を念頭に置いてください:

  • 画像形式:サポートされている画像形式を使用してください:JPEG、PNG、GIF、またはWebP。
  • 画像の鮮明さ:画像が鮮明で、ぼやけすぎたりピクセル化されすぎたりしていないことを確認してください。
  • テキスト:画像に重要なテキストが含まれている場合は、読みやすく、小さすぎないことを確認してください。テキストを拡大するためだけに重要な視覚的コンテキストを切り取ることは避けてください。

プロンプトの例

Claudeとのテキストベースのインタラクションでうまく機能する多くのプロンプト技術は、画像ベースのプロンプトにも適用できます。

これらの例は、画像を含むベストプラクティスのプロンプト構造を示しています。

ドキュメント-クエリの配置と同様に、Claudeは画像がテキストの前に来る場合に最もよく機能します。テキストの後に配置された画像やテキストと混在した画像でも良好に機能しますが、使用ケースで可能であれば、画像-テキストの構造をお勧めします。

プロンプト例について

以下の例は、さまざまなプログラミング言語とアプローチを使用してClaudeのビジョン機能を使用する方法を示しています。Claudeに画像を提供する方法は3つあります:

  1. imageコンテンツブロック内のbase64エンコードされた画像として
  2. オンラインでホストされている画像へのURL参照として
  3. Files APIを使用して(一度アップロードして複数回使用)

base64の例のプロンプトでは、これらの変数を使用します:

    # URLベースの画像の場合、JSONリクエストでURLを直接使用できます
    
    # base64エンコードされた画像の場合、まず画像をエンコードする必要があります
    # bashで画像をbase64にエンコードする方法の例:
    BASE64_IMAGE_DATA=$(curl -s "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg" | base64)
    
    # エンコードされたデータをAPIコールで使用できます

以下は、base64エンコードされた画像とURL参照を使用してMessages APIリクエストに画像を含める方法の例です:

Base64エンコードされた画像の例

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "base64",
              "media_type": "image/jpeg",
              "data": "'"$BASE64_IMAGE_DATA"'"
            }
          },
          {
            "type": "text",
            "text": "この画像を説明してください。"
          }
        ]
      }
    ]
  }'

URLベースの画像の例

curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "url",
              "url": "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
            }
          },
          {
            "type": "text",
            "text": "この画像を説明してください。"
          }
        ]
      }
    ]
  }'

Files API画像の例

繰り返し使用する画像やエンコードのオーバーヘッドを避けたい場合は、Files APIを使用してください:

# まず、Files APIに画像をアップロードします
curl -X POST https://api.anthropic.com/v1/files \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -F "file=@image.jpg"

# 次に、返されたfile_idをメッセージで使用します
curl https://api.anthropic.com/v1/messages \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -H "anthropic-beta: files-api-2025-04-14" \
  -H "content-type: application/json" \
  -d '{
    "model": "claude-sonnet-4-20250514",
    "max_tokens": 1024,
    "messages": [
      {
        "role": "user",
        "content": [
          {
            "type": "image",
            "source": {
              "type": "file",
              "file_id": "file_abc123"
            }
          },
          {
            "type": "text",
            "text": "この画像を説明してください。"
          }
        ]
      }
    ]
  }'

より多くのサンプルコードとパラメータの詳細については、Messages API examplesを参照してください。


制限事項

Claudeの画像理解機能は最先端ですが、注意すべきいくつかの制限があります:

  • 人物識別:Claudeは画像内の人物を識別(つまり、名前を付ける)するために使用できませんし、そうすることを拒否します。
  • 精度:Claudeは、低品質、回転した、または200ピクセル未満の非常に小さい画像を解釈する際に、幻覚を起こしたり間違いを犯したりする可能性があります。
  • 空間推論:Claudeの空間推論能力は限定的です。アナログ時計の文字盤を読んだり、チェスの駒の正確な位置を説明したりするような、正確な位置特定やレイアウトを必要とするタスクに苦労する可能性があります。
  • カウント:Claudeは画像内のオブジェクトの概算数を提供できますが、特に多数の小さなオブジェクトの場合、常に正確とは限りません。
  • AI生成画像:Claudeは画像がAI生成かどうかを知らず、尋ねられた場合に間違っている可能性があります。偽造や合成画像を検出するためにClaudeに依存しないでください。
  • 不適切なコンテンツ:Claudeは、当社の利用規約に違反する不適切または露骨な画像を処理しません。
  • ヘルスケア応用:Claudeは一般的な医療画像を分析できますが、CTやMRIなどの複雑な診断スキャンを解釈するように設計されていません。Claudeの出力は、専門的な医療アドバイスや診断の代替と見なされるべきではありません。

特に高リスクの使用ケースでは、Claudeの画像解釈を常に慎重にレビューし検証してください。人間の監督なしに完璧な精度や機密画像分析を必要とするタスクにClaudeを使用しないでください。


FAQ


ビジョンをより深く探る

Claudeを使用して画像でビルドを始める準備はできましたか?以下にいくつかの役立つリソースがあります:

他にご質問がございましたら、お気軽にサポートチームにお問い合わせください。また、開発者コミュニティに参加して、他のクリエイターとつながり、Anthropicの専門家からサポートを受けることもできます。