OrcaRouter は Kling と同じ送信-ポーリングエンドポイントで Seedance
動画モデルを話します。model: byteplus/dreamina-seedance-2-0-260128
を送信し、OrcaRouter は上流の Ark /contents/generations/tasks API
にリクエストをルーティングし、完了したら同じタスク ID で OrcaRouter
からポーリングします (時間 / 解像度 / generate_audio によって通常
30 秒から 4 分)。
現在利用可能なモデル。 現時点で Seedance 2.0 のみがプロビジョン
されており、バックエンド名は byteplus/dreamina-seedance-2-0-260128
です。下の能力テーブルは参考のために Seedance ファミリーの残りを
リストしますが、プレイグラウンドでまだ選択可能でも OrcaRouter 経由で
ルーティング可能でもありません ——今のところすべてのリクエストには
byteplus/dreamina-seedance-2-0-260128 を使ってください。
送信エンドポイント POST /v1/video/generations と取得エンドポイント
GET /v1/video/generations/{task_id} は Kling
と共有されます。変わるのはリクエストボディ: Kling は
prompt + image + metadata.{mode, aspect_ratio, image_list, ...}、
Seedance は prompt + metadata.{content[], ratio, duration, generate_audio, watermark, ...}。model のプレフィックスが、どの
スキーマが尊重されるかを選択します。
モデル
| モデル | T2V | I2V (最初) | I2V (最初+最後) | マルチモーダル参照¹ | 動画編集² | 音声生成³ | 時間 | 利用可能 |
|---|
byteplus/dreamina-seedance-2-0-260128 (2.0) | ✓ | ✓ | ✓ | ✓ 完全 | ✓ | ✓ | 4 – 15 s | ✓ |
byteplus/seedance-2.0-fast | ✓ | ✓ | ✓ | ✓ 完全 | ✓ | ✓ | 4 – 15 s | 予定 |
byteplus/seedance-1-5-pro | ✓ | ✓ | ✓ | 画像のみ | | ✓ | 4 – 12 s | 予定 |
byteplus/seedance-1-0-pro | ✓ | ✓ | ✓ | 画像のみ | | | 2 – 12 s | 予定 |
byteplus/seedance-1-0-pro-fast | ✓ | ✓ | | 画像のみ | | | 2 – 12 s | 予定 |
byteplus/seedance-1-0-lite-i2v | | ✓ | ✓ | 画像のみ | | | 2 – 12 s | 予定 |
byteplus/seedance-1-0-lite-t2v | ✓ | | | 画像のみ | | | 2 – 12 s | 予定 |
¹ マルチモーダル参照 = metadata.content[] 配列は role マーカー
(reference_image / reference_video / reference_audio) 付きの
image_url / video_url / audio_url 項目を運べます。「完全」は
画像 + 動画 + 音声の任意の組み合わせが受け入れられることを意味します。
² 動画編集 = video_url コンテンツ項目を渡してソース動画にプロンプト
駆動の編集 (主体置換、領域インペインティング等) を適用。
³ ネイティブ音声 = 上流が動画に合うサウンドトラックを自動生成。
metadata.generate_audio: true で切り替え。
すべてのモデルの送信エンドポイントは同じ ——POST /v1/video/generations。
変わるのは上流が上の表ごとにどの metadata フィールドを尊重するか
です。各モデルの権威的な能力リストは上流の
Seedance 能力マトリクス
を参照してください。
タスクの送信
/v1/video/generations に model、prompt、および上流固有の
パラメータを metadata 配下で POST します:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "A girl holding a fox, the girl opens her eyes, looks gently at the camera, the fox hugs affectionately, the camera slowly pulls out, the girl'\''s hair is blown by the wind",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/foxgirl.png" } }
],
"ratio": "16:9",
"duration": 5,
"generate_audio": true,
"watermark": false
}
}'
レスポンスはタスク ID を含みます (Kling と同じエンベロープ ——
OrcaRouter がプロバイダ間で正規化):
{
"id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"object": "video",
"model": "byteplus/dreamina-seedance-2-0-260128",
"status": "queued",
"progress": 0,
"created_at": 1777975188
}
OrcaRouter は prompt を Seedance の content[] 配列内のテキスト
項目として自動的にラップします ——自分で {type: "text"} 項目を渡す
必要はありません。metadata.content[] に渡したテキスト項目は
トップレベルの prompt で置き換えられます。他のコンテンツ項目
(image_url、video_url、audio_url) は変更なしでパススルー
されます。
ボディフィールド
これらのフィールドは metadata 内に配置されます。下のバリアント
テーブルに従って配置してください。
| フィールド | 型 | 注記 |
|---|
content | array | マルチモーダル参照項目。各項目: {type, image_url? | video_url? | audio_url?, role?}。純粋なテキスト-to-動画ならスキップ。 |
ratio | string | アスペクト比。16:9 / 9:16 / 1:1 / 4:3 / 3:4 / 21:9 / adaptive。adaptive は入力から推測。 |
duration | integer | 秒数。許容範囲はモデルによる ——上記の表を参照。 |
resolution | string | 480p / 720p / 1080p。既定 720p。1080p は seedance-2.0 / seedance-2.0-fast / seedance-1-5-pro / seedance-1-0-pro / seedance-1-0-pro-fast のみ。 |
generate_audio | boolean | 同期したサウンドトラックを自動生成。既定 false。seedance-2.0 / 2.0-fast / 1-5-pro のみ。 |
watermark | boolean | 上流のウォーターマークを刻印。既定は上流で定義。 |
seed | integer | 再現性のためのランダムシード。 |
service_tier | string | default (オンライン) または flex (オフライン / より低い優先度、より高い配額)。既定は default。 |
return_last_frame | boolean | 最終フレームを MP4 と一緒に画像として返す。既定 false。 |
callback_url | string | Webhook URL —— ポーリングの代わりに (またはと一緒に) ステータス変更を受信。 |
content[] 項目の形
metadata.content 内の各項目は 4 つの形のいずれか:
{ "type": "image_url", "image_url": { "url": "https://..." }, "role": "first_frame" }
{ "type": "video_url", "video_url": { "url": "https://..." }, "role": "reference_video" }
{ "type": "audio_url", "audio_url": { "url": "https://..." }, "role": "reference_audio" }
{ "type": "text", "text": "..." } // トップレベルプロンプトで自動的に置き換え
role 値:
role | 目的 |
|---|
first_frame | この画像を生成動画の最初のフレームとしてアンカーする。 |
end_frame | この画像を最後のフレームとしてアンカー (最初+最後のフレーム i2v では first_frame と一緒に使用)。 |
reference_image | スタイル / 主体参照 (マルチモーダル参照バリアント; 複数渡せる)。 |
reference_video | スタイル / 動作参照、または編集 / 拡張用のソース動画。 |
reference_audio | バックグラウンド音楽または音声参照 (音声-動画生成)。 |
プロンプト内の参照項目は [Image 1]、[Video 1]、[Audio 1] 構文
で参照します。インデックスは配列順 (1 ベース、タイプごとのスコープ)
に一致します。
結果のポーリング
送信時に返されたタスク ID を使います:
curl https://api.orcarouter.ai/v1/video/generations/task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw \
-H "Authorization: Bearer sk-orca-..."
レスポンス形式はラップされています (Kling と同一):
{
"code": "success",
"message": "",
"data": {
"task_id": "task_9q9oz6tjtgABYWC1QIqoz3sscgVz7ycw",
"status": "SUCCESS",
"progress": "100%",
"result_url": "https://ark-content-generation-ap-southeast-1.tos-ap-southeast-1.volces.com/.../video.mp4",
"submit_time": 1777975188,
"start_time": 1777975241,
"finish_time": 1777975277,
"fail_reason": ""
}
}
ステータス値はプロバイダ間で大文字に正規化されます:
| ステータス | 上流 Seedance ステータス | 意味 |
|---|
NOT_START | (一時的) | タスク行は作成済みでまだディスパッチされていない |
SUBMITTED | queued | 上流に送信済み、キューで待機中 |
IN_PROGRESS | running | 上流がレンダリング中 |
SUCCESS | succeeded | 完了。data.result_url が MP4 を運ぶ |
FAILURE | failed | 失敗。data.fail_reason に理由 |
進捗はパーセント文字列 ("50%"、"100%") で、整数ではありません。
5 - 10 秒ごとにポーリングしてください。720p 5 秒クリップは通常 30 - 60
秒で完了; 1080p に音声、15 秒 / マルチモーダル参照クリップは 3 - 5
分かかる可能性があります。
result_url は短い TTL の上流署名済み TOS URL —— 長期保持が必要なら
速やかにダウンロードまたは再ホストしてください。
エンドポイントバリアント
すべてのバリアントが POST /v1/video/generations を共有します。
上流が提供する Seedance 機能パスは、URL ではなく metadata.content[]
項目と role マーカーによって決定されます。
テキスト-to-動画
model + prompt + オプションメタデータのみ。コンテンツ項目なしは
純粋なテキスト-to-動画を意味します:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Photorealistic style: under a clear blue sky, a vast expanse of white daisy fields stretches out. The camera gradually zooms in on a single daisy with glistening dewdrops on its petals.",
"metadata": {
"ratio": "16:9",
"duration": 5,
"watermark": true
}
}'
画像-to-動画 —— 最初のフレーム
role: "first_frame" の画像項目を 1 つ渡します:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "the cat starts dancing energetically",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/cat.png" }, "role": "first_frame" }
],
"ratio": "adaptive",
"duration": 5,
"generate_audio": true
}
}'
画像-to-動画 —— 最初と最後のフレーム
first_frame と end_frame 用に画像項目を 2 つ:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Create a 360-degree orbiting camera shot from start to end frame.",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/start.jpg" }, "role": "first_frame" },
{ "type": "image_url", "image_url": { "url": "https://example.com/end.jpg" }, "role": "end_frame" }
],
"ratio": "16:9",
"duration": 6
}
}'
マルチモーダル参照 —— 画像 + 動画 + 音声
reference_image / reference_video / reference_audio 項目を
組み合わせます。プロンプトでは [Image N] / [Video N] /
[Audio N] インデックス (1 ベース、タイプ別) で参照します:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Use the first-person POV framing from [Video 1] throughout, and use [Audio 1] as the background music. First-person POV fruit tea promotional ad: [Image 1] hands pick a dew-covered apple; [Image 2] holds the finished drink up to the camera.",
"metadata": {
"content": [
{ "type": "image_url", "image_url": { "url": "https://example.com/tea_pic1.jpg" }, "role": "reference_image" },
{ "type": "image_url", "image_url": { "url": "https://example.com/tea_pic2.jpg" }, "role": "reference_image" },
{ "type": "video_url", "video_url": { "url": "https://example.com/tea_video1.mp4" }, "role": "reference_video" },
{ "type": "audio_url", "audio_url": { "url": "https://example.com/tea_audio1.mp3" }, "role": "reference_audio" }
],
"ratio": "16:9",
"duration": 11,
"generate_audio": true,
"watermark": false
}
}'
seedance-2.0 と seedance-2.0-fast でのみ利用可能 (完全な画像 +
動画 + 音声の組み合わせ); seedance-1-5-pro と seedance-1-0-* は
reference_image 項目のみを受け付けます。
動画編集 / 拡張
{type: "video_url", role: "reference_video"} を渡し、プロンプトで
それを変更または拡張するよう求めます:
curl https://api.orcarouter.ai/v1/video/generations \
-H "Authorization: Bearer sk-orca-..." \
-H "Content-Type: application/json" \
-d '{
"model": "byteplus/dreamina-seedance-2-0-260128",
"prompt": "Change all the fruits in [Video 1] into fresh fruits.",
"metadata": {
"content": [
{ "type": "video_url", "video_url": { "url": "https://example.com/source.mp4" }, "role": "reference_video" }
],
"ratio": "adaptive",
"duration": 6
}
}'
seedance-2.0 と seedance-2.0-fast でのみ利用可能。
Webhooks
metadata.callback_url: "https://your.domain/webhook" を渡すと、
タスクが SUCCESS または FAILURE に遷移したとき POST を受信
します。ペイロードはポーリングレスポンスをミラーします。ポーリング
とコールバックの両方を設定すると、両方を取得します ——それらは独立
しています。
OrcaRouter は上流のタスク別トークン課金をマークアップなしでパス
スルーします。最終コストは ByteDance Ark の公表料金表と一致します
(タスク結果からの上流 completion_tokens / total_tokens は、
Channel Margin 設定で設定されたモデルのトークン単価で配額に変換
されます)。
送信時には小さな事前消費の保留が予約されます; 差額は成功時に決済
されます。運用 / 課金と使用量 を
参照。
関連項目