Seedance 2.0 API:料金、パラメータ、動作するコード
Seedance 2.0は、ByteDanceの音声付きマルチショット動画モデルです。このガイドでは、得意なこと、APIが受け付けるすべてのオプション、各解像度でのクリップの費用、ターミナルに貼り付けられるリクエストを解説します。
Seedance 2.0の得意分野
ByteDanceは、2026年2月にSeedance 2.0をリリースしました。映像とサウンドトラックを1回の処理で生成し、1つのクリップの中で複数のショットをカットでつなぎ、そのカットをまたいでキャラクターと映像スタイルを保てます。そのため、商品広告、ストーリーの見せ場、最初から音声が必要なSNS向けクリップなど、短い物語性のある動画の、有力な標準の選択肢です。
- マルチショットのクリップ。ショットを順番に説明すると、モデルは被写体の一貫性を保ちながら、それらの間をカットでつなぎます。
- 同じ処理で音声も生成。
audioをtrueに設定すると、環境音、効果音、セリフが映像と同時に生成されます。 - 画像による制御。最初のフレームから始めたり、最初と最後のフレームの両方を固定したり、キャラクター、商品、ルックのために最大9枚の参照画像を渡したりできます。
- 柔軟なフレーミング。SNS向けの縦型9:16から、シネマティックな21:9まで、6種類の固定アスペクト比と、入力画像に合わせる適応設定があります。
苦手な点:ほとんどの動画モデルと同様に、Seedance 2.0は画面上の正確な文字を安定して描画できないため、タイトル、価格、ロゴは、プロンプトではなく編集ソフトで追加してください。多くの人が同時に動く複雑なシーンは、現行の動画モデル全般にとって難しく、被写体を減らし、動作を明確にするほうが、安定した結果が得られます。
入力と制限
これらは、Seedance 2.0についてカタログに掲載されているオプションです。リクエスト形式はRevanaのほかのすべてのモデルと同じで、許可される値だけが異なります。
| オプション | Seedance 2.0 |
|---|---|
| モデルID | seedance-2.0 (軽量なティア:seedance-2.0-fast、seedance-2.0-mini) |
| タスク | テキストから動画、画像から動画、最初と最後のフレーム、参照画像 |
| 解像度 | 480p、720p、1080p、4K |
| 長さ | 4〜15秒 |
| アスペクト比 | 16:9、9:16、1:1、4:3、3:4、21:9、またはadaptive |
| 音声 | audio: true or false |
| 参照画像 | 最大9枚、次の形式で image_urls |
モデルが対応していないフィールドや値は、課金される前に 422 エラーで拒否されるため、リクエストの入力ミスで費用がかかることはありません。
Seedance 2.0の料金(2026年10月)
Seedance 2.0は、出力動画の1秒あたりで課金されます。以下の価格は、2026年10月時点のRevanaのカタログに基づき、480pで1秒あたり$0.08からです。
| 解像度 | 1秒あたり | 5秒のクリップ | 10秒のクリップ | 15秒のクリップ |
|---|---|---|---|---|
| 480p | $0.08 | $0.40 | $0.80 | $1.20 |
| 720p | $0.15 | $0.75 | $1.50 | $2.25 |
| 1080p | $0.40 | $2.00 | $4.00 | $6.00 |
| 4K | $0.83 | $4.15 | $8.30 | $12.45 |
Seedance 2.0には、音声の別料金はありません。掲載価格は、音声のオン・オフにかかわらず同じです。
RevanaのSeedance 2.0は、テキストと画像(最初のフレーム、最初と最後のフレーム、参照画像)を受け付けます。参照動画は受け付けないため、動画入力の別料金はありません。
ジョブを送信すると、その料金は残高から確保されます。課金されるのは、ジョブが成功したときだけで、失敗した場合は、確保が解除されます。正確な金額は、生成結果に cost_usd として含まれます。クレジットパックと完全な料金表は料金を、同じモデルについてByteDance、fal、EvoLink、Atlas Cloudがいくら課金しているかはSeedance 2.0の料金比較をご覧ください。
Seedance 2.0 FastとMini
同じファミリーには、同じタスク、アスペクト比、長さ、最大9枚の参照画像に対応する、2つの軽量なティアがありますが、720pまでです。ドラフトや大量生成に向いています。気に入ったプロンプトは、最終的な品質と高い解像度のために、Seedance 2.0で再実行してください。
| モデル | 480p / s | 720p / s | 720pで5秒 | ルート |
|---|---|---|---|---|
| Seedance 2.0 | $0.08 | $0.15 | $0.75 | 3ルート |
| Seedance 2.0 Fast | $0.05 | $0.11 | $0.55 | 3ルート |
| Seedance 2.0 Mini | $0.03 | $0.05 | $0.25 | 4ルート |
Seedance 2.0の動画を生成する
すべてのリクエストは、ベアラートークンとしてAPIキーを付けて POST /v1/generations に送信されます。呼び出しはすぐに、生成の id を含む 202 を返し、status が succeeded または failed になるまで、数秒ごとに GET /v1/generations/{id} をポーリングします。この例は、音声付き・720pの5秒のクリップを要求するもので、$0.75です。
export REVANA_API_KEY="sr_live_..."
# 1. Submit the job (returns 202 with the generation id)
curl https://api.revana.si/v1/generations \
-H "Authorization: Bearer $REVANA_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.0",
"input": {
"prompt": "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9",
"audio": true
},
"max_cost_usd": 2
}'
# 2. Poll with the id from step 1 until status is "succeeded" or "failed"
curl https://api.revana.si/v1/generations/gen_01JBX7Q2M4 \
-H "Authorization: Bearer $REVANA_API_KEY"import os
import time
import requests
API = "https://api.revana.si/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['REVANA_API_KEY']}"}
resp = requests.post(f"{API}/generations", headers=HEADERS, json={
"model": "seedance-2.0",
"input": {
"prompt": "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
"resolution": "720p",
"duration": 5,
"aspect_ratio": "16:9",
"audio": True,
},
"max_cost_usd": 2,
})
resp.raise_for_status()
job = resp.json()
while job["status"] in ("queued", "running"):
time.sleep(5)
job = requests.get(f"{API}/generations/{job['id']}", headers=HEADERS).json()
if job["status"] == "succeeded":
print(job["output"]["urls"], job["cost_usd"])
else:
print("Failed:", job["error"])// Node 18 or later. Save as generate.mjs and run: node generate.mjs
const API = "https://api.revana.si/v1";
const headers = {
Authorization: `Bearer ${process.env.REVANA_API_KEY}`,
"Content-Type": "application/json",
};
const res = await fetch(`${API}/generations`, {
method: "POST",
headers,
body: JSON.stringify({
model: "seedance-2.0",
input: {
prompt: "A ceramic coffee mug on a sunlit kitchen counter. Shot 1: slow push-in as steam rises. Shot 2: close-up of a hand lifting the mug. Morning birdsong, a soft clink as the mug leaves the counter.",
resolution: "720p",
duration: 5,
aspect_ratio: "16:9",
audio: true,
},
max_cost_usd: 2,
}),
});
if (!res.ok) throw new Error(`${res.status} ${await res.text()}`);
let job = await res.json();
while (job.status === "queued" || job.status === "running") {
await new Promise((r) => setTimeout(r, 5000));
job = await (await fetch(`${API}/generations/${job.id}`, { headers })).json();
}
if (job.status === "succeeded") console.log(job.output.urls, job.cost_usd);
else console.error("Failed:", job.error);max_cost_usd は、ジョブにかかってよい費用の上限です。それを超える見積もりのルートはスキップされ、どれも収まらない場合、ジョブは実行されません。想定する価格より少し高めに設定してください。完了した生成結果は、次のようになります:
{
"id": "gen_01JBX7Q2M4",
"model": "seedance-2.0",
"status": "succeeded",
"output": {
"urls": [
"https://cdn.revana.si/g/gen_01JBX7Q2M4/0.mp4"
]
},
"cost_usd": 0.75,
"attempts": 1,
"error": null,
"created_at": "2026-10-19T14:02:11Z",
"completed_at": "2026-10-19T14:03:47Z"
}出力リンクには有効期限があるため、ジョブの完了後、早めにファイルをダウンロードしてください。すべてのフィールド、ステータス、エラーコードは、APIドキュメントに記載されています。
静止画を動かす(画像から動画)
開始フレームを image_url として渡します。すると、プロンプトでは、すでに画像にあるシーンではなく、動きと音声を説明します。adaptive のアスペクト比は、画像の形に合わせられます。
{
"model": "seedance-2.0",
"input": {
"prompt": "She turns toward the camera and smiles as a light breeze moves her hair. Distant city traffic, a bus passing.",
"image_url": "https://example.com/first-frame.jpg",
"resolution": "1080p",
"duration": 5,
"aspect_ratio": "adaptive",
"audio": true
},
"max_cost_usd": 3
}開始フレームと終了フレーム
end_image_url を追加すると、ショットの終わり方を固定できます。モデルが2つのフレーム間の動きを補完するため、トランジション、見せ場の演出、ビフォーアフターのショットに向いています。
{
"model": "seedance-2.0",
"input": {
"prompt": "Smooth orbit around the sneaker as the light shifts from daylight to neon night",
"image_url": "https://example.com/start.jpg",
"end_image_url": "https://example.com/end.jpg",
"resolution": "720p",
"duration": 6,
"aspect_ratio": "16:9",
"audio": false
},
"max_cost_usd": 2
}参照画像
最初のフレームを固定せずに、キャラクターや商品の一貫性を保つには、最大9枚の画像を image_urls として送信し、プロンプトでそれぞれを説明します。たとえば「1枚目の画像の女性」のように書きます。1回のリクエストでは、フレームと参照のどちらか一方を使い、両方は使えません。これらは別のモードで、混在させたリクエストは拒否されることがあります。
{
"model": "seedance-2.0",
"input": {
"prompt": "The woman from the first image walks through the market from the second image, carrying the bag from the third image. Handheld camera, golden hour, market chatter.",
"image_urls": [
"https://example.com/woman.jpg",
"https://example.com/market.jpg",
"https://example.com/bag.jpg"
],
"resolution": "720p",
"duration": 8,
"aspect_ratio": "9:16",
"audio": true
},
"max_cost_usd": 2
}Seedance 2.0のプロンプトのコツ
- ショットを順番に書く。「ショット1:引きの状況説明ショット。ショット2:彼女の手のクローズアップ」のようなラベルを付けると、モデルにカットの位置が明確に伝わります。
- カメラワークを指定する。プッシュイン、オービット、手持ち、固定の三脚、ドローンのプルバックなど。ショットごとに1つの動きのほうが、列挙するより伝わります。
- 音を描写する。「トタン屋根に当たる雨、遠くの雷、音楽なし」のように書くほうが、音声を成り行きに任せるよりうまくいきます。セリフが不要なら、そう書いてください。
- セリフは短く。セリフを引用符で囲み、誰が話すかを書きます。5秒のクリップには、短い1文が収まります。
- 文字はフレームに入れない。キャプション、タイトル、ロゴは、編集で追加してください。
- ドラフトは安く、それからアップスケール。480pまたはSeedance 2.0 Miniで試行を重ね、勝ったプロンプトを1080pで再実行します。解像度やティアが違うと結果は同一ではないため、ドラフトは目安として扱ってください。
Seedance 2.0のルーティングとフォールバックの仕組み
Revanaは、APIルーターです。同じモデルを提供する複数の上流プロバイダーの手前に、1つのキーと1つのリクエスト形式を用意します。Seedance 2.0には現在、3つのルートがあります。ルーターは、各ジョブをまず最も安いルートに送り、そのルートが失敗またはタイムアウトした場合は、自動的に次のルートに再送します。
- どのルートがジョブを処理しても、掲載価格が適用され、成功したルートにのみ課金されます。
- 生成結果の
attemptsフィールドに、試行されたルートの数が入ります。 - すべてのルートが失敗した場合、ジョブはエラーを伴う
failedで終了し、課金はありません。
フォールバックは、結果を得られる可能性を高めますが、稼働や速度を保証するものではありません。アプリ側で failed のジョブを処理してください。たとえば、後で再試行するか、別のモデルを用意します。
試してみませんか?APIキーを取得して、Seedance 2.0をほかの動画モデルと比較してみましょう。
よくある質問
Seedance 2.0 APIの料金はいくらですか?
2026年10月時点で、Seedance 2.0は、1秒あたり480pが$0.08、720pが$0.15、1080pが$0.40、4Kが$0.83です。5秒・720pのクリップは$0.75です。音声は同じ料金に含まれます。
Seedance 2.0は音声を生成しますか?
はい。audio を true に設定すると、モデルが同じ処理で、映像と同時に環境音、効果音、セリフを生成します。音声なしのクリップにするには false に設定します。どちらでも料金は同じです。
Seedance 2.0の動画は、どのくらいの長さにできますか?
1回のリクエストで4〜15秒です。より長い作品には、複数のクリップを生成して編集でつなぐか、最長30秒まで対応するSeedance 2.5を使います。
Seedance 2.0で参照画像を使えますか?
はい。キャラクター、商品、スタイルのために、image_urls で最大9枚まで使えます。1回のリクエストでは、フレーム(image_url と end_image_url)と参照のどちらか一方を使い、両方は使えません。
Seedance 2.0 FastとMiniは、Seedance 2.0とどう違いますか?
タスクとオプションは同じですが、720pまでです。720pでは、Seedance 2.0 Fastが1秒あたり$0.11、Seedance 2.0 Miniが$0.05で、Seedance 2.0の$0.15と比べて安くなっています。
Seedance 2.0の生成が失敗した場合は、どうなりますか?
ルーターが自動的に次のルートを試します。課金は1回で、成功したルートに対してのみです。すべてのルートが失敗した場合、ジョブは失敗し、課金はありません。