ナビゲーションにスキップ

Seedance 2.5 Flash

**まだ提供されていません:**Seedance 2.5 Flash のドキュメントは提供開始に先立って公開しています。現在はリクエストを受け付けていません。提供開始時にこのページを更新します。

まだ提供されていません。テキスト、開始フレームと終了フレーム、または最大 10 枚の参照画像と 5 件の参照音声から、480p または 720p の 4~30 秒の動画を生成します。Seedance 2.5 より高速で低価格な同系列のモデルです。

  • 独自の ID seedance-2.5-flash を持つ別のモデルです。Seedance 2.5 より高速で低価格な同系列のモデルで、seedance-2.5 のモードではありません。
  • 非同期です。作成の呼び出しはタスク ID を返し、動画はタスクが成功した時点で得られます。
  • 入力方法は 3 通りです。テキストのみ、開始フレームまたは開始フレームと終了フレーム、または参照画像(参照音声も追加可)です。
  • 参照動画には現在対応していないため、動画の編集や延長はできません。これらには seedance-2.5 を使ってください。
  • 音声はデフォルトで生成されます。形式はデフォルトで MP4 で、指定すれば MOV にできます。
  • 料金は提供開始時に発表します。
POST/v1/videos/tasks試してみる

このモデルをテスト画面で開きます。BeatAPI の API キーを入力するとタスクを作成できます。実際に呼び出され、ご自身の残高から課金されます。

モデル ID

2 つの Seedance 2.5 モデルが、このエンドポイントを共有します。以下の値は各モデルのリクエスト仕様から取得したものです。Seedance 2.5 Flash は reference_videos と task_type を受け付けません。

モデル IDduration(秒)resolution参照画像の最大数参照動画の最大数参照音声の最大数選ぶ場面
seedance-2.54–30480p, 720p, 1080p3010101080p、参照動画、動画の編集や延長、または 10 枚を超える参照画像が必要な場合。
seedance-2.5-flash4–30480p, 720p10—5テキスト、フレーム、または参照画像と参照音声から、480p または 720p のクリップをより速く、より低価格で作りたい場合(提供開始後)。

エンドポイントと認証

POST https://api.beatapi.io/v1/videos/tasks

Authorization string 必須

BeatAPI の API キーを Bearer <BEATAPI_API_KEY> の形式で送信します。キーはダッシュボードで作成できます。キーはサーバー側で保管し、ブラウザーやモバイルアプリに含めないでください。

ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。

リクエストの流れ

1

タスクを作成する

下記のパラメーターをエンドポイントに POST します。201 が返れば、タスクが受け付けられ、料金が残高から仮確保されたことを意味します。処理はバックグラウンドで実行されます。data.id を保存してください。

2

完了を待つ

GET /v1/tasks/{task_id} を呼び出し、status が succeeded または failed になるまで、呼び出しの間隔を data.poll_after_seconds(画像は 5 秒、動画は 8 秒)だけ空けてください。あるいは task.succeeded と task.failed のWebhookを登録することもできます。処理タイムアウトで停止したタスクはイベントを送信しないため、フォールバックとしてポーリングも続けてください。

3

結果を保存する

succeeded の場合は、すべての data.output.media[].url をダウンロードし、必要なファイルを保存してください。結果 URL がいつまで利用できるかは保証されません。failed の場合は、data.error_code と data.error_message を確認してください。仮確保された金額は残高に戻されます。data.retryable は、同じリクエストをもう一度送れば成功する可能性があるかどうかを示します。

入力モード

モード必須の入力備考
テキストから動画model、promptメディアの配列は送らないでください。
開始フレームmodel、prompt、images(リンク 1 個)動画はその画像から始まり、画像のアスペクト比を引き継ぎます。
開始フレームと終了フレームmodel、prompt、images(リンク 2 個)images[0] が開始フレーム、images[1] が終了フレームです。
参照model、prompt、reference_images。必要に応じて reference_audios参照音声には参照画像が 1 枚以上必要です。images とは併用できません。参照動画には現在対応していません。

リクエストパラメーター

model string 必須

実行するモデルです。

値:seedance-2.5-flash

