GPT-5.4 and GPT-5.4 Mini have been retired · Please switch to another available model
All models
ByteDance · Media API

Seedance 2.0 API

Seedance 2.0 is the previous Seedance generation on OmniaKey, published under the provider ID dreamina-seedance-2-0-260128: one id covers text to video, a first frame and reference-driven shots of up to 15 seconds, always with an audio track.

Model ID
dreamina-seedance-2-0-260128
Provider
ByteDance
Modality
AI Video
Per second of output
$0.07–$0.37
Last verified
2026-09-15

01

Where it fits

Use Seedance 2.0 when you want Seedance quality at roughly half the 2.5 rate, from $0.07 to $0.37 per second between 480P and 1080P; a 4-second 480P clip returned in about a minute in our record.

02

What it does

Text to video

dreamina-seedance-2-0-260128

Generate a short video clip from a text prompt.

Image to video

dreamina-seedance-2-0-260128

Animate a still image into a short video clip.

Reference video

dreamina-seedance-2-0-260128

Use reference footage to guide a generated clip.

03

Call it

Media models run asynchronously. Create a task, poll it until it finishes, then download the signed asset URL.

Create, poll, download
# 1. Create the job. 202 Accepted; the body carries the task id,
#    the pre-charged price, and a poll_url. Reuse one Idempotency-Key
#    across retries so a timeout never starts a second paid job.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: dreamina-seedance-2-0-260128-001" \
  -d '{
    "model": "dreamina-seedance-2-0-260128",
    "type": "video",
    "operation": "text_to_video",
    "input": {"prompt": "a paper boat on a quiet lake at sunset"},
    "parameters": {"duration": 6, "resolution": "720p"}
  }'

# 2. The same model id and the same poll loop serve the other operations:
#      image_to_video         media[] type "first_frame"
#      reference_to_video     media[] type "reference_image"
#    Reference media travel alongside the prompt:
#    {"prompt": "...", "media": [{"type": "first_frame", "url": "https://example.com/first-frame.png"}]}
#    A public HTTPS URL or a base64 data URI both work.

# 3. Poll GET /v1/media/tasks/{id} until status is
#    succeeded | failed | canceled. Progress carries percent and stage.
curl --fail-with-body https://api.omniakey.com/v1/media/tasks/TASK_ID \
  -H "Authorization: Bearer $OMNIAKEY_API_KEY"

# 4. Download assets[0].url before expires_at, or poll again for a
#    fresh signed URL. Failed and canceled jobs are refunded.
curl -sS -o out.mp4 "$(jq -r '.assets[0].url' result.json)"

04

Pricing

Video jobs are billed per second of rendered output, not per token. Failed or canceled jobs are refunded automatically.

Per second of output

$0.07–$0.37per second

480P
$0.07per second
720P
$0.15per second
1080P
$0.37per second

More models from ByteDance

Frequently asked questions

How do I call Seedance 2.0 on OmniaKey?

POST to /v1/media/tasks with the model id, type "video", and operation "text_to_video" — or "image_to_video" with a first frame in input.media[] with type "first_frame". Reuse one Idempotency-Key across retries so a timeout never starts a second paid job.

What does Seedance 2.0 cost?

Seedance 2.0 bills $0.07–$0.37 per second of rendered video. Creation pre-charges the requested duration up front from your prepaid balance, and failed or canceled jobs are refunded automatically.

Why does the API return a task id instead of the video?

Video renders take from about a minute to several minutes, so OmniaKey runs every video route through one asynchronous lifecycle. Poll GET /v1/media/tasks/{id} until the status is succeeded, then read the signed asset URL.

Seedance 2.0 API — async video generation · OmniaKey