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


ビジョン機能の使用方法

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

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

アップロードの前に

基本事項と制限

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

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

画像サイズの評価

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

入力画像が大きすぎてリサイズが必要な場合、モデルのパフォーマンスが向上することなく、time-to-first-tokenの遅延が増加します。いずれかの辺が200ピクセル未満の非常に小さい画像は、パフォーマンスが低下する可能性があります。

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

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

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

画像コストの計算

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

画像のリサイズが不要な場合、以下のアルゴリズムでトークン数を見積もることができます:トークン数 = (幅px * 高さpx)/750

以下は、APIのサイズ制限内の異なる画像サイズにおける、Claude 3.7 Sonnetの入力トークンあたり300万分の3ドルの価格に基づいたおおよそのトークン化とコストの例です:

画像サイズトークン数画像あたりのコスト1,000枚あたりのコスト
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に画像を提供する方法は2つあります:

  1. imageコンテンツブロックでbase64エンコードされた画像として
  2. オンラインでホストされている画像へのURL参照として

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-3-7-sonnet-20250219",
    "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-3-7-sonnet-20250219",
    "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": "この画像を説明してください。"
          }
        ]
      }
    ]
  }'

詳細なコード例とパラメータの詳細については、Messages APIの例を参照してください。


制限事項

Claudeの画像理解能力は最先端ですが、以下のような制限事項があることを認識しておく必要があります:

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

特にハイステークスなユースケースでは、Claudeの画像解釈を常に慎重にレビューし確認してください。人間の監督なしに、完璧な精度や繊細な画像分析を必要とするタスクにClaudeを使用しないでください。


FAQ


ビジョンについてさらに深く学ぶ

Claudeを使って画像での開発を始める準備はできましたか?以下の役立つリソースをご覧ください:

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