値が正しくない場合

  • 指定がない場合:"model" is required
  • 画像モデルをこのエンドポイントに送った場合:"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint

prompt string 必須

動画の中で起きること(被写体、動き、カメラワーク、スタイル、音)です。参照を使う場合は、各入力が何のためのものかを書いてください。

長さ:1–5000 文字

  • 長さは文字数で数えます(CJK 文字も 1 文字として数えます)。
  • 入力は位置で指し示します。@image1 は images または reference_images の 1 番目、@audio1 は reference_audios の 1 番目です。

値が正しくない場合

  • 指定がない場合:"prompt" is required
  • 空、または上限を超える長さの場合:"prompt" has an unsupported length

images string[] 任意

開始フレーム、または開始フレームと終了フレームです。

要素数:1–2
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • リンクが 1 個の場合:動画はその画像から始まります。リンクが 2 個の場合:images[0] が開始フレーム、images[1] が終了フレームです。
  • 動画は 1 枚目の画像のアスペクト比を引き継ぎます。aspect_ratio は適用されません。
  • より多くの画像を使う場合や、フレームではなく動画を導くための画像を使う場合は、代わりに reference_images を使ってください。

値が正しくない場合

  • リンクが 3 個以上の場合:"images" accepts at most 2 items
  • いずれかの reference_* フィールドと併用した場合:Cannot combine "images" with reference inputs in one task
  • https:// のリンクでない場合:"images[0]" must be a public HTTPS URL

reference_images string[] 任意

動画の内容、キャラクター、商品、スタイルを導くための画像です。

要素数:1–10
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • 画像はリストの順に使われます。プロンプトでは位置で指し示してください。
  • reference_audios を送る場合は必須です。

値が正しくない場合

  • 最大数を超えた場合:"reference_images" accepts at most 10 items
  • images と併用した場合:Cannot combine "images" with reference inputs in one task

reference_audios string[] 任意

従わせたい音楽、音声、サウンドです。参照画像を 1 枚以上一緒に送ってください。音声のみは受け付けられません。

要素数:1–5
各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • WAV と MP3 のクリップは下の上限に照らして長さなどが測定されます。それ以外の形式は、測定されずにモデルへそのまま渡されます。

値が正しくない場合

  • 最大数を超えた場合:"reference_audios" accepts at most 5 items

duration integer 任意デフォルト: 5

動画の長さを秒単位の整数で指定します。

デフォルト:5
範囲:4–30

  • 省略すると 5 が送られます。

値が正しくない場合

  • 範囲外、または整数でない場合:"duration" is outside its supported range

aspect_ratio string 任意デフォルト: adaptive

動画の形を「幅:高さ」で指定します。adaptive を指定すると、モデルが入力から形を選びます。

指定できる値:adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16
デフォルト:adaptive

  • images に開始フレームがある場合は無視されます。動画はフレームのアスペクト比を引き継ぎます。

値が正しくない場合

  • 一覧にない値の場合:"aspect_ratio" must be one of: [adaptive 21:9 16:9 4:3 1:1 3:4 9:16]

resolution string 任意デフォルト: 720p

出力の解像度です。480p または 720p を指定します。

指定できる値:480p, 720p
デフォルト:720p

  • 小文字のみ使えます。Seedance 2.5 Flash は 1080p に対応していません(seedance-2.5 を使ってください)。

値が正しくない場合

  • 一覧にない値の場合(たとえば 1080p や 720P):"resolution" must be one of: [480p 720p]

generate_audio boolean 任意デフォルト: true

動画に生成されたサウンドトラックを付けるかどうかです。

デフォルト:true

値が正しくない場合

  • true または false でない場合:"generate_audio" must be a boolean

seed integer 任意

固定の数値を指定すると、結果を再現しやすくなります。省略するか -1 を送ると、ランダムなシードになります。

範囲:-1–4294967295

  • 同じシードと同じリクエストでも、結果は似たものになりますが、完全に同一になることは保証されません。

値が正しくない場合

  • 範囲外の場合:"seed" is outside its supported range

output_format string 任意

結果のコンテナ形式です。mp4(省略時に使われます)または mov を指定します。

