Seedance 2.5 changes the two numbers that made AI video awkward to build around: clip length (15 seconds becomes 30) and audio (none becomes dialogue, sound effects, and music generated in the same pass). The headline features are easy to find. The constraints are not, and the constraints are what decide whether the model fits your pipeline. These notes cover the parameter surface as it exists on the channels you can actually use today, gotchas first.
One framing note before the details: Seedance is ByteDance's model family. I work with it through third-party channels, so nothing here is official documentation, and channel-level caps can differ from whatever a first-party API eventually exposes.
The numbers that changed
| Seedance 2.0 family | Seedance 2.5 | |
|---|---|---|
| Clip length | 4 to 15 s | 4 to 30 s |
| Audio | none, add it in post | generated with the video: speech, SFX, background music |
| Image-to-video prompt | optional | required, minimum 3 characters |
| Reference budget | 9 images + 3 videos + 3 audio | 30 images + 10 videos + 10 audio |
| Audio-only reference | rejected (needs an image or video) | accepted |
| Resolution | up to 4K on some tiers | 480p / 720p |
Two rows deserve a second look. The reference budget: 30 + 10 + 10 is 50, which is exactly the "50 multimodal reference files" figure from the launch messaging. That number turns out to be a real upload limit, not marketing rounding. And the resolution row goes down, not up. More on that at the end.
The prompt is required now, even for image-to-video
The 2.0 family let you submit an image with no prompt and take whatever motion the model guessed. Seedance 2.5 rejects any request without a prompt, image-to-video included, with a floor of three characters.
This reads like a regression and behaves like a feature. An image-to-video prompt should describe what changes, not what exists; the model already sees the frame. Being forced to write "she turns toward the window, curtain moves in the wind" instead of submitting a bare image is the difference between specifying motion and gambling on it. My re-roll rate dropped once the habit formed.
Dialogue goes in double quotes
Audio generation defaults to on and covers three layers at once: spoken lines, sound effects, and background music. The convention that makes it usable: wrap anything that should be spoken in double quotes. Text outside quotes is treated as scene direction.
Rainy night outside a convenience store. A woman in her twenties
closes her umbrella and pushes the door open. The bell above the
door rings. The clerk looks up and says "Late shift again?"
She smiles: "Yeah. Overtime."
Camera: slow zoom-in from outside, through the glass.
Warm fluorescent tones.
Two practical notes. Only the quoted lines are candidates for speech, so keep dialogue and direction visually separate, screenplay style. And props that make noise are doing double duty: the rain and the bell in that prompt are also sound-effect directives. A prompt made of abstract mood words gives the audio layer nothing to attach to.
The Seedance 2.5 reference budget and its fine print
| Type | Count | Per file | Combined cap |
|---|---|---|---|
| Images | up to 30 | JPEG / PNG / WEBP and friends | none |
| Videos | up to 10 | 2 to 30 s, up to 200 MB, MP4 / MOV | 30 s total |
| Audio | up to 10 | 2 to 30 s, up to 15 MB, WAV / MP3 | 30 s total |
The combined 30-second caps are the ones that bite. Uploading a whole take as a style reference will hit the ceiling fast; trim reference clips to the segment that actually demonstrates what you want.
Audio-only reference is new. The 2.0 channel required an image or a video somewhere in the mix; 2.5 accepts a lone audio track. If your workflow starts from a finished song, the order of operations flips: track first, video generated to fit it.
Real-person reference images are accepted on this channel. The obvious rules apply: faces you own or have permission to use, and check the synthetic-media disclosure settings on whatever platform you publish to.
The budget is also better spent on roles than on volume: a character sheet, a background set, a camera-movement clip. Thirty near-duplicate images of the same face buy you very little.
Chaining past 30 seconds
There is a return_last_frame flag. Set it and the response includes the closing frame as a still image alongside the video. Feed that still back as the first frame of the next request (first-plus-last-frame mode) and you have a manual scene-chaining loop: 30-second segments that start from pixel continuity instead of prompt continuity. Not guaranteed seamless, but a far better starting point than describing the previous shot from memory.
Cost scales the way you expect, plus one quirk
Generation cost is per second and tiered by resolution, so a 30 s / 720p take costs several multiples of a 5 s / 480p draft. The workflow that follows is obvious once stated: iterate composition at 5 s / 480p, commit to full length once the prompt is settled. Doing it in the other order is expensive.
The quirk: on the channel I use, attaching a reference video makes billing count input seconds as well as output seconds, with a minimum floor. Image and audio references add no billable time. So trimming reference clips saves money on top of staying under the combined cap. Check your channel's pricing page for the exact mechanics before you script anything against it.
The ceilings, stated plainly
- 480p and 720p only, on the channels available right now. If the deliverable is 4K, budget an upscale step. Whether 2.5 gets a higher ceiling later is unannounced as far as I can find.
- No seed parameter, so no reproducibility. Two identical requests are two different videos.
- MOV output exists for color-sensitive post work, but some players will not open it. Stay on MP4 unless you know why you need MOV.
- Seven aspect ratios from 21:9 to 9:16, plus an adaptive default. First-plus-last-frame requests keep the input image's ratio regardless.
Trying it without writing code
If you want to poke at the parameter surface before committing to an integration, seedance 2.0 runs Seedance 2.5 in the browser with everything above exposed as form controls, which is how I mapped most of this. It is ByteDance's model underneath, reached through a third-party channel.
The shift since 2.0 is easy to summarize: that generation produced clips you edited into scenes; Seedance 2.5 produces scenes. Thirty seconds with synced sound covers a full beat of story, an entire product demo, most of a short. If you have built against it and hit constraints I missed, I would genuinely like to hear them in the comments.

Top comments (0)