コンテンツにスキップ

動画理解

動画対応モデルはテキストと一緒に動画クリップを受け付けます。動画は 2 通りの方法で渡せます: アップロードを file_id で参照するか、インライン URL を指定するかのいずれかです。

オプション 1: 先にアップロードして file_id で参照する (推奨)

Section titled “オプション 1: 先にアップロードして file_id で参照する (推奨)”

複数のリクエストで同じクリップを使う場合や、どこにも公開ホスティングしていないファイルを使う場合は、こちらを使ってください。

  1. Uploads API (最大 8 GiB のチャンクアップロード) に purpose: "video" でアップロード、または purpose を省略して MIME から推論。
  2. 返却された file-... ID をチャットメッセージで参照:
{
"role": "user",
"content": [
{ "type": "text", "text": "Summarize this clip." },
{ "type": "file", "file": { "file_id": "file-abc123" } }
]
}

推論時にストレージからバイト列が取得されるため、クライアント側で再アップロードは不要です。

オプション 2: インライン video_url

Section titled “オプション 2: インライン video_url”

動画がすでに公開 URL にある場合は、URL を直接参照できます:

{
"role": "user",
"content": [
{ "type": "text", "text": "Summarize this clip." },
{ "type": "video_url", "video_url": { "url": "https://example.com/clip.mp4" } }
]
}

URL は ai& から到達可能で、対応している Content-Type でバイト列を返す必要があります。

  • 対応 MIME: video/mp4、video/webm、video/quicktime。
  • アップロードファイル: チャンク Uploads API 経由で最大 8 GiB。シングルショットの /v1/files は 100 MiB が上限です。

どちらの方法でも、対象モデルが video capability を宣言している必要があります — そうでない場合は 400 invalid_request_error が返ります。モデルと capability の一覧は Models を参照。