指定できる値:mp4, mov

  • mov は、その後の編集作業に向いています。常に利用できるとは限りません。利用できない場合は、課金が発生する前にリクエストが拒否され、その時点で使える形式を示すメッセージが返されます。

値が正しくない場合

  • 一覧にない値の場合:"output_format" must be one of: [mp4 mov]

ゲートウェイはタスク作成前に、次の組み合わせも確認します。

  • images と参照メディアのフィールドは同時に使用できません。
  • reference_audios を送るときは、reference_images に画像が 1 枚以上必要です。

入力メディアの上限

ゲートウェイはタスク作成前にすべての入力を読み取り、次の上限を超えるものは、その入力を示す 400 bad_request で拒否します。課金はされません。

メディアタスク作成前に確認される上限
画像幅・高さとも 300~6000 px;アスペクト比(幅 ÷ 高さ)0.4~2.5;1 件あたり 30 MB 以下
音声1 本あたり 2~30 秒;合計 30 秒以内;1 件あたり 15 MB 以下
  • 画像のサイズは、ホストが報告する場合に確認されます。JPEG、PNG、WebP を使ってください。モデルが使えないファイルは、送信後にタスクが bad_request で失敗し、返金されます。
  • 画像と音声のリンクは、ホストが 4xx エラーを返した場合や空のファイルを返した場合にのみ、作成時に拒否されます。たとえば images[1] could not be downloaded: the URL returned HTTP 404. のようになります。それ以外の問題は、送信後に表面化します。
  • 参照動画には現在対応していません。
  • ローカルファイルは POST /v1/files でアップロードし、返された data.url を指定してください。

プロンプトの書き方

ショットを説明します。被写体、動き、カメラワーク、スタイル、音です。参照を使う場合は、それぞれが何のためのものかを書き、位置で指し示します。@image1 は 1 枚目の参照画像、@image2 は 2 枚目、@audio1 は 1 件目の参照音声です。フレームを使う場合は、@image1 が開始フレーム、@image2 が終了フレームです。

このモデルが受け付けないフィールド

次のフィールドを送ると、無視されるのではなく、課金が発生する前に拒否されます。

  • reference_videos:参照動画には現在対応していないため、動画の編集や延長はできません。その場合は seedance-2.5 を使ってください。
  • task_type:参照動画がないため、編集や延長の対象がありません。
  • watermark、quality、sound、multi_shots、character_orientation。
  • どの BeatAPI 動画モデルも使っていない名前 → unknown field: <name>。
  • duration: -1(モデルが長さを決める指定)→ "duration" is outside its supported range。秒数を整数で指定してください。

リクエスト例

curl --request POST \
--url https://api.beatapi.io/v1/videos/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2.5-flash",
"prompt": "A slow tracking shot through a rain-lit night market, neon reflections on wet stone, ambient crowd sound",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'

テキストから動画

音声付きの、5 秒・720p の横長クリップです。

curl --request POST \
--url https://api.beatapi.io/v1/videos/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2.5-flash",
"prompt": "A slow tracking shot through a rain-lit night market, neon reflections on wet stone, ambient crowd sound",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
}'

開始フレームと終了フレーム

動画は 1 枚目の画像から 2 枚目の画像へ移っていきます。

curl --request POST \
--url https://api.beatapi.io/v1/videos/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2.5-flash",
"prompt": "The camera pushes in from the bottle on the table to the singer on a neon stage in one continuous move",
"images": [
"https://cdn.beatapi.io/samples/smart-bottle.png",
"https://cdn.beatapi.io/samples/neon-singer.png"
],
"duration": 6,
"resolution": "720p"
}'

画像と音声の参照

キャラクター画像と音楽クリップに従ったパフォーマンスです。

curl --request POST \
--url https://api.beatapi.io/v1/videos/tasks \
--header "Authorization: Bearer $BEATAPI_API_KEY" \
--header 'Content-Type: application/json' \
--data '{
"model": "seedance-2.5-flash",
"prompt": "The singer from @image1 performs on stage in time with @audio1, warm spotlights, slow orbiting camera",
"reference_images": [
"https://cdn.beatapi.io/samples/neon-singer.png"
],
"reference_audios": [
"https://cdn.beatapi.io/samples/neon-singer-preview.mp3"
],
"duration": 8,
"resolution": "480p"
}'

