Seedance 2.5
Seedance 2.5 is ByteDance's video model. It writes a video with sound from a text prompt, animates a first frame (and can end on a last frame), or keeps a character, product, voice or style from reference images, clips and audio. Clips run 4 to 30 seconds, or the model picks the length.
| Mode | Endpoint id | Model page |
|---|---|---|
| Text to video | flymyai/bytedance-seedance-2_5-text-to-video | https://app.flymy.ai/models/flymyai/bytedance-seedance-2_5-text-to-video |
| Image to video | flymyai/bytedance-seedance-2_5-image-to-video | https://app.flymy.ai/models/flymyai/bytedance-seedance-2_5-image-to-video |
| Reference to video | flymyai/bytedance-seedance-2_5-reference-to-video | https://app.flymy.ai/models/flymyai/bytedance-seedance-2_5-reference-to-video |
Generate a video
A video takes several minutes, so use the async route: submit, then poll the result. Inputs are form fields.
curl -X POST https://api.flymy.ai/api/v1/flymyai/bytedance-seedance-2_5-text-to-video/predict/async/ \
-H "X-API-KEY: fly-***" \
-F 'prompt=A paper boat drifts along a rain-soaked street at dusk, cinematic' \
-F 'resolution=720p' -F 'duration=10' -F 'ratio=16:9'
# {"prediction_id": "02ecd473..."}
curl "https://api.flymy.ai/api/v1/flymyai/bytedance-seedance-2_5-text-to-video/predict/async/result/?request_id=02ecd473..." \
-H "X-API-KEY: fly-***"
The result route answers 425 while the video is being made. When it is
ready, it returns the video as a signed link valid for 24 hours, and
calculated_price, what the run cost.
Image to video
Give the first frame, and optionally the last one, as a file upload or a public image URL:
curl -X POST https://api.flymy.ai/api/v1/flymyai/bytedance-seedance-2_5-image-to-video/predict/async/ \
-H "X-API-KEY: fly-***" \
-F 'prompt=Clouds drift over the lake, gentle camera push in' \
-F 'first_frame_image=@lake.jpg' -F 'resolution=720p' -F 'duration=5'
ratio defaults to adaptive, which keeps the shape of your image. Frames
with real people are accepted.
Reference to video
Pass references as public URLs, one URL or a JSON array per field. The prompt names them in order: image 1, image 2, and so on.
| Field | Limits |
|---|---|
reference_images | Up to 30 images |
video_urls | Up to 10 clips (mp4, mov), 2-30 s each, 30 s in total |
audio_urls | Up to 10 tracks (mp3, wav), 30 s in total |
task | auto (default), reference (generate from them), edit (change the source clip) or extend (continue it; duration is then the length of the addition) |
curl -X POST https://api.flymy.ai/api/v1/flymyai/bytedance-seedance-2_5-reference-to-video/predict/async/ \
-H "X-API-KEY: fly-***" \
-F 'prompt=The woman from image 1 walks through a night market and waves' \
-F 'reference_images=["https://example.com/woman.jpg"]' \
-F 'resolution=720p' -F 'duration=8'
Reference images, clips and audio of real people are accepted. Reference to video takes no first or last frame.
Parameters
| Parameter | Values |
|---|---|
prompt | What happens in the video |
resolution | 480p, 720p (default) or 1080p |
ratio | adaptive (default), 21:9, 16:9, 4:3, 1:1, 3:4, 9:16 |
duration | 4 to 30 seconds (5 when omitted); -1 lets the model choose the length |
generate_audio | true (default) adds sound, false makes a silent video; the price is the same |
enable_safety_checker | true (default); false (API only) turns off the provider's content pre-screening |
watermark | false (default) or true |
seed | For repeatable takes |
From an AI assistant
An assistant connected to FlyMy.AI finds the three models with
recommend_model, quotes them with get_pricing and makes the video with
run_model (the same input as the REST fields). The result is a link to the
video file.
Pricing
You pay for the video the model renders, metered in tokens. A clip as an input uses the lower rate and adds the clip's tokens:
| Resolution | Per 1M tokens | With a clip as an input | About, per second |
|---|---|---|---|
| 480p | $11.235 | $6.72 | $0.11 |
| 720p | $11.235 | $6.72 | $0.24 |
| 1080p | $12.285 | $7.35 | $0.60 |
A run with the defaults (720p, 5 seconds) costs about $1.22; a run that fails
costs nothing. Sound does not change the price. Before a run starts, a request
whose top price is more than your balance is refused with 403 Insufficient funds; with duration: -1 the top price counts 30 seconds, and with clips as
input it also counts up to 30 seconds of them. Every charge is in
your usage.