Seedance 2.0 Fast
Seedance 2.0 Fast API リファレンス。動画生成、フレームと参照素材、リクエスト例、状態確認、ダウンロード、料金を解説します。
Seedance 2.0 Fast は、テキスト、開始・終了フレーム、画像・動画・音声の参照素材に対応し、480p、720p で出力します。1 回で最長 15 秒の動画を生成できます。モデルの詳細と Playground。
Wan API に接続する
API のベース URL は https://api.wanapi.app です。API キー設定で Seedance モデルファミリーを指定したキーを作り、Authorization: Bearer YOUR_API_KEY として送信します。キーはサーバーで保管してください。Playground はウェブサイトのセッションを使い、同じアカウント残高から課金します。ブラウザーにキーを貼り付ける必要はありません。
利用には、有効なアカウントと十分な残高が必要です。GET /v1/models で、そのキーから利用できるモデルを確認できます。Seedance モデルには POST /v1/videos を使い、JSON 本文でモデルを選びます。
| 設定 | Seedance 2.0 Fast |
|---|---|
| モデル ID | bytedance/seedance-2.0-fast |
resolution | 480p、720p。既定:720p。 |
duration | 出力は 4~15 秒。-1 は自動。既定:5。 |
aspectRatio | adaptive、16:9、4:3、1:1、3:4、9:16、21:9。既定:adaptive。 |
generateAudio | 既定は true。false にしてもトークン単価は下がりません。 |
| 出力 | 1 リクエストにつき 24 fps の動画 1 本。 |
リクエストフィールドで、トップレベルの全 13 フィールドを説明します。aspectRatio、generateAudio を含め、記載どおりのフィールド名を使ってください。
Seedance 2.0 Fast のタスクを送信する
次は、720p・4 秒のテキストから動画を生成するリクエストです。サーバー側で WAN_API_KEY に Seedance キーを設定してください。一度だけ送信し、返された id を保存します。
curl https://api.wanapi.app/v1/videos \
-H "Authorization: Bearer $WAN_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "bytedance/seedance-2.0-fast",
"prompt": "A paper boat floats through a sunlit stream. Slow tracking shot.",
"resolution": "720p",
"aspectRatio": "16:9",
"duration": 4,
"generateAudio": true
}'Seedance 2.0 Fast のタスクを照会する
返された id を TASK_ID として保存し、同じキーで照会します。送信時にはタスクの受付情報が返り、動画は完了後に取得できます。まず 5 秒間隔で状態を確認してください。タスクの状態確認とダウンロードも参照できます。
curl "https://api.wanapi.app/v1/videos/$TASK_ID" \
-H "Authorization: Bearer $WAN_API_KEY"Seedance 2.0 Fast の料金
単価は動画トークン 100 万あたりの USD です。入力と出力の動画トークンで最終費用が決まります。解像度、動画の長さ、参照動画の入力が使用量に影響するため、参照動画の有無に対応する単価を使ってください。音声に別の料金区分はありません。
| 解像度 | 参照動画 | 公式定価 | Wan API の料金 | 割引率 |
|---|---|---|---|---|
| 480p | 動画なし | $0.0562 | 取得できません | — |
| 480p | 動画あり | $0.0331 | 取得できません | — |
| 720p | 動画なし | $0.121 | 取得できません | — |
| 720p | 動画あり | $0.0713 | 取得できません | — |
見積もりは 16:9、24 fps の出力を基準にしています。アスペクト比や実際の出力サイズによって費用が変わる場合があります。
参照動画がない場合は、出力秒数のみを計算します。参照動画がある場合は、入力秒数と出力秒数の両方を計算します。課金対象の入力時間には、出力時間の 3 分の 2 を 1 秒単位で切り上げた秒数が最低限適用されます。
公式料金との比較: BytePlus 国際版のオンデマンド料金. 2026-10-15 に確認。Wan API の料金は自動更新されます。
最終費用は入力・出力の動画トークン数で決まります。失敗したリクエストには課金されません。
Seedance 2.0 Fast の料金と見積もりを見る。送信前に Playground の見積もりを確認してください。
リクエストフィールド
JSON オブジェクトを送信します。model と、空でないプロンプトまたは少なくとも一つのメディア入力が必要です。その他のフィールドは任意です。不明なフィールドは拒否されます。
| フィールド | 型 | 仕様 |
|---|---|---|
model | string | 必須:bytedance/seedance-2.0-fast。 |
prompt | string | テキストの指示。このサービスでは最大 20,000 文字。プロンプトまたはメディア入力が必要です。 |
image | URL または URL オブジェクト | 開始フレームの画像 URL、または type: "url"、url、任意の mediaType を持つオブジェクト。image と frameImages はどちらか一方を使います。 |
frameImages | array | 一つの first_frame と、任意の last_frame。各要素は frameType と image を持ちます。後述のフレーム例を参照してください。 |
inputReferences | array | 画像は最大 9 枚、動画は最大 3 本。各要素は type: "url"、url、mediaType を持ちます。data/mediaType の URL 形式も受け付けます。 |
aspectRatio | string | adaptive(既定)、16:9、4:3、1:1、3:4、9:16、21:9。 |
resolution | string | 480p、720p。既定:720p。解像度の区分として 854x480、1280x720 も受け付けます。形状は aspectRatio で選びます。 |
duration | integer | 出力は 4~15 秒。-1 は自動。既定:5。 |
fps | integer | 24 固定。省略するか 24 を送信します。 |
seed | integer | 任意。-1~2147483647。再現性の保証はありません。providerOptions.bytedance.seed と同時に指定しないでください。 |
generateAudio | boolean | 音声を生成します。既定:true。無効にしてもトークン単価は変わりません。 |
n | integer | 1 固定。1 リクエストにつき動画 1 本。 |
providerOptions | object | 任意の bytedance オブジェクト:referenceAudio(最大 3 件の HTTP(S) URL)、seed(トップレベルの seed と同じ範囲)。draft: true は非対応です。不明なオプションは拒否されます。 |
入力の組み合わせとメディアの上限
-
開始フレームには
image、開始フレームと任意の終了フレームにはframeImagesを使います。終了フレームのみの指定や、フレーム種類の重複は拒否されます。 -
フレームは
inputReferencesやproviderOptions.bytedance.referenceAudioと併用できません。 -
参照モードの上限は画像 9 枚、動画 3 本、音声 3 本で、合計 15 件までです。
-
メディア入力は公開 HTTP(S) URL にする必要があります。バイトデータのアップロードや、認証情報を含む URL は受け付けません。
-
画像:JPEG、PNG、WebP、BMP、TIFF、GIF。30 MB 未満、各辺 300~6000 ピクセル、縦横比 0.4~2.5。
-
動画:MP4 または MOV。1 ファイル 50 MB 以下、各動画 2~15 秒、合計 15 秒以内。各辺 300~6000 ピクセル、縦横比 0.4~2.5、24~60 fps。
-
音声:MP3 または WAV。1 ファイル 15 MB 以下、各音声 2~15 秒、合計 15 秒以内。参照画像または参照動画が少なくとも一つ必要です。
-
外部メディアのサイズ、エンコード、長さは処理中に確認します。URL の検証だけではファイルが使えるとは保証できません。
-
このエンドポイントでは、過去のタスクのドラフトから最終出力へのレンダリングや、任意のネイティブタスクオプションは提供していません。
フレームと参照素材の例
次の本文は同じ POST /v1/videos エンドポイントに送信します。送信前にすべての example.com URL を、自分の直接アクセスできるメディア URL に置き換えてください。入力 URL はタスクが完了するまで利用可能にしておきます。
開始・終了フレーム
開始フレームだけなら image: "https://example.com/first-frame.jpg" を使い、frameImages は省略します。動画の両端を指定する場合は次の形式です。
{
"model": "bytedance/seedance-2.0-fast",
"prompt": "The camera slowly moves from the opening scene to the closing scene.",
"frameImages": [
{
"frameType": "first_frame",
"image": "https://example.com/first-frame.jpg"
},
{
"frameType": "last_frame",
"image": "https://example.com/last-frame.jpg"
}
],
"aspectRatio": "adaptive",
"resolution": "720p",
"duration": 4
}画像・動画・音声の参照素材
画像と動画の入力は、MIME タイプを明示して inputReferences に入れます。音声 URL は providerOptions.bytedance.referenceAudio に入れます。このリクエストにフレーム入力を追加しないでください。
{
"model": "bytedance/seedance-2.0-fast",
"prompt": "Use the character from the image and the camera movement from the video.",
"inputReferences": [
{
"type": "url",
"url": "https://example.com/character.jpg",
"mediaType": "image/jpeg"
},
{
"type": "url",
"url": "https://example.com/motion.mp4",
"mediaType": "video/mp4"
}
],
"providerOptions": {
"bytedance": {
"referenceAudio": [
"https://example.com/sound.wav"
]
}
},
"resolution": "720p",
"duration": 4
}動画の状態確認とダウンロード
受け付けたタスクは次のようなオブジェクトを返します。ID とタイムスタンプは説明用の例です。
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0-fast",
"status": "queued",
"progress": 0,
"created_at": 1792022400
}API キーを使い、GET /v1/videos/{task_id} で状態を確認します。同じ公開タスク ID とモデルが返されます。確認を終えるタイミングは status で判断してください。progress は残り時間の見積もりではありません。
| 状態 | 意味 | 次の操作 |
|---|---|---|
queued | タスクを受け付けました。 | 状態確認を続けます。 |
in_progress | 生成中です。 | 状態確認を続けます。 |
completed | 動画が完成しました。 | videos[0].url を読み、ダウンロードします。 |
failed | 生成に失敗しました。 | 状態確認を終了し、error を確認します。 |
完了したタスクの照会結果には、url と mediaType を持つオブジェクトの配列 videos が含まれます。タイムスタンプは Unix 秒です。完了が記録されると completed_at が現れます。
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0-fast",
"status": "completed",
"progress": 100,
"created_at": 1792022400,
"completed_at": 1792022460,
"videos": [
{
"url": "/v1/tasks/task_EXAMPLE/artifacts/video/content",
"mediaType": "video/mp4"
}
]
}返された URL が相対パスの場合は、https://api.wanapi.app を基準に解決し、API キーで認証します。上の例では次のようになります。
curl "https://api.wanapi.app/v1/tasks/$TASK_ID/artifacts/video/content" \
-H "Authorization: Bearer $WAN_API_KEY" \
-o video.mp4署名付き HTTPS メディア URL が返された場合は、そのホストに API キーを送らず、URL を直接使います。結果 URL は期限切れになる場合があります。残したい動画は自分のストレージに保存してください。既存の結果の状態確認やダウンロードで、新しい生成が行われることはありません。
失敗したタスクには code と message を持つ error オブジェクトが含まれます。次はその例です。
{
"id": "task_EXAMPLE",
"object": "video",
"model": "bytedance/seedance-2.0-fast",
"status": "failed",
"error": {
"code": "generation_failed",
"message": "Video generation failed"
}
}課金と失敗時の対応
最終料金は、実際の動画トークン使用量と現在のモデル単価に基づきます。Playground の見積もりは最大額の見積もりで、確定金額ではありません。動画を長くしたり、出力解像度を上げたりすると、トークン使用量が増える場合があります。失敗したリクエストは課金されません。
- 無効なパラメーター: 再送信の前にフィールドや入力の組み合わせを修正します。URL の構文だけでなく、メディアの形式と上限も確認してください。
- 認証やモデルへのアクセス: 指定したモデルを利用できる有効な Seedance キーを使います。
- 残高不足: 新しい有料リクエストの前にチャージします。キーの上限設定でアカウント残高が増えることはありません。
- 一時的な状態確認の失敗: 待機時間を延ばし、最大待機時間を設けて GET を再試行します。照会の失敗は生成の失敗を意味しません。
- 送信のタイムアウトやタスク ID の欠落: 結果が不明な場合があります。別の有料タスクを作る可能性があるため、POST を自動で繰り返さないでください。
- ダウンロードの失敗: 新しく生成する前に、既存の結果の取得を再試行します。
タスク ID を保存し、結果不明の送信について調査が必要な場合はサポートにお問い合わせください。