このガイドでは、Claudeで画像を扱う方法について、ベストプラクティス、コード例、および注意すべき制限事項を説明します。
Claudeのビジョン機能は以下の方法で使用できます:
1回のリクエストに複数の画像を含めることができます:claude.aiでは最大20枚、APIリクエストでは最大600枚(200kトークンのコンテキストウィンドウを持つモデルでは100枚)です。Claudeは応答を作成する際に提供されたすべての画像を分析します。これは画像を比較・対比する際に役立ちます。
8000x8000 pxを超える画像を送信すると拒否されます。1回のAPIリクエストで20枚を超える画像を送信する場合、この制限は2000x2000 pxになります。
APIは1リクエストあたり最大600枚の画像をサポートしていますが、リクエストサイズの制限(標準エンドポイントでは32 MB;一部のサードパーティプラットフォームではより低い)に先に達する場合があります。多数の画像を扱う場合は、Files APIでアップロードし、file_idで参照することでリクエストのペイロードを小さく保つことを検討してください。
Files APIを使用する場合でも、多数の大きな画像を含むリクエストは600枚の上限に達する前に失敗することがあります。アップロード前に画像の寸法やファイルサイズを縮小してください(例:ダウンサンプリングによる)(画像サイズの評価を参照)。
最適なパフォーマンスのために、画像が大きすぎる場合はアップロード前にリサイズしてください。画像の長辺が1568ピクセルを超える場合、または画像が約1,600トークンを超える場合、アスペクト比を維持しながらサイズ制限内に収まるまで縮小されます。
入力画像が大きすぎてリサイズが必要な場合、出力品質に利益をもたらすことなく最初のトークンまでの時間のレイテンシが増加します。いずれかの辺が200ピクセル未満の非常に小さな画像は、出力品質を低下させる可能性があります。
最初のトークンまでの時間を改善するために、 画像を1.15メガピクセル以下(かつ両辺とも1568ピクセル以内)に リサイズすることを検討してください。
以下は、一般的なアスペクト比においてAPIが受け入れる最大画像サイズ(リサイズされない)の表です。Claude Sonnet 4.6では、これらの画像は約1,600トークンを使用し、1,000枚あたり約$4.80かかります。
| アスペクト比 | 画像サイズ |
|---|---|
| 1:1 | 1092x1092 px |
| 3:4 | 951x1268 px |
| 2:3 | 896x1344 px |
| 9:16 | 819x1456 px |
| 1:2 | 784x1568 px |
Claudeへのリクエストに含める各画像は、トークン使用量にカウントされます。おおよそのコストを計算するには、おおよその画像トークン数に使用しているモデルのトークン単価を掛けてください。
画像をリサイズする必要がない場合、次のアルゴリズムで使用トークン数を推定できます:tokens = (width px * height px)/750
以下は、APIのサイズ制約内でのさまざまな画像サイズに対するおおよそのトークン化とコストの例です(Claude Sonnet 4.6の入力トークン単価$3/100万トークンに基づく):
| 画像サイズ | トークン数 | コスト/枚 | コスト/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に画像を提供する際、最良の結果を得るために以下の点に注意してください:
Claudeとのテキストベースのインタラクションでうまく機能するプロンプティング技術の多くは、画像ベースのプロンプトにも適用できます。
これらの例は、画像を含むベストプラクティスのプロンプト構造を示しています。
テキストプロンプトでクエリの前に長いドキュメントを配置すると結果が改善されるのと同様に、Claudeは画像がテキストの前に来る場合に最もよく機能します。テキストの後や間に配置された画像でも良好なパフォーマンスを発揮しますが、ユースケースが許す場合は、画像→テキストの構造を優先してください。
以下の例は、さまざまなプログラミング言語とアプローチを使用してClaudeのビジョン機能を使用する方法を示しています。Claudeに画像を提供する方法は3つあります:
imageコンテンツブロックにbase64エンコードされた画像としてbase64の例のプロンプトでは、以下の変数を使用します:
以下は、base64エンコードされた画像とURL参照を使用してMessages APIリクエストに画像を含める方法の例です:
繰り返し使用する画像や、エンコードのオーバーヘッドを避けたい場合は、Files APIを使用してください。画像を一度アップロードし、base64データを再送信する代わりに、返されたfile_idを後続のメッセージで参照します。
マルチターン会話やエージェントワークフローでは、各リクエストで会話履歴全体が再送信されます。画像がbase64エンコードされている場合、会話が長くなるにつれて、毎ターンのペイロードに完全な画像バイトが含まれ、リクエストサイズとレイテンシが大幅に増加する可能性があります。Files APIに画像をアップロードしてfile_idで参照することで、会話履歴に画像がいくつ蓄積されても、リクエストペイロードを小さく保つことができます。
詳細なコード例とパラメータの詳細については、Messages API の例を参照してください。
Claude の画像理解機能は最先端ですが、注意すべきいくつかの制限があります:
特に重要度の高いユースケースでは、Claude の画像解釈を常に注意深くレビューして確認してください。人間の監視なしに、完璧な精度や機密性の高い画像分析を必要とするタスクに Claude を使用しないでください。
Claude を使用して画像でのビルドを始める準備はできましたか?役立つリソースをいくつかご紹介します:
他にご質問がある場合は、サポートチームにお問い合わせください。また、開発者コミュニティに参加して、他のクリエイターとつながり、Anthropic の専門家からサポートを受けることもできます。
Was this page helpful?
# 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コールで使用できるようになりました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 @- <<EOF
{
"model": "claude-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "base64",
"media_type": "image/jpeg",
"data": "$BASE64_IMAGE_DATA"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}
EOFcurl 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-opus-4-6",
"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": "Describe this image."
}
]
}
]
}'# まず、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 "[email protected]"
# 次に、返された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-opus-4-6",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'