レスポンス

タスクの作成(201)

タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "video",
"capability_id": "seedance-2.5-flash",
"capability_version": 1,
"media_type": "video",
"model": "seedance-2.5-flash",
"status": "queued",
"stage": "queued",
"created_at": 1791993600,
"updated_at": 1791993600,
"completed_at": null,
"poll_after_seconds": 8,
"output": null,
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": null,
"error_message": null
}
}
フィールド型説明
data.idstringタスク ID です。task_ の後に英数字 32 文字が続きます。ポーリングや Webhook イベントとの照合に使います。
data.objectstring常に task です。
data.task_kindstringimage または video です。
data.capability_idstring送信したモデル ID です。
data.capability_versionintegerモデルの仕様バージョンです。現在は 1 です。
data.media_typestringimage または video です。
data.modelstring送信したモデル ID です(capability_id と同じ)。
data.statusstringqueued、processing、succeeded、failed のいずれかです。最終状態は後ろの 2 つだけです。
data.stagestringstatus と同じ値です。古いクライアント向けに残されています。
data.created_atintegerタスクの作成日時(Unix 秒)です。
data.updated_atinteger最終更新日時(Unix 秒)です。
data.completed_atinteger | nullタスクの完了日時(Unix 秒)です。実行中は null です。
data.poll_after_secondsinteger実行中のみ。次のポーリングまでに待つ秒数です(画像は 5、動画は 8)。
data.typical_secondsobject実行中のみ、直近のタスクが十分にある場合に含まれます。直近 window の samples 件のタスクについて、完了までの時間(秒)の p50 と p90 を示します。
data.outputobject | null結果です。status が succeeded になるまでは null です。下の出力フィールドを参照してください。
data.usage.credits_reservednumberタスク作成時に残高から仮確保された金額(USD)です。
data.usage.credits_chargednumberこのタスクの料金(USD)です。失敗したタスクでは 0 です。
data.usage.credits_settlednumber最終的に差し引かれた金額(USD)です。タスクが成功した時点で設定され、それ以外では 0 です。
data.usage.credits_refundednumber残高に戻された金額(USD)です。失敗したタスクでは、返金が記録された時点で仮確保した金額と一致します。
data.usage.billable_duration_secondsinteger動画のみ。料金の算定に使われた秒数です。モデルが長さを報告しない場合は含まれません。
data.request_idstringリクエスト ID です。サポートに問い合わせる際に添えてください。
data.error_codestring | null失敗コードです。タスクが失敗した場合以外は null です。
data.error_messagestring | null何が問題で、何を変更すればよいかを示します。タスクが失敗した場合以外は null です。

完了したタスク

GET /v1/tasks/{task_id} は HTTP 200 と status: "succeeded" を返し、結果は data.output に入ります。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "video",
"capability_id": "seedance-2.5-flash",
"capability_version": 1,
"media_type": "video",
"model": "seedance-2.5-flash",
"status": "succeeded",
"stage": "succeeded",
"created_at": 1791993600,
"updated_at": 1791993690,
"completed_at": 1791993690,
"output": {
"media": [
{
"type": "video",
"url": "https://media.beatapi.io/outputs/task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ/0.mp4",
"mime_type": "video/mp4"
}
],
"r2_url": "https://media.beatapi.io/outputs/task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ/0.mp4"
},
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": null,
"error_message": null
}
}

出力フィールド

フィールド型説明
output.mediaobject[]生成されたファイルです。このモデルでは動画 1 本です。
output.media[].typestring常に video です。
output.media[].urlstring保存された動画への HTTPS リンクです。ダウンロードして保管してください。保持期間は保証されません。
output.media[].mime_typestringvideo/mp4 です。output_format: "mov" の場合は video/quicktime です。
output.r2_urlstring動画の URL と同じ値です。古いクライアント向けです。代わりに media を読んでください。

失敗したタスク

失敗したタスクも、GET /v1/tasks/{task_id} では HTTP 200 になります。失敗はボディに示されます。仮確保された金額は全額戻されるため、課金されません。

