Seedance 2.5
Generate videos from text, frames, or multimodal references.
/api/v1/generationsExample request
Set your FLUX_API_KEY before running. See the parameters below for supported settings.
curl https://api.flux-context.org/api/v1/generations \
-H "Authorization: Bearer $FLUX_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-5",
"input": {
"mode": "text-to-video",
"prompt": "A calm seaside sunrise with gentle camera movement",
"resolution": "480p",
"duration": 4,
"sound": false,
"aspect_ratio": "16:9"
}
}'Parameters
Set model to seedance-2-5. These fields belong inside input.
| Parameter | Description |
|---|---|
resolutionstring · Optional | Output resolution tier. Values are case-sensitive.480p720p1080pDefault: 720p |
aspect_ratiostring · Optional | Output proportions; see mode constraints below.auto1:13:44:39:1616:921:9Default: auto |
soundboolean · Optional | Generate sound with the video. This is not a reference audio input. Default: true |
watermarkboolean · Optional | Whether to request a watermark. Default: false |
modestring · Required | Choose a supported generation mode.text-to-videofirst_and_last_framesomni_reference |
promptstring · Required | Describe the desired output. Minimum 1 characters. Maximum 5,000 characters. |
output_formatstring · Optional | Output file format.mp4Default: mp4 |
image_urlsstring[] · Optional | Public HTTPS reference images. Video image order and count depend on mode. Up to 30 items. |
video_urlsstring[] · Optional | Public HTTPS MP4 or MOV references. Flux measures duration before charging. Maximum file size 200 MiB. Up to 10 items. |
audio_urlsstring[] · Optional | Public HTTPS MP3, WAV or M4A references. Flux measures duration before charging. Maximum file size 15 MiB. Audio is not billed separately. Up to 10 items. |
reference_intentstring · Optional | Generate new content or edit a reference video. See model constraints for duration behavior.generateeditDefault: generate |
durationinteger · Optional | Output duration in seconds. See model constraints for editing and automatic duration. Range: 4–30. Additional values (see constraints):-1Default: 5 |
Reference media
Use your own publicly accessible HTTPS media URLs. Links must remain valid throughout queueing and generation. Base64 and file upload bodies are not supported by this endpoint.
first_and_last_frames
curl https://api.flux-context.org/api/v1/generations \
-H "Authorization: Bearer $FLUX_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-5",
"input": {
"mode": "first_and_last_frames",
"prompt": "A calm seaside sunrise with gentle camera movement",
"resolution": "480p",
"duration": 4,
"sound": false,
"aspect_ratio": "auto",
"image_urls": [
"https://example.com/front.jpg",
"https://example.com/back.jpg"
]
}
}'omni_reference
curl https://api.flux-context.org/api/v1/generations \
-H "Authorization: Bearer $FLUX_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-5",
"input": {
"mode": "omni_reference",
"prompt": "A calm seaside sunrise with gentle camera movement",
"resolution": "480p",
"duration": 4,
"sound": false,
"aspect_ratio": "auto",
"image_urls": [
"https://example.com/front.jpg",
"https://example.com/back.jpg"
]
}
}'Video and audio references
curl https://api.flux-context.org/api/v1/generations \
-H "Authorization: Bearer $FLUX_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-5",
"input": {
"mode": "omni_reference",
"prompt": "A calm seaside sunrise with gentle camera movement",
"resolution": "480p",
"duration": 4,
"sound": false,
"aspect_ratio": "auto",
"image_urls": [
"https://example.com/front.jpg"
],
"video_urls": [
"https://example.com/reference.mp4"
],
"audio_urls": [
"https://example.com/reference.mp3"
]
}
}'Edit a video
curl https://api.flux-context.org/api/v1/generations \
-H "Authorization: Bearer $FLUX_API_KEY" \
-H "Content-Type: application/json" \
--data '{
"model": "seedance-2-5",
"input": {
"mode": "omni_reference",
"prompt": "Edit the video to use a warm sunset background",
"resolution": "480p",
"duration": -1,
"sound": false,
"aspect_ratio": "auto",
"image_urls": [
"https://example.com/front.jpg"
],
"video_urls": [
"https://example.com/reference.mp4"
],
"audio_urls": [
"https://example.com/reference.mp3"
],
"reference_intent": "edit"
}
}'Credits
| Resolution | Without video / second | With video / second |
|---|---|---|
| 480p | 15 | 9 |
| 720p | 33 | 20 |
| 1080p | 82 | 50 |
Video reference seconds are included in the billable duration. See the model-specific rounding and editing rules below. Sound does not change the price. Confirmed failed requests are refunded.
Fixed generation costs ceil((output seconds + measured input video seconds) × rate). Audio is not billed separately.
Editing reserves ceil(input video seconds + 30 + 1) × rate. Final cost uses ceil(final total video seconds) × the saved rate; the difference is returned or charged. Missing final billing stays pending. If the available balance cannot cover an additional charge, only the available credits are charged and results are delivered.
Constraints
First/last frames use 1–2 images and aspect_ratio auto. Omni reference supports up to 30 images, 10 videos and 10 audio files.
Each video/audio reference must be 2–30 seconds; video total and audio total must each be at most 30 seconds.
For explicit editing use reference_intent edit, duration -1 and aspect_ratio auto. Other requests use a fixed duration of 4–30 seconds.
Use returned dimensions when available. Unverified video dimensions are null. Videos are delivered as MP4. Reference and editing rules depend on the model.
Response
A successful submission returns HTTP 202 and a request ID. Response excerpt:
{
"id": "REQUEST_ID",
"model": "seedance-2-5",
"status": "processing"
}