# 指定した終了フレームへ動画を生成
> 終了画像を必須とし、必要に応じて開始画像も指定して動きを生成します。

終了画像を必須とし、必要に応じて開始画像も指定して動きを生成します。

## Agent の基本フロー

終了画像を必ず終点にしたい場合は `beatra.videos.interpolate` を使います。
開始も制御する必要がある場合だけ `first_frame` を追加します。

1. 終了フレーム、任意の開始フレーム、任意の駆動音声をアップロードします。
2. `capability: "frames_to_video"` で `beatra.models.list` を呼び、現在の
   メディア組み合わせ、長さ、解像度、音声対応、価格を確認します。
3. 終了フレームへ至る動きを記述し、開始フレームがある場合は端点間の遷移も記述します。
4. 一つの `client_request_id` で一度だけ送信し、`beatra.tasks.get` で確認します。

## AI ガイド

AI integration guide: https://docs.beatra.ai/llms/videos-frames-to-video.md

## ツール引数

```json
{
  "prompt": "商品が上昇し、二つの視点の間を滑らかに回転する",
  "first_frame": { "type": "artifact", "artifact_id": "artifact_start" },
  "last_frame": { "type": "artifact", "artifact_id": "artifact_end" },
  "driving_audio": { "type": "artifact", "artifact_id": "artifact_optional_audio" },
  "resolution": "720p",
  "duration": 6,
  "client_request_id": "vid-frames-opaque-1"
}
```

`last_frame` は必須です。`first_frame` と `driving_audio` は任意ですが、
選択モデルが対応している必要があります。比率規則はモデル探索結果を正とします。

## モデル、制御、コスト

共通コントロールは `prompt`、`negative_prompt`、`resolution`、
`duration`、`aspect_ratio`、`seed`、`enhance_prompt`、`watermark` です。
各項目は選択モデルのメタデータに従って使います。

静的なモデル表は使いません。`beatra.models.list` は選択可能なモデル、
フレーム/音声の組み合わせ、制約、既定値、無視されるフィールド、価格を
返します。解像度と長さを黙って変更してはいけません。

### MiniMax H3

MiniMax H3 では終了フレームのみ、または開始・終了の両方を指定できます。
終了フレームとプロンプトは必須、開始フレームは任意で、長さは 4〜15 秒です。
公開 `720p` の出力は 1 秒あたり 370 クレジット、`2k` は 590 クレジットで、H3 を
明示して解像度を省略した場合の既定は 720p です。H3 は `watermark` に対応しますが、
駆動音声やその他の任意制御には対応しません。指定した境界画像は無料です。

### Wan 3.0

`model: "wan3.0-video"` または `wan3.0-video-prime` で開始・終了フレームを指定します。
長さは 2〜30 秒。`driving_audio` は送らないでください。`480p` は出力 1 秒 225 / 335 クレジット（標準 / 上位）です。

## タスクの状態とリカバリー

`queued` と `running` の間は同じタスクを確認します。作成応答を失った場合は
同じ引数と `client_request_id` だけで再試行できます。どちらかのフレーム、
音声、プロンプト、出力設定を変える場合は新しい ID が必要です。

## REST で呼び出す

直接プロトコル統合では `POST /v1/videos/frames-to-video` を利用できます。
[API 操作](https://docs.beatra.ai/ja/docs/api-reference/operations/videos/videos_f2v_v1_videos_frames_to_video_post)
に従ってください。推奨の統合方法は Skill + MCP です。REST はカスタムアプリケーション向けです。
