NezhaGateNezhaGate
← ガイド

Seedance 2.5 API:料金・パラメータ・コード

Seedance 2.5 は ByteDance の動画モデルで、テキストのプロンプトだけから、または最大 30 枚の参照画像、10 本の動画、10 本のオーディオから、ネイティブ音声付きで最長 30 秒の動画を 1 回で生成します。NezhaGate では OpenAI 形式の非同期 API として提供しています。料金は 480P で 1 秒あたり $0.10、720P で $0.158 で、失敗したジョブには料金がかかりません。

更新日:2026-10-03

Seedance 2.5 の概要

ByteDance は 2026 年 7 月 31 日に Seedance 2.5 をリリースしました(ByteDance Seed)。最大の特長は長さで、ネイティブ音声付きの長回しで最長 30 秒を生成できます(Seedance 2.0 は 15 秒まで)。NezhaGate では、他のすべてのモデルと同じ API キーで利用できます。

モデル IDseedance-2.5
エンドポイントPOST https://nezhagate.com/v1/videos/generations で送信し、GET /v1/videos/jobs/{id} で結果を取得
長さ4〜30 秒の任意の整数秒(duration)
解像度480P、720P(既定)。1080P は近日公開
画面比率16:9(既定)、9:16、1:1、4:3、3:4(size)
参照素材1 回のリクエストで画像 30 枚、動画 10 本(合計 30 秒まで)、オーディオ 10 本まで
音声ネイティブ音声。既定でオン(audio: false でオフ)
プロンプト最大 11,000 文字(英語も中国語も同じく文字数で数えます)
出力data[0].url の mp4 リンク(当社がホストし、60 日間保存)

料金

生成した動画の秒数で課金します。参照画像、参照動画、参照オーディオは課金されません。失敗またはタイムアウトしたジョブは全額返金します。

解像度1 秒あたり5 秒10 秒15 秒30 秒
480P$0.10$0.50$1.00$1.50$3.00
720P$0.158$0.79$1.58$2.37$4.74

ByteDance の公式 BytePlus 価格は、16:9 の動画で 480p が 1 秒あたり $0.103、720p が $0.231 です。720P では公式価格と比べて 31% 節約できます。30 秒固定の 720P 動画は seedance-2.5-30s で 1 本 $1.50 です。各社の価格を並べた比較は Seedance API 料金比較 をご覧ください。

ジョブを送信して動画を受け取る

動画の生成は非同期です。送信するとすぐに HTTP 202 とジョブ ID が返るので、status が succeeded になるまでポーリングし、data[0].url を読み取ります。コンソールで API キーを作成し、環境変数 API_KEY に設定してください。

curl

curl
# 1) 送信:{"id": "img_...", "status": "queued"} が返ります
curl https://nezhagate.com/v1/videos/generations \
  -H "Authorization: Bearer $API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "model": "seedance-2.5",
    "prompt": "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on and sweeps across a stormy sea. Slow push-in, warm light, film grain.",
    "duration": 10,
    "resolution": "720P",
    "size": "16:9"
  }'

# 2) "status" が "succeeded" になるまで 15 秒ごとにポーリングし、data[0].url を読み取ります
curl https://nezhagate.com/v1/videos/jobs/JOB_ID -H "Authorization: Bearer $API_KEY"

Python

Python
import os
import time

import requests

BASE = "https://nezhagate.com/v1"
HEADERS = {"Authorization": "Bearer " + os.environ["API_KEY"]}

job = requests.post(f"{BASE}/videos/generations", headers=HEADERS, json={
    "model": "seedance-2.5",
    "prompt": "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on "
              "and sweeps across a stormy sea. Slow push-in, warm light, film grain.",
    "duration": 10,
    "resolution": "720P",
    "size": "16:9",
}).json()
print("job", job["id"])

while True:
    time.sleep(15)
    r = requests.get(f"{BASE}/videos/jobs/{job['id']}", headers=HEADERS).json()
    if r["status"] == "succeeded":
        print(r["data"][0]["url"])
        break
    if r["status"] == "failed":
        raise SystemExit(r["error"]["message"])   # refunded in full

Node.js

Node.js
const BASE = "https://nezhagate.com/v1";
const headers = { Authorization: `Bearer ${process.env.API_KEY}`, "Content-Type": "application/json" };

const job = await (await fetch(`${BASE}/videos/generations`, {
  method: "POST",
  headers,
  body: JSON.stringify({
    model: "seedance-2.5",
    prompt: "A lighthouse keeper climbs the spiral stairs at dusk; the lamp flares on and sweeps across a stormy sea.",
    duration: 10,
    resolution: "720P",
    size: "16:9",
  }),
})).json();

