API

Seedance 2.0 Fast API

動画

Seedance 2.0 Fast API はテキスト、開始・終了フレーム、マルチモーダル参照から 4~15 秒の動画を 480p / 720p で生成します。参照モードの上限は画像 9 枚、動画 3 本、音声 3 ファイルです。画像は 1 枚あたり 30 MB 以下にしてください。

認証

Bearerstringheader必須

リクエスト認証用 API キー

ボディ

application/json
modelstring必須
seedance-2-0-fast
input.promptstring必須

被写体、動作、シーン、照明、カメラの動き、時間の流れを記述します。前後の空白は削除されます。

input.frames_imagesstring[]任意

公開 HTTPS 画像 URL を 1~2 個含むリストです。開始フレーム、任意の終了フレームの順に指定します。このモードは reference_images、reference_videos、reference_audios と併用できません。

input.frames_images を指定すると、Seedance 2.0 Fast は入力フレームに応じてアスペクト比 adaptive を自動的に使用します。

URL の上限:2 個。

画像 1 枚あたりの上限:30 MB。

例: ["https://example.com/first-frame.png","https://example.com/last-frame.png"]

input.reference_imagesstring[]任意

公開 HTTPS 参照画像 URL のリストです。reference_videos、reference_audios と組み合わせられますが、frames_images とは併用できません。ファイルや base64 ではなく URL 文字列を指定してください。

URL の上限:9 個。

画像 1 枚あたりの上限:30 MB。

例: ["https://example.com/your-image.png"]

input.reference_videosstring[]任意

公開 HTTPS 参照動画 URL のリストです。frames_images とは併用できません。動画を指定するとクレジット消費量が変わります。下記の料金行と計算式を確認してください。

URL の上限:3 個。

例: ["https://example.com/your-video.mp4"]

input.reference_audiosstring[]任意

公開 HTTPS 参照音声 URL のリストです。他の reference_* リストと組み合わせられますが、frames_images とは併用できません。

URL の上限:3 個。

例: ["https://example.com/your-audio.mp3"]

input.durationinteger任意

動画の長さを 4~15 の整数秒で指定します。既定値は 5 秒です。クレジット消費量は長さに比例します。

デフォルト: 5

4–15
input.resolutionstring任意

動画の出力解像度です。下記の小文字の値を使用してください。解像度によってクレジット料金が変わります。

デフォルト: 720p

480p720p
input.aspect_ratiostring任意

出力の幅と高さの比率です。既定値は 16:9 です。フレーム画像も最終的な構図に影響します。

デフォルト: 16:9

16:99:161:13:44:321:9
input.soundboolean任意

動画とともに音声を生成するかを指定します。既定値は false です。文字列ではなく JSON の真偽値を送信してください。

デフォルト: false

リクエスト例

生成モードを 1 つ選びます。メディアを省略するとテキストから生成し、frames_images を指定すると開始・終了フレームから生成します。参照モードでは reference_images、reference_videos、reference_audios を組み合わせられます。frames_images と reference_* のメディアリストは併用できません。すべて公開 HTTPS URL のリストで指定し、ファイルオブジェクトや base64 は使用できません。example.com の URL を置き換えてください。data.task_id を保存し、completed または failed まで POST /api/v1/check を呼び出します。

POST /api/v1/create
curl -X POST https://nanobanana.io/api/v1/create \
  -H "Authorization: Bearer sk_live_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "model": "seedance-2-0-fast",
  "input": {
    "prompt": "夕暮れの海岸沿いの道路を赤いクラシックカーが走る。カメラは車の側面を滑らかに追い、暖かな光が海面に反射している。",
    "duration": 5,
    "aspect_ratio": "16:9",
    "resolution": "720p",
    "sound": false
  }
}'
POST /api/v1/create · HTTP 201
{
  "data": {
    "task_id": "task_example",
    "model": "seedance-2-0-fast",
    "status": "processing",
    "credits": 500
  }
}

返されたタスク ID を使い、タスクが完了または失敗するまでこのエンドポイントをポーリングしてください。最新状態を確認するため、5 秒ごとのポーリングを推奨します。

POST /api/v1/check
{
  "task_id": "task_example"
}

レスポンス

POST /api/v1/checkが返すタスクの状態です。以下のID、URL、タイムスタンプは例です。

idstring必須

data.idはタスクの識別子で、状態確認リクエストのtask_idと一致します。

statusstring必須
completedは生成の成功を示し、data.dataに結果が含まれます。その他の状態ではdata.dataはnullです。
failed_reasonstring任意

statusがfailedの場合にのみ返され、失敗の理由を示します。completedとprocessingではこの項目は含まれません。

完了 · completed

ダウンロードURLはdata.data.resultsにあります。

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0-fast",
    "status": "completed",
    "data": {
      "results": [
        "https://example.com/generated.mp4"
      ],
      "processing_time": 120
    }
  }
}

その他の状態

processingまたはfailedではdata.dataはnullです。以下はfailedの例です。failed_reasonはfailedの場合にのみ含まれます。processingでは状態確認を続け、failedでは停止してください。

POST /api/v1/check · HTTP 200
{
  "data": {
    "id": "task_example",
    "created_at": 1791244800,
    "model": "seedance-2-0-fast",
    "status": "failed",
    "data": null,
    "failed_reason": "Generation failed."
  }
}

消費クレジット

解像度と参照動画モード別の課金対象 1 秒あたりのクレジット数です。

解像度と参照動画モード別の課金対象 1 秒あたりのクレジット数です。
生成方式480P720P
参照動画なし50100
参照動画あり3060

1 回のリクエストで動画を 1 本生成します。長さや解像度の省略時は上記の既定値を使います。参照動画により消費量が増える場合があるため、対応する行と計算式を使ってください。

reference_videos の有無に対応する行を選びます。合計 = 生成動画の秒数 × 1 秒あたりの料金。画像や音声のみの場合は参照動画なしの行を使います。

POST /api/v1/createのレスポンスに含まれるcreditsフィールドが、そのタスクで差し引かれたクレジット数を示します。