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


ビジョン機能の使用方法

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

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

アップロードする前に

画像サイズの評価

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

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

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

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

以下は、一般的なアスペクト比について、APIが受け付けるリサイズされない最大画像サイズの表です。Claude 3.5 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.5 Sonnetの100万入力トークンあたり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は画像がテキストの前にある場合に最も効果を発揮します。テキストの後や途中に配置された画像でも十分機能しますが、ユースケースで可能な場合は、画像→テキストの構造をお勧めします。

プロンプト例について

これらのプロンプト例では、Anthropic Python SDKを使用し、httpxライブラリを使用してWikipediaから画像を取得しています。任意の画像ソースを使用できます。

例のプロンプトでは、以下の変数を使用しています。

Python
import base64
import httpx

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")

APIリクエストで画像を利用する場合、imageコンテンツブロックでbase64エンコードされた画像としてClaudeに提供できます。以下は、Messages APIリクエストにbase64エンコードされた画像を含める方法を示すPythonの簡単な例です:

Python
import anthropic

client = anthropic.Anthropic()
message = client.messages.create(
    model="claude-3-5-sonnet-20241022",
    max_tokens=1024,
    messages=[
        {
            "role": "user",
            "content": [
                {
                    "type": "image",
                    "source": {
                        "type": "base64",
                        "media_type": image1_media_type,
                        "data": image1_data,
                    },
                },
                {
                    "type": "text",
                    "text": "この画像を説明してください。"
                }
            ],
        }
    ],
)
print(message)

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


制限事項

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

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

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


よくある質問


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

Claudeを使って画像の構築を始める準備はできましたか?以下は役立つリソースです:

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