while (true) {
  await new Promise((ok) => setTimeout(ok, 15000));
  const r = await (await fetch(`${BASE}/videos/jobs/${job.id}`, { headers })).json();
  if (r.status === "succeeded") { console.log(r.data[0].url); break; }
  if (r.status === "failed") throw new Error(r.error.message);
}

参照画像・参照動画・参照オーディオ

参照素材は同じリクエストに追加し、プロンプトの中で順番に名前で指定します。images は @Image1、@Image2、video_references は @Video1、audio_reference は @Audio1 です。各項目には公開 URL または base64 の data URI を指定できます(data URI は当社が 7 日間ホストします)。

JSON
{
  "model": "seedance-2.5",
  "prompt": "The dancer from @Image1 performs the moves of @Video1 on the rooftop from @Image2, cut to the beat of @Audio1.",
  "images": ["https://example.com/dancer.png", "https://example.com/rooftop.png"],
  "video_references": ["https://example.com/moves.mp4"],
  "audio_reference": ["https://example.com/beat.mp3"],
  "duration": 12,
  "resolution": "720P",
  "size": "9:16"
}

Seedance には最初のフレームを指定するモードがありません。どの画像も人物、物体、場所、スタイルの参照として扱われるため、参照画像が動画の冒頭に来るとは限りません。プロンプトでは参照素材をひとつずつ名前で指定し、そこから何を引き継ぐかを書いてください。

リクエストが失敗する条件

いずれの場合も、理由がわかるエラーを返します。送信後に失敗したジョブは全額返金します。

生成にかかる時間

5.8 分生成時間の中央値(直近 7 日間の実際のお客様のジョブ)
9.8 分90% のジョブがこの時間内に完了
86.5%同期間の成功率

集計対象は実際のお客様のリクエストのみです。当社のテスト、クライアントエラー(4xx)で拒否されたリクエスト、モデルが生成を拒否した内容は含みません。失敗した呼び出しは課金されません。10 分ごとに更新します。

動画が長いほど、また解像度が高いほど時間がかかり、混雑する時間帯も遅くなります。ジョブ ID を保存してポーリングしてください。送信のたびに新しい有料ジョブになるため、再送信はしないでください。制限時間内に生成が終わらなかったジョブは failed で終了し、理由が error に入り、全額返金されます。

よくある質問

Seedance 2.5 API の料金はいくらですか?
NezhaGate では 480P で 1 秒あたり $0.10、720P で 1 秒あたり $0.158 で、長さは 4〜30 秒から自由に選べます。720P の 5 秒動画は $0.79、30 秒なら $4.74 です。30 秒固定のモデル seedance-2.5-30s は 1 本 $1.50 です。
Seedance 2.5 の動画は最長何秒ですか?
1 回の生成で、4〜30 秒の任意の整数秒を指定できます。リクエストで duration(または seconds)を設定してください。課金はちょうどその秒数分です。
Seedance 2.5 は画像から動画に対応していますか?
はい、参照画像として対応しています。最大 30 枚の画像を送り、プロンプトの中で @Image1、@Image2 のように指定してください。Seedance はすべての画像を人物、物体、場面、スタイルの参照として扱います。最初のフレームを指定するモードはないため、画像が動画の冒頭のフレームになるとは限りません。
参照動画や参照オーディオは使えますか?
はい。同じリクエストで、参照画像と一緒に最大 10 本の参照動画(合計 30 秒まで)と最大 10 本の参照オーディオを渡せます。プロンプトでは @Video1、@Audio1 のように指定します。NezhaGate では参照動画は課金されず、課金対象は生成した秒数だけです。
Seedance 2.5 の生成にはどのくらい時間がかかりますか?
通常は数分ですが、バックエンドが混み合っているとさらにかかります。ジョブを送信したら ID を保存してポーリングしてください。送信のたびに新しい有料ジョブになるため、再送信はしないでください。失敗またはタイムアウトしたジョブは全額返金します。
1080P は使えますか?
NezhaGate ではまだ使えません。現在は 480P と 720P を提供しており、1080P は近日公開予定です。
NezhaGate で試す

同じ OpenAI 互換の Key で、NezhaGate のほかの対話・画像・動画モデルもすべて呼び出せます。従量課金で、失敗したジョブは全額返金します。

API キーを取得 Playground で試す 各社の料金を比較

その他のガイド: Seedance 30 秒動画 API:料金・サンプル・コード