{
"data": {
"id": "task_7Qm2Xc9LpR4vT8sKa1Nf6YbH3eWdJ0uZ",
"object": "task",
"task_kind": "video",
"capability_id": "seedance-2.5-flash",
"capability_version": 1,
"media_type": "video",
"model": "seedance-2.5-flash",
"status": "failed",
"stage": "failed",
"created_at": 1791993600,
"updated_at": 1791993690,
"completed_at": 1791993690,
"output": null,
"retryable": true,
"request_id": "req_5f0c2a9e4b7d4e31",
"error_code": "processing_failed",
"error_message": "The task failed during processing on our side. Retry; a failed task is refunded."
}
}
フィールド型説明
data.error_codestringbad_request と content_policy_violation(リクエストを修正してください)、または processing_unavailable、processing_timeout、processing_failed、result_transfer_failed(時間をおいて再試行してください)のいずれかです。エラーを参照してください。
data.error_messagestring問題と対処方法を示す文です。
data.retryableboolean失敗したタスクにのみ含まれます。同じリクエストをもう一度送れば成功する可能性がある場合は true です。
data.usageobject返金が記録された時点(通常はタスクが失敗した瞬間)で、credits_charged と credits_settled は 0 になり、credits_refunded は credits_reserved と一致します。

完全なコード例

タスクを作成し、サーバーが示すポーリング間隔で完了を待ち、結果の URL を出力します。環境変数に BEATAPI_API_KEY を設定し、requests をインストールしてください。

import os
import time
import uuid
import requests
API = "https://api.beatapi.io"
HEADERS = {"Authorization": f"Bearer {os.environ['BEATAPI_API_KEY']}"}
def create_task(body: dict) -> dict:
# One Idempotency-Key per logical request: a retry with the same key cannot create a second task.
headers = {**HEADERS, "Idempotency-Key": str(uuid.uuid4())}
for attempt in range(3):
response = requests.post(f"{API}/v1/videos/tasks", headers=headers, json=body, timeout=60)
if response.status_code in (429, 503) and attempt < 2:
time.sleep(int(response.headers.get("Retry-After", 10)))
continue
break
try:
payload = response.json()
except ValueError: # an edge error page is not JSON
response.raise_for_status()
raise
if not response.ok:
error = payload["error"]
raise RuntimeError(f"{response.status_code} {error['code']}: {error['message']} (request_id={error.get('request_id')})")
return payload["data"]
def wait_for_task(task_id: str, timeout_seconds: int = 1800) -> dict:
deadline = time.monotonic() + timeout_seconds
while time.monotonic() < deadline:
response = requests.get(f"{API}/v1/tasks/{task_id}", headers=HEADERS, timeout=30)
if response.status_code == 429 or response.status_code >= 500:
time.sleep(int(response.headers.get("Retry-After", 10)))
continue
response.raise_for_status()
task = response.json()["data"]
if task["status"] in ("succeeded", "failed"):
return task
time.sleep(task.get("poll_after_seconds", 5))
raise TimeoutError(f"task {task_id} is still running; keep polling later")
task = create_task({
"model": "seedance-2.5-flash",
"prompt": "A slow tracking shot through a rain-lit night market, neon reflections on wet stone, ambient crowd sound",
"duration": 5,
"aspect_ratio": "16:9",
"resolution": "720p"
})
print("created", task["id"])
task = wait_for_task(task["id"])
if task["status"] == "failed":
raise SystemExit(f"{task['error_code']}: {task['error_message']}")
for item in task["output"]["media"]:
print(item["url"])

課金

  • 料金は提供開始時に発表します。それまではこのページに料金を記載せず、このモデルへのリクエストも受け付けません。
  • 失敗したタスクは、送信後にモデレーションで拒否されたものも含め、全額が返金されます。

よくあるエラー

