メインコンテンツへスキップ
内容更新日: 2026-06-23

Seedance 2.0 の料金説明

本記事では Crazyrouter の現行コード内における実際の課金ロジック だけを説明します。公式料金ページの一般的な解説ではありません。 対象モデル:
  • doubao-seedance-2-0
  • doubao-seedance-2-0-fast
接続先は必ず https://api.crazyrouter.com を使用してください。基本設定は API Endpoint をご参照ください。

結論から先に

  1. Seedance 2.0 と Seedance 2.0 Fast はローカルコード上、いずれも per_output_token で精算され、秒数精算ではありません。
  2. タスク提出時、これら2種類のタスクは デフォルトで事前課金が0 です。
  3. タスク成功後、システムは上流から返される TotalTokens または CompletionTokens に基づいて最終的に課金します。
  4. duration はタスク特性として記録されますが、Seedance 2.0 の最終課金式には関与しません。
  5. よって、コード上に**「何 token = 何秒」といった固定のグローバル換算式は存在しません**。
  6. 「だいたい1秒いくら?」と回答したい場合は、タスク完了後に 实际输出 tokens / 实际秒数 で観測値として算出することはできますが、それを固定の課金ルールとはみなせません。

ローカルコードにおける課金ルール

1. どの課金ルールが適用されるか

Seedance 2.0 シリーズの課金ルールは「動画入力の有無」で決まります: ここでの video0 / video1 は秒数ではなく:
  • video0: リクエストに動画リファレンス入力なし
  • video1: リクエストに動画リファレンス入力あり
該当コード:
  • model/video_billing_seedance.go
  • relay/video_billing_runtime.go

2. タスク提出時になぜ通常課金されないのか

実行時、Seedance 2.0 で適用されるプラットフォーム課金モードは per_output_token です。この種のタスクでは提出時に:
  • BasePrice が記録されます
  • Ratio が 0 にセットされます
  • よって提出フェーズの quota = int(ratio * QuotaPerUnit) 結果は 0 となります
該当コード:
  • relay/video_billing_runtime.go
  • relay/relay_task.go
これが Seedance 2.0 の一般的な挙動が:
  • タスク提出成功
  • その場で課金されない、または事前課金0
  • タスク完了後に実際の token で追加課金
となる理由です。

最終課金式

タスク成功後、システムはまず settlePerOutputTokenTaskBilling を実行します。 Seedance シリーズにおいて、コードは token を以下の優先度で取得します:
  1. taskResult.TotalTokens
  2. 上記がなければ taskResult.CompletionTokens
該当コード:
  • controller/task_video.go
最終価格式:
最終クォータ式:
現行コード内:
該当コード:
  • controller/task_video.go
  • common/constants.go

秒数はコード中でどんな役割か

1. duration は認識・記録される

コードは下記から秒数を解析します:
  • req.Duration
  • req.Seconds
  • metadata.durationSeconds
  • metadata.duration_seconds
  • metadata.duration
  • metadata.seconds
該当コード:
  • relay/video_billing_runtime.go

2. しかし Seedance 2.0 は秒数課金ではない

duration はタスクプロファイルやログには反映されますが、Seedance 2.0 / 2.0 Fast で適用されるのは per_output_token であり:
  • match.BilledSeconds は課金に関与しません
  • 最終課金は上流が返す token のみを参照します
これは Veo や Wan のような per_second ビデオモデルとは異なります。

token と秒数の対応関係

課金基準

直接変換はできません。 つまり、現行コードでは次のような規則はありません:
理由は単純です:
  • Seedance 2.0 の販売価格設定が per_second ではない
  • コードも duration を固定 token 枠にマッピングしていない
  • 最終的に、タスク完了時の実際の token 消費量のみを認めます

観測基準

「このタスクは平均1秒あたり何 token 消費したか」を検証したい場合は、タスク完了後に観測値を計算可能です:
逆に:
ただし、これは事後の分析であり課金式ではありません。

実測例:4秒 720p のシンプル動画

下記は実際に Seedance 2.0 を呼び出した結果です。ここから本当に usage をもとに「このタスクの1秒あたりの単価」をどう逆算するのかを説明します。
このケースは 720p であり、1080p ではありません。現時点の Crazyrouter ドキュメントで Seedance 2.0 / 2.0 Fast が公式にサポートする外部呼び出し境界は 480p と 720p までです。1080p は現時点では非公開領域です。

ケース1:最もシンプルなテキストから動画生成

リクエスト特性:
  • モデル:doubao-seedance-2-0
  • 入力:テキストのみ(画像や動画リファレンスなし)
  • 解像度:720p
  • 時間長:4s
  • タスクID:cgt-20260617212928-5s755
  • 上流実際返却値:completion_tokens = 87300、total_tokens = 87300
動画リファレンス入力がないため、ヒット:
計算手順:
よって、この非常にシンプルな 4s 720p テキスト→動画では、観測単価は約:

ケース2:前回の動画を基にリファレンス動画生成

リクエスト特性:
  • モデル:doubao-seedance-2-0
  • 入力:テキスト + 前回生成した動画を reference_video として
  • 解像度:720p
  • 時間長:4s
  • タスクID:cgt-20260617214300-rsnsx
  • 上流実際返却値:completion_tokens = 173700、total_tokens = 173700
動画リファレンス入力が含まれているため、ヒット:
計算手順:
よって、この 4s 720p リファレンス動画生成の観測単価は約:

この実測値を顧客にどう説明するか

次のように案内できます:
したがって、「典型的な1秒=100,000token」と仮定することはできません。顧客に信頼性のある見積りを伝える場合は、必ず実際のタスクの usage.total_tokens または usage.completion_tokens で逆算することが推奨されます。

すぐ使える2つの例

例1:doubao-seedance-2-0-fast、動画入力あり

仮定:
  • doubao-seedance-2-0-fast:video1 にヒット
  • 上流から TotalTokens = 1,200,000が返る
  • quantityMultiplier = 1
  • groupRatio = 1
  • discount = 1
この場合:
このリクエストの duration = 12 であれば、観測値のみ得られます:
この 100,000 tokens/s はこの1件のタスクにのみ適用されます。

例2:doubao-seedance-2-0、動画入力なし

仮定:
  • doubao-seedance-2-0:video0 にヒット
  • 上流から CompletionTokens = 800,000 が返る
  • quantityMultiplier = 1
  • groupRatio = 1
  • discount = 1
この場合:
リクエストに duration = 8 を記載した場合でも観測のみとなります:
「8秒タスク=80万token」と断定することはできません。

注視すべきフィールド

Seedance 2.0 の課金を調べる場合は、まず以下の情報をチェックしましょう:
  • リクエストに動画入力が含まれるか
  • ヒットした billing_key
  • タスク完了後、上流から返る TotalTokens / CompletionTokens
  • このタスクの groupRatio
  • 当該モデルの割引 discount
  • 最終的な task.Quota
コードのログ・スナップショットでは:
  • billing_mode
  • billing_key
  • billing_total_price
  • billing_output_tokens
  • billing_billed_tokens
  • billing_token_kind
  • billing_settled
該当コード:
  • relay/relay_task.go
  • model/task.go
  • controller/task_video.go

ひとことで説明すると

Seedance 2.0 の場合:
  • 秒数 がリクエスト特性
  • token が課金根拠
  • quota は token 課金後の社内クォータ
正しい流れは:
であり、
ではありません。
今後プラットフォームが専用の「秒売りSKU」をSeedance 2.0で導入する場合、そのとき初めて「秒数と価格」の安定した対応が可能になります。しかし2026-06-06時点で、ローカルコードでは未対応です。

関連ページ