コンテンツにスキップ

ビジョン

ビジョン対応モデルはテキストと一緒に画像入力を受け付けます。ai& は 3 種類の入力方式に対応しているため、用途に合わせて選択してください。

{
"role": "user",
"content": [
{ "type": "text", "text": "What's in this image?" },
{ "type": "image_url", "image_url": { "url": "https://example.com/cat.png" } }
]
}

ai& はリクエストがモデルに届く前にメディア URL を検査します。対象は image_url、video_url、audio_url パート、Responses の input_image の image_url、チャットの file パートと Responses の input_file の file_url、type: "url" の Anthropic ソース、Responses の MCP ツールの server_url です。URL は次の条件をすべて満たす場合のみ受け付けられます:

  • 絶対 URL で、スキームが https であること。http などほかのスキームは拒否されます。
  • デフォルトのポート 443 を使うこと。
  • ユーザー名やパスワードを含まないこと。
  • IP アドレスではなくホスト名を指定すること。IPv4 と IPv6 のどの表記も対象です。
  • .com や .jp などの公開トップレベルドメインで終わること。localhost、ドットを含まない単一ラベルの名前、.local や .internal 配下の名前は拒否されます。

data: URL や file_id で送るメディアは検査の対象外です。

条件を満たさない URL には、type: "invalid_request_error"、code: "invalid_media_url" の 400 が返ります。param には該当フィールドが入ります (例: messages.0.content.1.image_url.url)。/v1/messages では Anthropic のエンベロープ で返ります。リクエストはモデルに届かず、課金もされません。

メディア URL の場合は、ファイルを公開 https URL でホストするか、Files API でアップロードして file_id を渡すか、base64 の data: URL としてインラインで送信してください。MCP の server_url は、それ自体が公開 https URL である必要があります。

{type: "file", file: {file_id}} を送ると、アップロード済みのバイト列がモデルに渡されます — 公開ホスティングは不要です。クライアント側のワイヤーフォーマットはどの方式でも変わりません。

画像は Files から purpose: "vision" でアップロード、または purpose を省略すると MIME から推論されます。

対応 MIME: image/png、image/jpeg、image/webp、image/gif。最大サイズ: 100 MiB。

ビジョンリクエストは、対象モデルが vision capability を持たない場合は拒否されます — インラインの image_url パートでも、purpose がビジョンに対応する file_id 参照でも同様です。モデルと capability の一覧は Models を参照。