API

Manage your API access and requests.

Seedance 2.0 · Documentation
Docs Models

Seedance 2.0

Generate videos from text, frames, or multimodal references.

POST
/api/v1/generations

Example request

Set your FLUX_API_KEY before running. See the parameters below for supported settings.

cURL
curl https://api.flux-context.org/api/v1/generations \
  -H "Authorization: Bearer $FLUX_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2",
  "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. These fields belong inside input.

ParameterDescription
resolution
string · Optional
Output resolution tier. Values are case-sensitive.
480p720p1080p4k
Default: 480p
aspect_ratio
string · Optional
Output proportions; see mode constraints below.
auto1:13:44:39:1616:921:9
Default: auto
sound
boolean · Optional
Generate sound with the video. This is not a reference audio input.
Default: true
mode
string · Required
Choose a supported generation mode.
text-to-videofirst_and_last_framesomni_reference
prompt
string · Required
Describe the desired output. Minimum 1 characters. Maximum 5,000 characters.
image_urls
string[] · Optional
Public HTTPS reference images. Video image order and count depend on mode. Up to 9 items.
video_urls
string[] · Optional
Public HTTPS MP4 or MOV references. Flux measures duration before charging. Maximum file size 200 MiB. Up to 3 items.
audio_urls
string[] · 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 3 items.
duration
integer · Optional
Output duration in seconds. See model constraints for editing and automatic duration. Range: 4–15.
Default: 5
web_search
boolean · Optional
Allow web search context.
Default: false

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
curl https://api.flux-context.org/api/v1/generations \
  -H "Authorization: Bearer $FLUX_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2",
  "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
curl https://api.flux-context.org/api/v1/generations \
  -H "Authorization: Bearer $FLUX_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2",
  "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
curl https://api.flux-context.org/api/v1/generations \
  -H "Authorization: Bearer $FLUX_API_KEY" \
  -H "Content-Type: application/json" \
  --data '{
  "model": "seedance-2",
  "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"
    ]
  }
}'

Credits

ResolutionWithout video / secondWith video / second
480p106.142857
720p21.42857113.285714
1080p52.85714332.714286
4k111.42857166.714286

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.

Credits = ceil((output seconds + measured input video seconds) × rate), using the exact website pricing rate. Displayed rates are rounded to 6 decimal places. Audio is not billed separately.

Constraints

Output duration is fixed at 4–15 seconds. First/last frames accept 1–2 images with aspect_ratio auto.

Omni reference supports up to 9 images, 3 videos and 3 audio files. Each video/audio must be 2–15 seconds; video total and audio total must each be at most 15 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:

JSON
{
  "id": "REQUEST_ID",
  "model": "seedance-2",
  "status": "processing"
}
Continue readingPoll & download