Skip to main content
POST
Create a Seedance 2.0 video generation task
右側のプレイグラウンドを使用します。AuthorizationBearer sk-your-api-key を設定し(Token には SeeDance2 グループが必要です。2.5 と 2.0 ファミリーで共有されています)、modelcontent を入力して送信します。送信に成功するとタスク id が返されます。ポーリングとダウンロードのフローについては、以下のコードサンプルで説明しています。
プレイグラウンドで「レスポンスを受信できません」エラーが表示される場合について:これは非同期タスクのエンドポイントです。ブラウザで送信をクリックすると、このメッセージが表示されることがあります。ブラウザのクロスオリジン安全チェックによってレスポンスがブロックされていますが、タスクの送信自体は正常に完了しています(以下のクエリエンドポイントまたはコンソールログで確認できます)。プレイグラウンドで実行できるのはタスクの作成のみで、動画のポーリングやダウンロードには対応していません。作成 → ポーリング → ダウンロードの一連のフローを実行するには、以下のコードサンプル(cURL / Python / Node.js)をコピーして実行してください。
これは Seedance 2.0 のタスク作成エンドポイントです。テキストから動画、最初+最後/最初のフレーム、マルチモーダルな参照画像から動画への変換は、すべてこのエンドポイントを使用します。content 配列でモードを選択します。モデルの選択、料金、解像度/ピクセル表、よくある質問については、Seedance 2.0 概要を参照してください。
  • パスのプレフィックスは /seedance/api/v3 です。/api セグメントを削除しないでください。また、/v1/videos は使用しないでください
  • Token では SeeDance2 グループを有効にする必要があります。有効にしないと「このモデルで利用可能なチャネルがありません」というエラーが発生します。2.5 と 2.0 ファミリーはどちらも SeeDance2 を使用するため、1 つの Token で 4 つすべてのモデルにアクセスできます(minifast には、割引された SD2MiniSD2Fast もあります)
  • generate_audioデフォルトで true です(出力には音声が含まれます)。無音動画にするには false を明示的に渡してください
  • Python の requests では "Accept-Encoding": "identity" ヘッダーが必要です。これがないと、gzip のデコードエラー、JSON ではない不完全なレスポンスボディ(例:先頭の {" が失われ、id":"cgt-xxx"} だけが返される)、または断続的な 400 エラーが発生することがあります
  • 成功ステータスは succeeded です(completed ではありません)。動画 URL は content.video_url にあり、24 時間で期限切れになります

コード例

パラメータリファレンス

Seedance 2.5も2.0ファミリーもframesまたはcamera_fixedをサポートしていません — これらはSeedance 1.xのパラメータであり、無視または拒否されます。2.5固有のタスクタイプ制約 (違反すると課金されず、送信時にInvalidParameter.TaskTypeConstraintが返されます):

生成モード (コンテンツの組み合わせ)

