Seedance 2.0 API: Endpoints, Real Pricing and How to Call It
The Seedance 2.0 API is ByteDance's reference-to-video model resold by several hosts, each doing the per-second maths differently. Here is the schema and the bill.
Two models wearing one name
Seedance 2.0 is a ByteDance video model, and the hosts that resell it expose two variants: Seedance 2.0 and Seedance 2.0 Fast. Kie.ai publishes the practical difference as generation time, roughly five minutes per generation for the standard model and roughly four for Fast, which is a smaller gap than the naming implies. OpenRouter's listing dates the model to April 15, 2026 and describes what it does rather than how fast it does it: text-to-video, image-to-video with first and last frame control, and multimodal reference-to-video. The strength both listings point at is the same one, preserving character identity, visual style and camera movement from material you supply. If your use case is a single character appearing across many shots, that is the reason to look at this model rather than a general text-to-video one.
The parameter list, in full
The kie.ai endpoint accepts twelve fields, and most of them are reference slots. Frames are handled by first_frame_url and last_frame_url. The prompt field takes up to 20,000 characters. Then come three arrays: reference_image_urls accepts up to nine images at 30MB each in JPEG, PNG, WebP, GIF or BMP; reference_video_urls accepts up to three videos at 50MB each with a combined length of no more than fifteen seconds; reference_audio_urls accepts up to three MPEG or WAV files at 15MB each, also capped at fifteen seconds total. The remaining switches are generate_audio, resolution at 480p or 720p, aspect_ratio from 16:9, 4:3, 1:1, 3:4, 9:16 and 21:9, a numeric duration, web_search, and nsfw_checker, which defaults to true in the playground and is not guaranteed to catch everything.
Why there are two prices for the same resolution
Kie.ai lists 480p at 6.8 credits per second, about $0.034, when you pass a video input, and 11.7 credits per second, about $0.059, when you do not. At 720p the same split runs 15 credits per second, about $0.075, with video input against 24.8 credits per second, about $0.124, without. That looks backwards until you read the formula: without a video input the charge is price multiplied by output, and with one it is price multiplied by input plus output, so the lower unit rate is applied to a larger quantity. Kie.ai also notes that high-tier top-ups carry a ten percent bonus, making effective pricing roughly ten percent below the listed figures, and flags the whole schedule as beta and subject to adjustment. A limited-time discount on Seedance 2.0 Fast was posted as running until October 7 at 06:00 UTC.
What the other listing charges
OpenRouter prices the same model differently and is worth checking against before you commit. Its model page advertises pricing from $0.06726 per second, while the provider table underneath, which shows a single upstream provider named Seed, lists $7.00 per million for video and audio and $0.1512 per second. The gap between the headline and the table is the usual difference between a floor price and a specific provider's rate, so read the table rather than the banner. OpenRouter also documents how tokens are counted for this model: output height multiplied by width, multiplied by duration, multiplied by 24, divided by 1024. That formula is the one to put in your cost estimator, because it makes resolution and duration compound rather than add.
Latency and uptime you should design around
This is not an API you call inside a request handler. OpenRouter measured end-to-end latency at 123.9 seconds at the median for the best provider, and kie.ai quotes roughly four to five minutes per generation depending on the variant. Over a three-day window OpenRouter recorded 100 percent uptime, meaning at least one provider was answering, but 93.84 percent availability, meaning some requests returned errors or empty responses. With a single upstream provider there is no failover to route around a bad patch, so build the retry yourself, queue the job, and return a job id to your user rather than holding a connection open. If you would rather not maintain one integration per model, Synexa puts FLUX, video and audio models behind one REST endpoint and a Python SDK with pay-per-run billing.
What you actually get
Nine images, three clips
Reference inputs cap at nine images, three videos totalling fifteen seconds, and three audio files totalling fifteen seconds. Prompts can address uploads directly, as in referencing Image1 and Image2 by name.
480p or 720p only
Two resolution options, six aspect ratios covering 16:9 through 21:9, and an optional synchronised audio track via the generate_audio flag. No higher tier is listed on either host.
Minutes, not seconds
Median end-to-end latency was measured at 123.9 seconds on OpenRouter; kie.ai quotes about five minutes standard and four for Fast. Treat every call as an asynchronous job.
Beta pricing, explicitly
Kie.ai marks its rates as currently in beta and subject to future adjustment. Cache the price you were quoted at call time rather than hard-coding a rate into your billing logic.
Seedance 2.0 hosts against a multi-model endpoint
| Feature | Seedance 2.0 API | Synexa |
|---|---|---|
| What you get | One ByteDance video model in two speed variants | FLUX, video and audio models behind one API |
| Interface | A host-specific endpoint with twelve input fields | One REST endpoint plus a Python SDK |
| Resolutions | 480p or 720p | Varies by model, see synexa.ai |
| Reference inputs | Up to 9 images, 3 videos, 3 audio clips | Varies by model, see synexa.ai |
| Billing | Per second, and the rate changes with video input | Pay per run |
| Typical wait | Roughly 4 to 5 minutes per generation | See synexa.ai for current models |
From zero to a first generation
- Pick the variant first
Seedance 2.0 Fast trades roughly a minute of generation time. Decide before you write the client, because the model slug differs and swapping it later means touching your queue code. - Upload references, then prompt
Put images, video and audio behind public URLs inside the documented size limits, then write a prompt that names them. Reference material is where this model earns its cost. - Set resolution knowing the rate
720p costs roughly double 480p per second on kie.ai, and passing a reference video changes the formula from output-only to input plus output. Price a test batch before scaling up. - Queue it, do not await it
With median latency around two minutes and availability under 94 percent over one measured window, store a job id, poll it, and retry failures rather than blocking a user request.
FAQ
How much does the Seedance 2.0 API cost per second?
On kie.ai, 480p is listed at 6.8 credits per second, about $0.034, with a video input, and 11.7 credits per second, about $0.059, without one. At 720p the figures are 15 credits per second, about $0.075, and 24.8 credits per second, about $0.124. OpenRouter's provider table lists $0.1512 per second.
Why does passing a video make the per-second price lower?
Because the multiplier changes with it. Without a video input the charge is the unit price multiplied by output only. With a video input it becomes the unit price multiplied by input plus output, so a lower rate is applied to a bigger quantity. The cheaper-looking number is not automatically the cheaper call.
What resolutions does the Seedance 2.0 API support?
Resolution is 480p or 720p, with no higher option listed on either host. Aspect ratio can be 16:9, 4:3, 1:1, 3:4, 9:16 or 21:9. If your pipeline needs vertical output for social, 9:16 is available directly rather than requiring a crop after generation.
How long does one generation take?
Kie.ai quotes roughly five minutes for Seedance 2.0 and roughly four for Seedance 2.0 Fast. OpenRouter measured median end-to-end latency at 123.9 seconds. Either way this belongs in a background queue with a job id returned immediately, not inside a synchronous request.
Can I send reference video and audio, not just images?
Yes. The endpoint accepts up to nine reference images at 30MB each, up to three reference videos at 50MB each with a combined runtime of fifteen seconds, and up to three MPEG or WAV audio files at 15MB each, also capped at fifteen seconds total. A generate_audio flag produces a synchronised track.
Is there one API that covers more than video?
Not from these listings, which resell a single model each. Synexa takes the other approach: one REST endpoint and a Python SDK covering FLUX, video and audio models, billed per run, so adding a model means changing a string rather than writing another client and another retry loop.
One endpoint instead of one per model
Synexa puts FLUX, video and audio models behind a single REST API and a Python SDK, billed per run. Swap models by changing a parameter rather than rewriting your client.
Try Synexa →