# 動画理解

Source: https://aiand-docs-staging.pages.dev/ja/capabilities/video/

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

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

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

1. [Uploads API](/ja/api/uploads/) (最大 8 GiB のチャンクアップロード) に `purpose: "video"` でアップロード、または `purpose` を省略して MIME から推論。
2. 返却された `file-...` ID をチャットメッセージで参照:

```json
{
  "role": "user",
  "content": [
    { "type": "text", "text": "Summarize this clip." },
    { "type": "file", "file": { "file_id": "file-abc123" } }
  ]
}
```

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

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

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

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

URL は ai& から到達可能で、対応している `Content-Type` でバイト列を返す必要があります。また、[URL の要件](/ja/capabilities/vision/#url-の要件) (ポート 443 の `https`、公開ホスト名) を満たす必要があります。

## 上限

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

## Capability ゲート

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

<Aside type="tip">
  繰り返し参照する動画 (マルチターン会話、評価、バッチジョブ) は一度アップロードして `file_id` を使い回してください。すでに公開ホスティングされている動画への単発のプロンプトであれば、インライン `video_url` で十分です。
</Aside>