3つの画像モードは相互排他的です。画像には公開URL、Base64 (data:image/png;base64,...)、アセットID (asset://...)を使用できます。実在する人間の顔を含む入力は拒否されます。アセット参照のエンドツーエンドコード (取り込み → asset:// → 生成 → ダウンロード) については、アセット参照ガイドを参照してください。 大きなメディアをインライン化するとタスク作成が遅くなります。 Base64ペイロードのアップロードや大きな画像URLの取得にかかる時間はすべて送信フェーズに含まれるため、create-task呼び出しが約1秒から数十秒に延びたり、クライアントの読み取りタイムアウトに達したりする可能性があります。リクエストに画像または動画を含める場合は、先にメディアを取り込み、asset://アセットIDとして参照してください。アセット先行ワークフローを参照してください。 参照上限は生成方式によって異なります: 2.5では画像30個 + 動画10本 + 音声クリップ10個を使用でき、音声のみを参照として指定することもできます。2.0ファミリーでは画像9個 + 動画3本 + 音声クリップ3個を使用でき、音声は少なくとも1個の画像または1本の動画と一緒に送信する必要があります。 編集と拡張はpromptの意図によってトリガーされますomni_reference_task_typeは検証を前倒しするだけです。prompt内では、渡した順序に従って位置でアセットを参照してください (@video1@image1)。編集にはadd / remove / change / replaceのような動詞が必要で、拡張にはextend / continueが必要です。モデルがpromptから推測したタスクタイプが、宣言した内容と矛盾する場合、タスクは非同期でInvalidParameter.TaskTypeMismatchにより失敗します。

レスポンス形式

作成時に返されるのはタスク ID のみです(動画ではありません)。
id を取得したら、タスクのステータスを確認するために GET /seedance/api/v3/contents/generations/tasks/{id} をポーリングします。

推奨ポーリング間隔

キュー待ち時間を含むエンドツーエンドの実測レイテンシーです。720p の 2.0 ファミリーでは、5 秒のクリップで約 90~140 秒、15 秒で 170 秒です。2.5 では、720p/5 秒で約 150 秒、720p/30 秒で 330 秒、1080p/5 秒で 150 秒です。解像度が高いほど、また動画の長さが長いほど時間がかかり、ピーク時間帯のキュー待ちによってさらに長くなります。以下のコードサンプルでは固定の 20 秒間隔を使用しています。これは十分な間隔であり、リクエスト数も予測しやすくなります。 成功したタスクは次のようになります(テストで使用した実際のサンプルです)。
  • 動画 URL はトップレベルではなく content.video_url にあります。これは 24 時間で期限切れになる署名付きリンクなので、すぐにダウンロードしてください
  • ステートマシン:queued → running → succeeded / failed / expired。成功状態は succeeded です
  • リンクのダウンロードには通常の GET を使用してください。署名付き URL に Authorization ヘッダーを送信しないでください
usage.completion_tokens は課金対象の token 数であり、tokens ≈ duration × width × height × 24 / 1024 に従います(テストでは誤差 0.1% 以内でした)。duration: -1 または ratio: adaptive を使用した場合、実際の長さと比率はレスポンスの duration / ratio フィールドで報告されます。

承認

Authorization
string
header
必須

API key from the APIYI console (SeeDance25 group for 2.5, SeeDance2 group for the 2.0 family)

ボディ

application/json
model
enum<string>
必須

Model ID (plain ID, no ep- prefix). 2.5 supports 1080p, 4-30 s, and up to 30 images + 10 videos + 10 audio clips as references; 2.0 standard supports 1080p; fast and mini cap at 720p, with mini at about half the standard price. No model supports 4k

利用可能なオプション:
doubao-seedance-2-5-260628,
doubao-seedance-2-0-260128,
doubao-seedance-2-0-fast-260128,
doubao-seedance-2-0-mini-260615
:

"doubao-seedance-2-5-260628"

content
object[]
必須

Input array. Text-to-video: a single text item. Image-to-video: add image_url items (role: first_frame / last_frame). Multi-modal reference-to-video: image_url items (role: reference_image) plus optional video_url / audio_url. Reference limits: 2.5 allows 30 images + 10 videos + 10 audio clips and audio may stand alone; the 2.0 family allows 9 images + 3 videos + 3 audio clips and needs at least 1 image or 1 video. The three image modes are mutually exclusive

resolution
enum<string>
デフォルト:720p

Resolution tier (defines pixel area — every ratio in a tier costs the same). 1080p is available on 2.5 and 2.0 standard only; fast and mini cap at 720p. No model supports 4k

利用可能なオプション:
480p,
720p,
1080p
ratio
enum<string>
デフォルト:adaptive

Aspect ratio. adaptive auto-fits the input (recommended for image-to-video to avoid cropping); the actual ratio is returned in the task's ratio field

利用可能なオプション:
16:9,
4:3,
1:1,
3:4,
9:16,
21:9,
adaptive
duration
integer
デフォルト:5

Video length in whole seconds: 4-30 on 2.5, 4-15 on the 2.0 family; or -1 to let the model choose (billed by actual output). Cost scales linearly with duration. Note the default is -1 on 2.5 and 5 on the 2.0 family

:

5

generate_audio
boolean
デフォルト:true

Generate synchronized audio (voice, SFX, background music; mono). Note it DEFAULTS TO TRUE — pass false explicitly for silent video

watermark
boolean
デフォルト:false

Add an AI-generated watermark in the bottom-right corner

seed
integer
デフォルト:-1

Random seed, [-1, 2^32-1]. The same seed produces similar (not identical) results; -1 means random

return_last_frame
boolean
デフォルト:false

Return the last frame as a watermark-free png (same dimensions as the video) — chain it as the first frame of the next task to produce continuous multi-clip videos

execution_expires_after
integer
デフォルト:172800

Task expiry threshold in seconds; tasks exceeding it are marked expired. Range [3600, 259200]

output_format
enum<string>
デフォルト:mp4

Output container, supported on doubao-seedance-2-5-260628 only. mov is a QuickTime container (H.264 + yuv444p + PCM) with better colour fidelity for post-production, but some players cannot open it

利用可能なオプション:
mp4,
mov
omni_reference_task_type
enum<string>
デフォルト:auto

Task type for omni-reference generation, supported on doubao-seedance-2-5-260628 only. Declaring edit or extend validates constraints up front: video editing requires ratio=adaptive and duration=-1, video extension requires ratio=adaptive; violations return InvalidParameter.TaskTypeConstraint at submission

利用可能なオプション:
auto,
edit,
extend

レスポンス

Task created. Returns the task ID for polling

Creation response. Poll GET /seedance/api/v3/contents/generations/tasks/{id}; on success the video URL is at content.video_url (expires in ~24 h) and billed tokens at usage.completion_tokens

id
string

Video generation task ID (kept for 7 days)

:

"cgt-20260606160057-6bbjd"