Seedance 2.5 on Sume takes no bitrate_mode: what to send
The seedance-2.5 catalog row lists 'no bitrate_mode'. Control cost and size with resolution (480p to 1080p) and duration (4 to 30 s) instead.

Leave bitrate_mode out of any Seedance 2.5 request. Sume's Video Router catalog lists seedance-2.5 with the constraint "no bitrate_mode", so the field is not part of that model's request shape. The levers you do have are resolution (480p, 720p, 1080p) and duration (4 to 30 seconds).
This matters when you copy a request body from another model. The Video Router docs say limits differ for each model, and that you should read capabilities from the catalog instead of assuming one envelope.
What you control on seedance-2.5
File size and price both track resolution and length for this id, so those two fields are your dials. The catalog also lists eight aspect-ratio values, including auto and adaptive.
| Field | seedance-2.5 on Sume |
|---|---|
resolution | 480p, 720p, 1080p |
duration | 4 to 30 s |
bitrate_mode | Not accepted (catalog constraint) |
| References | Image, video and audio types are advertised |
| Frames | First and last frame supported |
A draft-then-final habit
Because the bitrate is not yours to set, the cheap way to save money is a lower resolution while you iterate. Run the prompt at 480p, check motion and framing, then re-run the keeper at 1080p. Keep in mind that the two runs are separate jobs and the video API takes no seed, so the final will not be a pixel-for-pixel upgrade of the draft.
If you need a file under a platform's size cap, handle that after generation with a render step rather than hoping the model's bitrate lands under it. Check the delivered file with video_inspect and re-encode only when it is over.
Check the row before you copy
Do not trust a table in a blog post for something that can change. Pull GET /v1/video-router/models/seedance-2.5 and read the constraints list. If a later release adds the field, it will show up there, and your request validator can read it instead of a hard-coded rule.
Request checklist
A short list catches most rejected Seedance 2.5 bodies before they leave your code.
Keep one request builder per model id and let the catalog row decide which optional fields it may add. Then a field that is valid on one id cannot leak into another id's body.
- Duration is an integer from 4 to 30; the 2.0 ids stop at 15.
- Resolution is one of 480p, 720p or 1080p.
- Aspect ratio is one of the eight listed values, including
adaptive. - Do not send
bitrate_mode, and do not sendseedorsize, which the video API rejects for every model.
Sources
Related posts
More in Developers
- Seedance 2.5 job failed: refund, new idempotency key, and rerun cost
A failed Seedance 2.5 job is refunded on Sume. Retry with a new Idempotency-Key; the old one replays the failed job. A Python handler and the rerun cost.
- Low-latency TTS without streaming: one job per sentence
Sume TTS has no streaming. To start playback early, split the script by sentence, submit the jobs in parallel and play each file as it finishes, in order.
- Shadow-run gpt-image-2.5 beside your current model before October 23
Render one prompt on a Sume image id and your current model with a separate idempotency key per model, then compare cost and output before gpt-image-1 ends.
- Shortest and longest values Sume accepts for a Short: one table
Minimum clip, slot, spine and fade values and the maximums for trim, transitions and soundtrack on Sume, in one table with an offline slot checker in Python.
Written by Sume