Models/Video/seedance-2.5
T2VI2VR2VF2FAVAILABLE

Seedance 2.5

Generate 4–30 second native video from text, images, audio, and completed GenAPI videos with optional synchronized audio. Create long-form scenes, animate a first frame, preserve subjects across references, or edit and extend earlier outputs.

OVERVIEW

One model, five workflows

Seedance 2.5 produces a single native clip per request. It can generate from text, animate one image, transition between two frames, combine multimodal references, or use an earlier GenAPI video as material for reference, editing, or extension.

Native audioDialogue, ambience, and effects in the same generation
Long single shotsUp to 30 seconds without stitching separate outputs
Directed referencesName inputs with @handles and assign each a role
MODES

Required arguments by workflow

01

Text to video

text-to-video

Required: model, prompt, duration_seconds. Use a fixed aspect ratio. Reference arrays must be empty.

02

Image to video

image-to-video

Required: model, prompt, duration_seconds, and 1–2 image_urls. Set aspect_ratio to adaptive. The second image, when present, is the final frame.

03

Reference to video

reference-to-video

Required: model, prompt, duration_seconds, plus at least one image, audio, or completed source video. Up to 50 references combined.

04

First & last frame

image-to-video

Required: exactly 2 image_urls in start/end order, plus prompt and duration. Framing is adaptive.

05

Edit or extend

reference-to-video

Required: source_video_ids and reference_video_operation set to edit or extend. Use adaptive framing. Edit matches the first source length; extend uses duration_seconds.

REQUEST BODY

All parameters

The endpoint is POST /v1/videos. Unknown fields are rejected. Array indexes are zero-based.

FIELDTYPEREQUIREMENTDEFAULTDETAILS
modelstringRequired

Must be exactly "seedance-2.5".

promptstringRequired

1–15,000 characters. Describe subject, action, environment, camera, and sound.

modeenumOptional"text-to-video"

text-to-video, image-to-video, or reference-to-video.

duration_secondsintegerRequired

4–30. For edit, the output matches the first source video even though this field remains required.

resolutionenumOptional"720p"

480p, 720p, or 1080p.

aspect_ratioenumOptional"16:9"

21:9, 16:9, 9:16, 1:1, 4:3, 3:4, or adaptive. Image, edit, and extend require adaptive.

audiobooleanOptionaltrue

Generate synchronized dialogue, ambience, and sound effects.

image_urlsstring[]By mode[]

HTTPS URLs. 1–2 for image-to-video; up to 30 for reference-to-video.

audio_urlsstring[]By mode[]

Up to 10 public HTTPS MP3 or WAV URLs in reference mode.

source_video_idsuuid[]By mode[]

Up to 10 completed videos owned by the same GenAPI account; 30 input seconds combined.

reference_video_operationenumOptional

reference, edit, or extend. Requires source_video_ids; edit and extend use adaptive framing.

subject_to_image_idsobjectOptional

Reference mode only. Maps an @handle to valid zero-based indexes in image_urls, for example {"product":[0]}.

subject_to_video_idsobjectOptional

Reference mode only. Maps an @handle to valid zero-based indexes in source_video_ids.

subject_to_audio_idsobjectOptional

Reference mode only. Maps an @handle to valid zero-based indexes in audio_urls.

EXAMPLES

Copy a complete request

Text to video

curl https://api.genapi.cloud/v1/videos \
  -H "Authorization: Bearer $GENAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: launch-film-001" \
  -d '{
    "model": "seedance-2.5",
    "mode": "text-to-video",
    "prompt": "A macro shot of dew rolling across a silver leaf, dawn light, slow push-in",
    "duration_seconds": 8,
    "resolution": "720p",
    "aspect_ratio": "16:9",
    "audio": true
  }'
Image to video example
curl https://api.genapi.cloud/v1/videos \
  -H "Authorization: Bearer $GENAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: animate-001" \
  -d '{
    "model": "seedance-2.5",
    "mode": "image-to-video",
    "prompt": "Slow dolly-in as the fabric moves in a light breeze",
    "duration_seconds": 6,
    "resolution": "720p",
    "aspect_ratio": "adaptive",
    "image_urls": ["https://cdn.example.com/start.jpg"],
    "audio": false
  }'
Multimodal reference example
curl https://api.genapi.cloud/v1/videos \
  -H "Authorization: Bearer $GENAPI_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: campaign-003" \
  -d '{
    "model": "seedance-2.5",
    "mode": "reference-to-video",
    "prompt": "@product rotates on the pedestal while @beat sets the edit rhythm",
    "duration_seconds": 10,
    "resolution": "1080p",
    "aspect_ratio": "9:16",
    "image_urls": ["https://cdn.example.com/product.png"],
    "audio_urls": ["https://cdn.example.com/beat.mp3"],
    "subject_to_image_ids": {"product": [0]},
    "subject_to_audio_ids": {"beat": [0]},
    "audio": true
  }'
Idempotency: send a unique Idempotency-Key with every create request. Safe retries with the same key return the original generation and are never charged twice.
MULTIMODAL INPUT

How references work

References are ordered within their own arrays. Use subject maps to give them names, then address those names in the prompt with @handle.

30image URLs
10source videos
10audio URLs
50combined

Why source_video_ids instead of video URLs?

GenAPI accepts completed, account-owned generation IDs for video references. This lets us verify duration, enforce ownership, and bill input plus output seconds exactly without trusting client-supplied metadata.

Naming references

"image_urls": ["https://cdn.example.com/shoe.png"],
"audio_urls": ["https://cdn.example.com/beat.mp3"],
"subject_to_image_ids": {"product": [0]},
"subject_to_audio_ids": {"beat": [0]},
"prompt": "@product rotates slowly; cut movement to @beat"
ASYNC API

Response lifecycle

1pending

Accepted and credits reserved.

2running

Generation is processing.

3completed

Authenticated output URL available.

Poll GET /v1/videos/:id with exponential backoff beginning at 2 seconds. A terminal failed response automatically refunds the reservation.

{
  "id": "8e2f4a7e-...",
  "object": "video.generation",
  "model": "seedance-2.5",
  "status": "completed",
  "cost_usd": 1.824,
  "output": {"url": "/v1/videos/8e2f4a7e-.../content"}
}
PAY AS YOU GO

Pricing

Prices already include the GenAPI service markup. No subscription is required.

RESOLUTIONSTANDARDWITH SOURCE VIDEO*
480p$0.102 / sec$0.060 / sec
720p$0.228 / sec$0.138 / sec
1080p$0.600 / sec$0.324 / sec

* Source-video workflows bill input plus output seconds. An 8-second 720p output with 10 input seconds costs $2.484.

VALIDATION

Limits & file requirements

  • Prompt: 1–15,000 characters.
  • Images: public HTTPS JPG, PNG, or WebP; below 30 MB; 300–6,000 px per axis; aspect ratio between 2:5 and 5:2.
  • Audio: public HTTPS WAV or MP3; 2–30 seconds each; up to 30 seconds combined; below 15 MB.
  • Source videos: completed GenAPI video IDs only; up to 10 items and 30 seconds combined.
  • Output: 4–30 seconds at 24 fps. Generated results are nondeterministic and should be reviewed before publication.
Source URLs must remain publicly reachable while the request is admitted. A URL that is private, expired, or does not return a successful response will be rejected before billing.