ビジョン
ビジョン対応モデルはテキストと一緒に画像入力を受け付けます。ai& は 3 種類の入力方式に対応しているため、用途に合わせて選択してください。
画像を渡す 3 つの方法
Section titled “画像を渡す 3 つの方法”{ "role": "user", "content": [ { "type": "text", "text": "What's in this image?" }, { "type": "image_url", "image_url": { "url": "https://example.com/cat.png" } } ]}{ "role": "user", "content": [ { "type": "text", "text": "What's in this image?" }, { "type": "image_url", "image_url": { "url": "data:image/png;base64,iVBORw0KG..." } } ]}{ "role": "user", "content": [ { "type": "text", "text": "What's in this image?" }, { "type": "file", "file": { "file_id": "file-abc123" } } ]}URL の要件
Section titled “URL の要件”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 である必要があります。
file_id 方式の仕組み
Section titled “file_id 方式の仕組み”{type: "file", file: {file_id}} を送ると、アップロード済みのバイト列がモデルに渡されます — 公開ホスティングは不要です。クライアント側のワイヤーフォーマットはどの方式でも変わりません。
画像は Files から purpose: "vision" でアップロード、または purpose を省略すると MIME から推論されます。
対応 MIME: image/png、image/jpeg、image/webp、image/gif。最大サイズ: 100 MiB。
Capability ゲート
Section titled “Capability ゲート”ビジョンリクエストは、対象モデルが vision capability を持たない場合は拒否されます — インラインの image_url パートでも、purpose がビジョンに対応する file_id 参照でも同様です。モデルと capability の一覧は Models を参照。