エラーまたは症状原因対処
seedance-2.5-flash へのリクエストが拒否されるこのモデルはまだ提供されていません。このページで Seedance 2.5 Flash の提供開始が示されるまでは、seedance-2.5 を使ってください。
400 "resolution" must be one of: [480p 720p]1080p、4k、または 720P のような大文字を送っています。480p または 720p を送ってください。1080p には seedance-2.5 を使います。
400 "duration" is outside its supported range範囲内の整数ではない、または文字列として送っています。5 のような整数を送ってください。
400 Cannot combine "images" with reference inputs in one task同じリクエストでフレームと reference_* を併用しています。フレームか参照のどちらかを使ってください。複数の画像を使う場合は、すべて reference_images に入れます。
タスクが content_policy_violation で failedプロンプト、入力、または結果がモデレーションで拒否されました(実在の人物、公人、著作権で保護されたキャラクターなど)。実在の人物が写っている入力は拒否されることがあり、顔を承認してもらう方法はありません。入力を変更してください。そのまま再試行しても再び失敗します。課金はされません。

HTTP エラー早見表

タスクが作られる前のエラーは、2xx 以外のレスポンスで返されます。課金はされません。error.code または error.retryable で処理を分岐してください。message には問題の内容が示されます。全一覧と再試行のルールはエラーにあります。

{
"error": {
"code": "bad_request",
"message": "\"prompt\" is required",
"retryable": false,
"request_id": "req_5f0c2a9e4b7d4e31"
}
}
HTTP ステータスerror.code対処方法
400bad_request, content_policy_violationリクエストを修正してください。メッセージにフィールド名が示されます。そのまま再試行しないでください。
401missing_api_key, invalid_api_key(古いクライアントでは unauthorized が返ることがあります)有効なキーを Authorization: Bearer <key> で送信してください。
402insufficient_credits残高をチャージするか、キーのクォータを引き上げてから、再度送信してください。
403forbiddenこのキーまたはアカウントでは、このモデルを利用できない可能性があります(たとえば、無料クレジットは一部のモデルにのみ使えます)。そのまま再試行しないでください。
404not_foundGET /v1/tasks/{task_id} の場合:このキーのアカウントに該当するタスクが存在しません。ID を確認してください。
409idempotency_conflict新しい Idempotency-Key を使うか、同じキーの最初のリクエストが完了するまで待ってください。
429rate_limit_exceededRetry-After の秒数(error.retry_after_seconds にも含まれます)だけ待ってから再試行してください。
500internal_errorバックオフを入れて再試行してください。解消しない場合は、request_id を添えてサポートにお問い合わせください。
503processing_unavailable, processing_timeout, processing_failed, result_transfer_failed課金はされていません。指数バックオフで再試行してください。

認証

AuthorizationBearer

API キーを Authorization: Bearer <BEATAPI_API_KEY> として送信してください。

ヘッダー

Idempotency-Keystringオプション<=255 characters

ボディは JSON で送信し、Content-Type: application/json を指定します。Idempotency-Key は任意です。論理的に 1 件のリクエストごとに一意の値(255 文字以内)を送り、まったく同じボディを再試行するときだけ再利用してください。24 時間以内に同じキーと同じボディで再試行すると、最初のレスポンスが Idempotent-Replayed: true 付きで再度返されます。同じキーで異なるボディを送ると 409 idempotency_conflict が返ります。2xx 以外のレスポンスは保存されないため、400 や 402 の後の再試行は改めて実行されます。

リクエスト

This endpoint expects an object.
modelenum必須

実行するモデルです。

値:seedance-2.5-flash

値が正しくない場合

  • 指定がない場合:"model" is required
  • 画像モデルをこのエンドポイントに送った場合:"model" nano-banana-2 is served by POST /v1/images/tasks, not this endpoint
許可された値:
promptstring必須1-5000 characters

動画の中で起きること(被写体、動き、カメラワーク、スタイル、音)です。参照を使う場合は、各入力が何のためのものかを書いてください。

長さ:1–5000 文字

  • 長さは文字数で数えます(CJK 文字も 1 文字として数えます)。
  • 入力は位置で指し示します。@image1 は images または reference_images の 1 番目、@audio1 は reference_audios の 1 番目です。

値が正しくない場合

  • 指定がない場合:"prompt" is required
  • 空、または上限を超える長さの場合:"prompt" has an unsupported length
aspect_ratioenumオプションデフォルト値 adaptive

動画の形を「幅:高さ」で指定します。adaptive を指定すると、モデルが入力から形を選びます。

指定できる値:adaptive, 21:9, 16:9, 4:3, 1:1, 3:4, 9:16

