Seedance 2.0
Generate 4–15 second videos from text, a first frame, or first and last frames.
/api/v1/generationsPrice is resolution rate × whole seconds. The example shows the total for its duration. Reference images do not add an extra charge. Check credits_refunded to confirm a refund; unresolved submissions may require review.
Authorization
AuthorizationstringrequiredBearer fx1_live_… — send your API key in the request header. Requires administrator approval and a completed paid purchase; new generations also require enough credits.
Idempotency-KeystringoptionalUse one unique value per generation and reuse it with the same body on retries. Printable ASCII, no spaces. A different body with the same key returns 409.
Maximum length: 128 characters
Request body
modelstringrequiredUse this exact model ID in the top-level request body.
seedance-2promptstringrequiredVideo description, 3–2,000 characters after trimming.
Maximum length: 2,000 characters
first_frame_urlstringoptionalOptional public HTTPS image URL (JPEG, PNG or WebP). Omit for text-to-video. Maximum URL length 2,048 characters.
last_frame_urlstringoptionalOptional last-frame HTTPS image URL; requires first_frame_url. Reference video/audio and mixed reference modes are not accepted.
aspect_ratiostringoptionalOutput width-to-height ratio.
Default: 16:9
16:94:31:13:49:1621:9resolutionstringoptionalResolution determines the per-second rate. 1080p/4K are not available through this API.
Default: 720p
480p720pdurationnumberoptionalWhole seconds, 4–15 inclusive. Cost is the per-second rate multiplied by this value. Automatic duration (-1) is not accepted.
Default: 5
Range: 4–15. See field description for allowed values.
generate_audiobooleanoptionalGenerate audio with the video. Both audio settings use the same displayed rate.
Default: true
Response & next step
A successful submission returns 202 and a generation id. Poll GET /api/v1/generations/{id} every 2–3 seconds until the status is succeeded or failed.
Read the result URL from output.video.url. Download it before expires_at (30 days after storage). On failure, inspect error and credits_refunded.
Model notes
seedance-2uses the Seedance 2.0 model. First-frame and first/last-frame modes use the same duration-based price as text-to-video. Audio is optional and does not change the price.- This API offers 480p and 720p only. Reference video/audio inputs, automatic duration, custom callbacks, 1080p and 4K are not accepted.
- Resolution names are provider tiers; dimensions and media duration can be rounded by the provider.
output.video.durationrecords requested seconds, not an independently measured file duration. - Results are stored in Flux R2 before success. Download the video before
expires_at, 30 days after storage. No email reminder is sent. - A temporary polling or storage failure leaves the task queued for retry. An ambiguous submission never triggers another provider submission automatically; use the same Idempotency-Key and request ID when checking progress.
Provider contract: KIE Seedance 2.