このガイドでは、Claudeで画像を操作する方法について説明します。ベストプラクティス、コード例、および留意すべき制限事項が含まれています。
Claudeのビジョン機能は以下の方法で使用できます:
1つのリクエストに複数の画像を含めることができます(claude.aiでは最大20枚、APIリクエストでは最大100枚)。Claudeは応答を作成する際に提供されたすべての画像を分析します。これは画像を比較または対比するのに役立つ場合があります。
8000x8000 pxより大きい画像を送信すると、拒否されます。1つのAPIリクエストで20枚以上の画像を送信する場合、この制限は2000x2000 pxです。
APIは1リクエストあたり100枚の画像をサポートしていますが、標準エンドポイントには32MBのリクエストサイズ制限があります。
最適なパフォーマンスのために、アップロード前に画像が大きすぎる場合はサイズを変更することをお勧めします。画像の長辺が1568ピクセルを超える場合、または画像が約1,600トークンを超える場合、最初にアスペクト比を保持しながらスケールダウンされ、サイズ制限内に収まるようになります。
入力画像が大きすぎてサイズを変更する必要がある場合、モデルのパフォーマンスが向上することなく、time-to-first-tokenのレイテンシが増加します。200ピクセル未満の非常に小さい画像は、パフォーマンスを低下させる可能性があります。
time-to-first-tokenを改善するために、画像を最大1.15メガピクセル(両方の寸法で1568ピクセル以内)にサイズ変更することをお勧めします。
以下は、一般的なアスペクト比でサイズ変更されないAPIが受け入れる最大画像サイズの表です。Claude Sonnet 4.5では、これらの画像は約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
以下は、Claude Sonnet 4.5のトークンあたり$3(100万入力トークンあたり)の価格に基づいて、APIのサイズ制限内のさまざまな画像サイズの概算トークン化とコストの例です:
| 画像サイズ | トークン数 | 画像あたりのコスト | 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を使用してください:
詳細なコード例とパラメータについては、Messages APIの例を参照してください。
Claudeの画像理解機能は最先端ですが、認識すべき制限事項があります:
特に高リスクのユースケースでは、Claudeの画像解釈を常に慎重に確認および検証してください。完全な精度が必要なタスクや、人間の監視なしに機密の画像分析を使用しないでください。
Claudeを使用して画像で構築を開始する準備はできていますか?以下は役立つリソースです:
ご質問がある場合は、サポートチームにお気軽にお問い合わせください。また、開発者コミュニティに参加して、他のクリエイターと交流し、Anthropicの専門家からサポートを受けることもできます。
# 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 '{
"model": "claude-sonnet-4-5",
"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."
}
]
}
]
}'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-5",
"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-sonnet-4-5",
"max_tokens": 1024,
"messages": [
{
"role": "user",
"content": [
{
"type": "image",
"source": {
"type": "file",
"file_id": "file_abc123"
}
},
{
"type": "text",
"text": "Describe this image."
}
]
}
]
}'