> ## Documentation Index
> Fetch the complete documentation index at: https://docs.toapis.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Seedance 2.5 動画生成

> seedance-2-5 モデルで動画を生成する

> [!NOTE]
>
> **中国本土のユーザー向け：** 中国本土のユーザーは `https://toapis.cn` を API エンドポイント（Base URL）としてご利用ください。本ドキュメント内の例では `https://toapis.com` を `https://toapis.cn` に置き換えてください。

Seedance 2.5 の公開モデル名は `seedance-2-5`、Volcengine の上流モデル ID は `doubao-seedance-2-5-260628` です。

* テキストからの動画生成、先頭フレーム/先頭・末尾フレーム、動画編集、動画延長、マルチモーダル参照に対応します。
* 画像・動画・音声参照と音声のみの参照に対応します。
* 非同期タスクです。送信後に `generation.task` が返り、完成動画はタスク状態 API から取得します。

ドラフトモードでは、低コストの 480p プレビューを先に生成し、そのプレビューから 1080p の本番動画を生成できます。詳しくは[ドラフトモード](https://docs.toapis.com/docs/ja/api-reference/videos/seedance-2-5/draft.md)を参照してください。

## Authorizations

**Authorization** `string` *required*

すべてのリクエストで Bearer Token を使用します。[API Key 管理](https://toapis.com/console/token) からキーを取得し、`Authorization: Bearer YOUR_API_KEY` を設定してください。

## Body

**model** `string` *required* (default: seedance-2-5)

ToAPIs の公開モデル名。`seedance-2-5` を使用します。

**prompt** `string`

シーン、カメラワーク、被写体の動き、スタイル、音声の雰囲気を説明します。参照素材は「画像1」「動画1」「音声1」のように指定します。

**video\_operation** `string` (default: generate)

動画操作：`generate`、`edit`、`extend`。編集と延長には `video_with_roles` が少なくとも 1 件必要で、編集は `duration=-1`、延長は `4`–`30` または `-1` を使用します。3 つの操作は同じエンドポイントを使用します。

**client\_business\_id** `string`

注文番号や内部ジョブ ID。`GET /v1/videos/generations/{client_business_id}` で後から検索できます。

**duration** `integer`

出力動画の長さ（秒）。範囲は `4`–`30`、`-1` はモデルが自動で選択します。編集は `-1` のみで、出力長は入力動画とほぼ同じになります。延長は `4`–`30` または `-1` を使用し、延長後の出力全体の長さを指定します。

**aspect\_ratio** `string`

`21:9`、`16:9`、`4:3`、`1:1`、`3:4`、`9:16`、`adaptive`。編集・延長・先頭/末尾フレームでは上流仕様に従い `adaptive` を使用します。

**image\_urls** `string[]`

互換用の画像 URL 配列。新規連携では用途を明示できる `image_with_roles` を推奨します。両方は同時に送信できません。

**image\_with\_roles** `array`

`url` と `role` を持つ画像配列。role は `first_frame`、`last_frame`、`reference_image`。最大 30 枚で、フレームモードと参照画像モードは併用できません。

**video\_with\_roles** `array`

参照動画配列。role は `reference_video`、最大 10 本です。

**audio\_with\_roles** `array`

参照音声配列。role は `reference_audio`、最大 10 個です。音声のみの参照にも対応します。

**resolution** `string`

解像度：`480p`、`720p`、または `1080p`。

**output\_format** `string` (default: mp4)

`mp4` と `mov` に対応します。

**generate\_audio** `boolean` (default: true)

同期音声を生成するかどうか。

**return\_last\_frame** `boolean` (default: false)

完了結果に最後のフレーム画像を含めるかどうか。

**tools** `array`

使用できるツールは `[{ "type": "web_search" }]`。テキストのみの動画生成で利用でき、メディア入力とは併用できません。

**callback\_url** `string`

ToAPIs タスク完了コールバック。[タスク Webhook](https://docs.toapis.com/docs/ja/api-reference/webhooks/task-webhooks.md) を参照してください。

**trace\_id** `string`

呼び出し側のトレース ID。

**disable\_nsfw** `boolean` (default: false)

`true` にすると NSFW コンテンツの生成を禁止します。

## 参照素材の制限

合計 50 個まで（画像 30、動画 10、音声 10）です。明示的な role を使ってください。

> [!WARNING]
>
> 不正な組み合わせは失敗します。編集と延長では上流のタスク種別を明示するため、制限に合わない場合は送信時に即座にエラーが返ります。それ以外は素材とプロンプトからタスク種別を判断し、制限に合わない場合は非同期で `InvalidParameter.TaskTypeConstraint` が返ります。編集・延長・先頭/末尾フレームでは `aspect_ratio=adaptive` を指定してください。

## 素材審査

画像, 動画, 音声を含むリクエストでは, 一部のチャネルが生成の送信前に素材を自動で審査します. 追加のパラメーターは不要で, 従来のメディアフィールドに素材 URL を指定するだけです.

* 受理されたリクエストはすぐに動画タスクを返します. 審査が必要な場合, タスクは `queued` のままとなり, リクエスト内の全素材が通過してから生成を送信します. 初回の審査には数分かかることがあります. 同じユーザーが同じチャネルで同じ URL を再利用すると審査結果も再利用されます.
* 素材準備は 1 ラウンドあたり既定で最長 20 分です. 審査拒否または準備タイムアウトの場合, タスクは `failed` で終了し, 理由は `error.message` で確認できます. 審査を通過しなかった場合, 動画生成料金は発生しません.
* 素材は公開 HTTP(S) URL で指定してください. Base64 とローカルパスは使えません. 画像は 20 MB 以内 (一部のチャネルは最大 30 MB), 動画と音声は 100 MiB 以内です. 各モデル本来の形式制限は変わりません.
* 審査を行うチャネルは受理時に素材を検証します. URL に認証情報が含まれる, 2048 バイトを超える, 同じ URL を異なる種別で使う, 1 リクエストの素材参照が 64 個を超える場合は, HTTP 400 (`error.code` は `invalid_private_assets`) を返します.
* 素材は URL で識別されます. ファイル内容を変更した場合は新しい URL を使ってください.
* ドラフトからの本生成リクエスト (`draft_task_id`) は審査されません.
* 旧 `asset://` 参照は廃止され, HTTP 400 を返します.

> [!NOTE]
>
> 完了結果は[動画タスクの照会](https://docs.toapis.com/docs/ja/api-reference/tasks/video-status.md)で取得します. 元の URL の配信が有効な場合は `result.data[].url` を優先し, アクセスできない場合のみ任意の `fallback_url` を使用します. 最終フレームは `last_frame_url` と `fallback_last_frame_url` に対応します. 代替フィールドはコピーが利用可能な場合のみ返されます.

## Response

**id** `string`

状態取得に使うタスク ID。

**client\_business\_id** `string`

リクエストに指定した場合に返されます。

**object** `string`

`generation.task` 固定。

**model** `string`

使用したモデル名。

**status** `string`

`queued`、`in_progress`、`completed`、`failed`。

**progress** `integer`

`0`–`100` の進捗率。

**created\_at** `integer`

作成時刻の Unix タイムスタンプ。

```bash cURL theme={null}
curl --request POST \
  --url https://toapis.com/v1/videos/generations \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{"model":"seedance-2-5","prompt":"映画的な製品クローズアップ。","duration":10,"aspect_ratio":"16:9","resolution":"720p","generate_audio":true}'
```

```json 動画延長リクエスト theme={null}
{
  "model": "seedance-2-5",
  "prompt": "動画1を後方に延長し、カメラを押し込みながら窓の外の街並みを見せる。",
  "video_operation": "extend",
  "duration": 11,
  "aspect_ratio": "adaptive",
  "output_format": "mov",
  "video_with_roles": [{"url": "https://example.com/source.mov", "role": "reference_video"}]
}
```

```json 200 theme={null}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
```


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.