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}'
{
"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"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
seedance-2-5
Seedance 2.5 動画生成
seedance-2-5 モデルで動画を生成する
POST
/
v1
/
videos
/
generations
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}'
{
"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"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}
中国本土のユーザー向け: 中国本土のユーザーは
https://toapis.cn を API エンドポイント(Base URL)としてご利用ください。本ドキュメント内の例では https://toapis.com を https://toapis.cn に置き換えてください。seedance-2-5、Volcengine の上流モデル ID は doubao-seedance-2-5-260628 です。
- テキストからの動画生成、先頭フレーム/先頭・末尾フレーム、動画編集、動画延長、マルチモーダル参照に対応します。
- 画像・動画・音声参照と音声のみの参照に対応します。
- 非同期タスクです。送信後に
generation.taskが返り、完成動画はタスク状態 API から取得します。
Authorizations
string
必須
すべてのリクエストで Bearer Token を使用します。API Key 管理 からキーを取得し、
Authorization: Bearer YOUR_API_KEY を設定してください。Body
string
デフォルト:"seedance-2-5"
必須
ToAPIs の公開モデル名。
seedance-2-5 を使用します。string
シーン、カメラワーク、被写体の動き、スタイル、音声の雰囲気を説明します。参照素材は「画像1」「動画1」「音声1」のように指定します。
string
デフォルト:"generate"
動画操作:
generate、edit、extend。編集と延長には video_with_roles が少なくとも 1 件必要で、編集は duration=-1、延長は 4–30 または -1 を使用します。3 つの操作は同じエンドポイントを使用します。string
注文番号や内部ジョブ ID。
GET /v1/videos/generations/{client_business_id} で後から検索できます。integer
出力動画の長さ(秒)。範囲は
4–30、-1 はモデルが自動で選択します。編集は -1 のみで、出力長は入力動画とほぼ同じになります。延長は 4–30 または -1 を使用し、延長後の出力全体の長さを指定します。string
21:9、16:9、4:3、1:1、3:4、9:16、adaptive。編集・延長・先頭/末尾フレームでは上流仕様に従い adaptive を使用します。string[]
互換用の画像 URL 配列。新規連携では用途を明示できる
image_with_roles を推奨します。両方は同時に送信できません。array
url と role を持つ画像配列。role は first_frame、last_frame、reference_image。最大 30 枚で、フレームモードと参照画像モードは併用できません。array
参照動画配列。role は
reference_video、最大 10 本です。array
参照音声配列。role は
reference_audio、最大 10 個です。音声のみの参照にも対応します。string
解像度:
480p、720p、または 1080p。string
デフォルト:"mp4"
mp4 と mov に対応します。boolean
デフォルト:true
同期音声を生成するかどうか。
boolean
デフォルト:false
完了結果に最後のフレーム画像を含めるかどうか。
array
使用できるツールは
[{ "type": "web_search" }]。テキストのみの動画生成で利用でき、メディア入力とは併用できません。string
ToAPIs タスク完了コールバック。タスク Webhook を参照してください。
string
呼び出し側のトレース ID。
boolean
デフォルト:false
true にすると NSFW コンテンツの生成を禁止します。参照素材の制限
合計 50 個まで(画像 30、動画 10、音声 10)です。明示的な role を使ってください。不正な組み合わせは失敗します。編集と延長では上流のタスク種別を明示するため、制限に合わない場合は送信時に即座にエラーが返ります。それ以外は素材とプロンプトからタスク種別を判断し、制限に合わない場合は非同期で
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 を返します.
完了結果は動画タスクの照会で取得します. 元の URL の配信が有効な場合は
result.data[].url を優先し, アクセスできない場合のみ任意の fallback_url を使用します. 最終フレームは last_frame_url と fallback_last_frame_url に対応します. 代替フィールドはコピーが利用可能な場合のみ返されます.Response
string
状態取得に使うタスク ID。
string
リクエストに指定した場合に返されます。
string
generation.task 固定。string
使用したモデル名。
string
queued、in_progress、completed、failed。integer
0–100 の進捗率。integer
作成時刻の Unix タイムスタンプ。
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}'
{
"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"}]
}
{"id":"tsk_vid_xxx","object":"generation.task","model":"seedance-2-5","status":"in_progress","progress":10,"created_at":1781577600}