デフォルト:adaptive

  • images に開始フレームがある場合は無視されます。動画はフレームのアスペクト比を引き継ぎます。

値が正しくない場合

  • 一覧にない値の場合:"aspect_ratio" must be one of: [adaptive 21:9 16:9 4:3 1:1 3:4 9:16]
durationintegerオプション4-30デフォルト値 5

動画の長さを秒単位の整数で指定します。

デフォルト:5

範囲:4–30

  • 省略すると 5 が送られます。

値が正しくない場合

  • 範囲外、または整数でない場合:"duration" is outside its supported range
generate_audiobooleanオプションデフォルト値 true

動画に生成されたサウンドトラックを付けるかどうかです。

デフォルト:true

値が正しくない場合

  • true または false でない場合:"generate_audio" must be a boolean
imageslist of stringsオプション

開始フレーム、または開始フレームと終了フレームです。

要素数:1–2

各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • リンクが 1 個の場合:動画はその画像から始まります。リンクが 2 個の場合:images[0] が開始フレーム、images[1] が終了フレームです。
  • 動画は 1 枚目の画像のアスペクト比を引き継ぎます。aspect_ratio は適用されません。
  • より多くの画像を使う場合や、フレームではなく動画を導くための画像を使う場合は、代わりに reference_images を使ってください。

値が正しくない場合

  • リンクが 3 個以上の場合:"images" accepts at most 2 items
  • いずれかの reference_* フィールドと併用した場合:Cannot combine "images" with reference inputs in one task
  • https:// のリンクでない場合:"images[0]" must be a public HTTPS URL
output_formatenumオプション

結果のコンテナ形式です。mp4(省略時に使われます)または mov を指定します。

指定できる値:mp4, mov

  • mov は、その後の編集作業に向いています。常に利用できるとは限りません。利用できない場合は、課金が発生する前にリクエストが拒否され、その時点で使える形式を示すメッセージが返されます。

値が正しくない場合

  • 一覧にない値の場合:"output_format" must be one of: [mp4 mov]
許可された値:
reference_audioslist of stringsオプション

従わせたい音楽、音声、サウンドです。参照画像を 1 枚以上一緒に送ってください。音声のみは受け付けられません。

要素数:1–5

各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • WAV と MP3 のクリップは下の上限に照らして長さなどが測定されます。それ以外の形式は、測定されずにモデルへそのまま渡されます。

値が正しくない場合

  • 最大数を超えた場合:"reference_audios" accepts at most 5 items
reference_imageslist of stringsオプション

動画の内容、キャラクター、商品、スタイルを導くための画像です。

要素数:1–10

各要素は公開されている https:// の URL です。ローカルファイルは先に アップロード(POST /v1/files)し、返された data.url を渡してください。

  • 画像はリストの順に使われます。プロンプトでは位置で指し示してください。
  • reference_audios を送る場合は必須です。

値が正しくない場合

  • 最大数を超えた場合:"reference_images" accepts at most 10 items
  • images と併用した場合:Cannot combine "images" with reference inputs in one task
resolutionenumオプションデフォルト値 720p

出力の解像度です。480p または 720p を指定します。

指定できる値:480p, 720p

デフォルト:720p

  • 小文字のみ使えます。Seedance 2.5 Flash は 1080p に対応していません(seedance-2.5 を使ってください)。

値が正しくない場合

  • 一覧にない値の場合(たとえば 1080p や 720P):"resolution" must be one of: [480p 720p]
許可された値:
seedintegerオプション-1-4294967295

固定の数値を指定すると、結果を再現しやすくなります。省略するか -1 を送ると、ランダムなシードになります。

範囲:-1–4294967295

  • 同じシードと同じリクエストでも、結果は似たものになりますが、完全に同一になることは保証されません。

値が正しくない場合

  • 範囲外の場合:"seed" is outside its supported range

レスポンス

タスクオブジェクトです。タスクが成功するまで output は null です。「実行中」と記載されたフィールドは、タスクの完了後に表示されなくなります。

エラー

400
Bad Request Error
401
Unauthorized Error
402
Payment Required Error
403
Forbidden Error
409
Conflict Error
429
Too Many Requests Error
500
Internal Server Error
503
Service Unavailable Error