Loading...
  • ビルド
  • 管理
  • モデルと料金
  • クライアントSDK
  • APIリファレンス
Search...
⌘K
Log in
画像とビジョン
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...
Loading...

Solutions

  • AI agents
  • Code modernization
  • Coding
  • Customer support
  • Education
  • Financial services
  • Government
  • Life sciences

Partners

  • Amazon Bedrock
  • Google Cloud's Vertex AI

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Company

  • Anthropic
  • Careers
  • Economic Futures
  • Research
  • News
  • Responsible Scaling Policy
  • Security and compliance
  • Transparency

Learn

  • Blog
  • Courses
  • Use cases
  • Connectors
  • Customer stories
  • Engineering at Anthropic
  • Events
  • Powered by Claude
  • Service partners
  • Startups program

Help and security

  • Availability
  • Status
  • Support
  • Discord

Terms and policies

  • Privacy policy
  • Responsible disclosure policy
  • Terms of service: Commercial
  • Terms of service: Consumer
  • Usage policy
ビルド/ファイルの操作

ビジョン

Claudeのビジョン機能により、画像を理解・分析することができ、マルチモーダルインタラクションの可能性を広げます。

Was this page helpful?

  • Base64エンコード画像の例
  • URLベースの画像の例
  • Files API 画像の例
  • FAQ

このガイドでは、Claudeで画像を操作する方法、ベストプラクティス、留意すべき制限事項について説明します。


ビジョンの使い方

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

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

アップロード前に

基本と制限

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画像カウントに達する前に失敗する可能性があります。アップロード前に画像の寸法またはファイルサイズを削減してください(例えば、ダウンサンプリングにより)(画像サイズの評価を参照)。

画像サイズの評価

レイテンシを最小化しながら出力品質を損なわないようにするには、アップロード前に大きすぎる画像をリサイズしてください。Claude Opus 4.6、Claude Sonnet 4.6、およびそれ以前のモデルでは、画像の長辺が1568ピクセルを超える場合、または画像が約1,600トークンを超える場合、最初にアスペクト比を保持しながらスケールダウンされ、サイズ制限内に収まります。

入力画像が大きすぎてリサイズが必要な場合、time-to-first-tokenのレイテンシが増加し、出力品質に利益がありません。いずれかのエッジで200ピクセル未満の非常に小さい画像は、出力品質を低下させる可能性があります。

Claude Opus 4.7より前のモデルの場合、time-to-first-tokenを改善するために、画像を最大1.15メガピクセル(および両方の寸法で1568ピクセル以内)にリサイズすることを検討してください。Claude Opus 4.7については、以下のClaude Opus 4.7での高解像度画像サポートを参照してください。

Claude Opus 4.7での高解像度画像サポート

Claude Opus 4.7は、高解像度画像サポートを備えた最初のClaudeモデルです。最大画像解像度は長辺で2576ピクセル(以前のモデルの1568 pxから増加)です。これにより、ビジョンヘビーなワークロードでのパフォーマンス向上がもたらされ、コンピュータ使用、スクリーンショット理解、ドキュメント分析に特に価値があります。

高解像度サポートはClaude Opus 4.7で自動であり、ベータヘッダーやクライアント側のオプトインは必要ありません。

トークンコスト: Claude Opus 4.7での全解像度画像は、以前のモデルよりも約3倍多くの画像トークンを使用できます(画像あたり最大4784トークン、以前の上限は約1,600トークン/画像)。追加の忠実度が必要ない場合は、トークンコストを制御するために送信前に画像をダウンサンプリングしてください。

座標計算: Claude Opus 4.7では、モデルが返すポインティングおよびバウンディングボックス座標は実際の画像ピクセルと1

、スケールファクター変換は必要ありません。これにより、コンピュータ使用、注釈付け、ローカライゼーションワークフローが簡素化されます。

以下は、一般的なアスペクト比についてリサイズされないAPIが受け入れる最大画像サイズの表です。Claude Sonnet 4.6では、これらの画像は約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 4.6のトークンあたりの価格$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を使用(1回アップロード、複数回使用)

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

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

Base64エンコード画像の例

URLベースの画像の例

Files API 画像の例

繰り返し使用する画像や、エンコーディングのオーバーヘッドを避けたい場合は、Files APIを使用してください。画像を一度アップロードしてから、その後のメッセージで base64 データを再度送信する代わりに、返された file_id を参照してください。

マルチターン会話とエージェントワークフローでは、各リクエストが完全な会話履歴を再送信します。画像が base64 エンコードされている場合、完全な画像バイトがすべてのターンでペイロードに含まれるため、会話が増えるにつれてリクエストサイズとレイテンシーが大幅に増加する可能性があります。画像を Files API にアップロードして file_id で参照することで、会話履歴に蓄積される画像の数に関係なく、リクエストペイロードを小さく保つことができます。

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


制限事項

Claude の画像理解機能は最先端ですが、認識すべき制限事項があります:

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

特に高リスクのユースケースでは、Claude の画像解釈を常に慎重に確認および検証してください。完全な精度が必要なタスクや人間の監視なしで機密の画像分析に Claude を使用しないでください。


FAQ


ビジョンについてさらに詳しく

Claude を使用して画像でビルドを開始する準備はできていますか?ここにいくつかの有用なリソースがあります:

  • マルチモーダルクックブック:このクックブックには、画像の開始方法とベストプラクティス技術に関するヒントがあり、画像での最高品質のパフォーマンスを確保します。チャートの解釈と分析やフォームからのコンテンツ抽出などのタスクを実行するために Claude を効果的にプロンプトする方法を確認してください。
  • API リファレンス:Messages API のドキュメント。画像を含む API 呼び出しの例を含みます。

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

import base64
import httpx

# base64エンコードされた画像の場合
image1_url = "https://upload.wikimedia.org/wikipedia/commons/a/a7/Camponotus_flavomarginatus_ant.jpg"
image1_media_type = "image/jpeg"
image1_data = base64.standard_b64encode(httpx.get(image1_url).content).decode("utf-8")

image2_url = "https://upload.wikimedia.org/wikipedia/commons/b/b5/Iridescent.green.sweat.bee1.jpg"
image2_media_type = "image/jpeg"
image2_data = base64.standard_b64encode(httpx.get(image2_url).content).decode("utf-8")

# URLベースの画像の場合、リクエストでURLを直接使用できます
image1_data = "iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAIAAACQd1PeAAAADElEQVR4nGP4z8AAAAMBAQDJ/pLvAAAAAElFTkSuQmCC"
image1_media_type = "image/png"

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)
print(message)
client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-opus-4-7",
    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."},
            ],
        }
    ],
)
print(message)
client = anthropic.Anthropic()

# 画像ファイルをアップロードします
with open("image.jpg", "rb") as f:
    file_upload = client.beta.files.upload(file=("image.jpg", f, "image/jpeg"))

# アップロードされたファイルをメッセージで使用します
message = client.beta.messages.create(
    model="claude-opus-4-7",
    max_tokens=1024,
    betas=["files-api-2025-04-14"],
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {"type": "file", "file_id": file_upload.id},
                },
                {"type": "text", "text": "Describe this image."},
            ],
        }
    ],
)

print(message.content)