Seedance 2.5 at a Glance
Seedance 2.5 is ByteDance's newest Seedance model, and the most capable one you can call here: six modes, clips of up to 30 seconds and up to 50 reference assets in one request. It can edit and extend footage you already have, and Draft Mode lets you test an idea at 480p before you pay for 1080p.
| Model ID | seedance-2.5 |
|---|---|
| Clip length | 4–30 seconds |
| Resolutions | 480p · 720p · 1080p |
| Aspect ratios | 21:9 · 16:9 · 4:3 · 1:1 · 3:4 · 9:16 |
| Modes | Text to Video, Omni Reference, First & Last Frames, Video Edit, Video Extension, Draft Mode |
| Reference assets | Up to 30 images, 10 videos and 10 audio clips, 50 in total |
| Sound | Native audio, on by default. Set generate_audio to false for a silent clip. |
| Videos per request | One |
Seedance 2.5 API Pricing
Official prices. Top up from $5. No time limit.
| Resolution | OnlySeedanceReal people accepted | fal | Higgsfield | You Save |
|---|---|---|---|---|
| With Video InputOmni Reference with video, Video Edit and Video Extension. Billed per second of input video plus output. | ||||
| 480p | $0.062 /s | $0.123 /s | $0.123 /s | 50% |
| 720p | $0.138 /s | $0.277 /s | $0.277 /s | 50% |
| 1080p | $0.340 /s | $0.682 /s | $0.682 /s | 50% |
| Without Video InputText to Video, First & Last Frames, Omni Reference with images or audio, and Draft Mode. Billed per second of output. | ||||
| 480p | $0.099 /s | $0.206 /s | $0.206 /s | 52% |
| 720p | $0.231 /s | $0.462 /s | $0.462 /s | 50% |
| 1080p | $0.569 /s | $1.137 /s | $1.137 /s | 50% |
- Competitors are shown at their public list prices, before temporary or negotiated discounts, as of October 2026.
Price by Mode
4–30 second clips. Prices in USD per second.
| Mode | 480p | 720p | 1080p | Billed Seconds |
|---|---|---|---|---|
| Text to Video | $0.099 /s | $0.231 /s | $0.569 /s | Output |
| Omni Reference, images or audio | $0.099 /s | $0.231 /s | $0.569 /s | Output |
| Omni Reference, with video | $0.062 /s | $0.138 /s | $0.340 /s | Input video + output |
| First & Last Frames | $0.099 /s | $0.231 /s | $0.569 /s | Output |
| Video Edit | $0.062 /s | $0.138 /s | $0.340 /s | Input video + output, which matches the input's length |
| Video Extension | $0.062 /s | $0.138 /s | $0.340 /s | Input video + new segment |
| Draft Mode: 480p draft | $0.099 /s | – | – | Output |
| Draft Mode: 1080p final | – | – | $0.569 /s | Output |
| Draft Mode: 1080p final, draft with video | – | – | $0.340 /s | Input video + output |
What a Clip Costs
Billed seconds times the price per second.
| Example | Billed Seconds | Price per Second | Total |
|---|---|---|---|
| Test clip: 4 seconds at 480p | 4 | $0.099 /s | $0.396 |
| 10 seconds at 720p | 10 | $0.231 /s | $2.310 |
| Long take: 30 seconds at 1080p | 30 | $0.569 /s | $17.070 |
| 5 seconds at 720p with a 5-second reference video | 10 | $0.138 /s | $1.380 |
| Edit a 10-second clip at 720p | 20 | $0.138 /s | $2.760 |
Seedance 2.5 Modes
Every mode uses the same endpoint.
Text to Video
Describe the subject, the action, the camera and the mood. Only prompt is required: a request that sets nothing else renders 5 seconds at 720p in 16:9.
{
"model": "seedance-2.5",
"prompt": "A slow aerial shot over a foggy pine forest at sunrise",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "16:9"
}Omni Reference
Send images, videos and audio for the model to follow: a subject's look, a motion, a beat. Name them in the prompt as @Image 1, @Video 1 or @Audio 1.
One request takes up to 30 images, 10 videos and 10 audio clips, 50 in total, and audio can be the only reference. Reference videos bill their seconds along with the output's, at the with-video price; images and audio are free.
Photos and videos of real people work as references, with no manual approval or extra verification. You need the consent of everyone shown: see the Acceptable Use Policy.
{
"model": "seedance-2.5",
"prompt": "The woman in @Image 1 dances to the beat of @Audio 1, moving like the dancer in @Video 1",
"duration": 10,
"resolution": "720p",
"reference_images": [{"url": "https://example.com/woman.png"}],
"reference_videos": [{"url": "https://example.com/dance.mp4"}],
"reference_audios": [{"url": "https://example.com/beat.mp3"}]
}First & Last Frames
start_image makes the video open on your image. Add end_image and the model fills in the motion between the two.
Set aspect_ratio to adaptive: the video takes the ratio of the first frame. Frames can't be combined with reference assets in the same request.
{
"model": "seedance-2.5",
"prompt": "Day turns into night over the same skyline as the lights come on",
"duration": 5,
"resolution": "720p",
"aspect_ratio": "adaptive",
"start_image": {"url": "https://example.com/day.png"},
"end_image": {"url": "https://example.com/night.png"}
}Video Edit
Rewrite footage you already have: change the subject, the scene or the style and keep the motion. The first entry of reference_videos is the clip to edit, 4 to 30 seconds long.
The result keeps the clip's length and aspect ratio, so leave out duration and aspect_ratio; you choose the resolution. The clip's seconds bill along with the output's, at the with-video price: editing a 5-second clip bills 10 seconds.
{
"model": "seedance-2.5",
"omni_reference_task_type": "edit",
"prompt": "Make the colors warmer and keep everything else",
"resolution": "720p",
"reference_videos": [{"url": "https://example.com/street.mp4"}]
}Video Extension
Continue a clip forward or backward: say which way in the prompt, and what happens next. The first entry of reference_videos is the clip to continue.
duration sets the length of the new footage, 4 to 30 seconds, and the result is the new footage only, in the clip's aspect ratio. The clip's seconds bill along with the new footage, at the with-video price: extending a 5-second clip by 10 seconds bills 15 seconds.
{
"model": "seedance-2.5",
"omni_reference_task_type": "extend",
"prompt": "Continue forward: the camera keeps climbing until the whole valley is in view",
"duration": 5,
"resolution": "720p",
"reference_videos": [{"url": "https://example.com/valley.mp4"}]
}Draft Mode
Try an idea before you pay for the final. Add draft: true to a text, frame or reference request to render a 480p draft.
When a draft looks right, send its request_id in draft_task within 7 days, with the same API key and only model beside it. The final keeps the draft's prompt, inputs, length, sound and aspect ratio, and renders at 1080p.
The draft and the final are billed separately, each for the draft's length: the draft at the 480p price and the final at the 1080p price.
{
"model": "seedance-2.5",
"prompt": "A slow aerial shot over a foggy pine forest at sunrise",
"duration": 5,
"draft": true
}{
"model": "seedance-2.5",
"draft_task": {"id": "e9a36267-5a81-46ee-87a1-baf62bec7e9a"}
}Quick Start
Create an API key in the console and export it as ONLYSEEDANCE_API_KEY. These three calls submit a task, check it and save the video.
curl https://api.onlyseedance.com/v1/videos/generations \
-H "Authorization: Bearer $ONLYSEEDANCE_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "seedance-2.5",
"prompt": "A slow aerial shot over a foggy pine forest at sunrise"
}'curl https://api.onlyseedance.com/v1/videos/$REQUEST_ID \
-H "Authorization: Bearer $ONLYSEEDANCE_API_KEY"curl -L https://api.onlyseedance.com/v1/videos/$REQUEST_ID/content \
-H "Authorization: Bearer $ONLYSEEDANCE_API_KEY" \
-o output.mp4import os
import time
import requests
BASE = "https://api.onlyseedance.com"
headers = {"Authorization": f"Bearer {os.environ['ONLYSEEDANCE_API_KEY']}"}
job = requests.post(
f"{BASE}/v1/videos/generations",
headers=headers,
json={"model": "seedance-2.5", "prompt": "A slow aerial shot over a foggy pine forest at sunrise"},
timeout=60,
)
job.raise_for_status()
request_id = job.json()["request_id"]
while True:
task = requests.get(f"{BASE}/v1/videos/{request_id}", headers=headers, timeout=60).json()
if task["status"] != "pending":
break
time.sleep(10)
if task["status"] == "done":
video = requests.get(f"{BASE}/v1/videos/{request_id}/content", headers=headers, timeout=600)
video.raise_for_status()
with open("output.mp4", "wb") as f:
f.write(video.content)
else:
print(task.get("error"))Fields, task status, billing and errors are in the API documentation.
Compare Seedance Models
| Model | With Video Input | Without Video Input | Clip Length | Top Resolution | Best For |
|---|---|---|---|---|---|
| Seedance 2.5 | From $0.062 /s | From $0.099 /s | 4–30 seconds | 1080p | Long takes, real-person references, and editing or extending footage |
| Seedance 2.0 | From $0.043 /s | From $0.070 /s | 4–15 seconds | 4K | The highest quality in the 2.0 series, and 4K |
| Seedance 2.0 Fast | From $0.033 /s | From $0.056 /s | 4–15 seconds | 720p | A balance of speed and cost |
| Seedance 2.0 Mini | From $0.021 /s | From $0.035 /s | 4–15 seconds | 720p | The lowest price, for drafts and batches |
Seedance 2.5 FAQ
How much does the Seedance 2.5 API cost?
Seedance 2.5 costs $0.099 per second at 480p, $0.231 at 720p and $0.569 at 1080p, about 50% below fal and Higgsfield. With video input it costs $0.062, $0.138 and $0.340, counted on input plus output seconds.
Can Seedance 2.5 use reference images of real people?
Yes. Photos and videos of real people work as references, with no manual approval or extra verification. Use them only with the consent of the people shown, and never use public figures without their written permission. See the Acceptable Use Policy.
Is this the official Seedance 2.5 model?
Yes. Every video is generated by ByteDance's official Seedance 2.5 model through the official Seedance API. We never swap in another model or alter the output. OnlySeedance is an independent provider, not affiliated with or endorsed by ByteDance.
How long can a Seedance 2.5 video be?
From 4 to 30 seconds, in whole seconds, at 480p, 720p or 1080p. Each request renders one video.
How long does Seedance 2.5 take to render a video?
Usually 2 to 5 minutes for a clip of 4 to 10 seconds. A busy queue can take longer, so check the task's status instead of assuming a deadline.
Does Seedance 2.5 support 4K?
No, it stops at 1080p. For 4K, use Seedance 2.0.
What is Seedance 2.5 Draft Mode?
A cheaper way to try ideas. You render a 480p draft, then turn the one you like into a 1080p final within 7 days, with the same prompt, inputs and length. The draft and the final are billed separately.
Should I use Seedance 2.5 or Seedance 2.0?
Use Seedance 2.5 for clips longer than 15 seconds, more than 15 reference assets, Video Edit, Video Extension or Draft Mode. Use Seedance 2.0 for 4K, or when a lower price per second matters more.
Do I pay for failed jobs?
No. Failed jobs and jobs refused by content review are never charged.