Music Router duration_seconds: 4 models take it, 5 do not
Since Oct 14, 2026 four Sume Music Router models accept duration_seconds (5–300 s ranges); five still set length from the prompt and reject the field.

Four of the nine Music Router models now accept duration_seconds: elevenlabs-music-2.5 (10–300), stable-audio-2.5 (5–190), ace-step (5–240) and cassetteai-music (10–180). The other five, sume/music-auto, lyria-3.5, lyria-3-pro, minimax-music-2.6 and lyria-2, still reject the field, and duration is refused on every row.
Older advice that the router has no length field is out of date for those four ids. This post is the current rule, read from Sume's docs and from the code that ships on main.
Which ids take the field
Sume's Music Router page says duration_seconds is the track's length in whole seconds, "only on models whose catalog row lists capabilities.duration_seconds". Each of the four defaults to 60 when you omit it.
Whole seconds only: a value outside the row's range, or a fraction, fails validation with a message that names the model and its range.
| Router id | duration_seconds | Default |
|---|---|---|
| elevenlabs-music-2.5 | 10–300 | 60 |
| stable-audio-2.5 | 5–190 | 60 |
| ace-step | 5–240 | 60 |
| cassetteai-music | 10–180 | 60 |
| sume/music-auto, lyria-3.5, lyria-3-pro, minimax-music-2.6, lyria-2 | not accepted: length comes from the prompt or the engine | n/a |
Request that pins a length
Pin an explicit id and send the field next to the prompt. This one asks Stable Audio 2.5 for a 45-second bed.
Send Idempotency-Key as on any Music Router call, then poll /v1/jobs/{id}/result and read the audio artifact.
curl -X POST https://api.sume.com/v1/music-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: bed-45s-001" \
-d '{
"model": "stable-audio-2.5",
"prompt": "Calm ambient pad bed, 70 BPM, no vocals",
"duration_seconds": 45
}'What to do on the other five
On Music Auto and the Lyria rows, put the length in the prompt ("a 2-minute track" or [0:00-0:30] Intro: … section marks). Lyria 2 writes one 30-second clip. MiniMax Music 2.6 writes its own length.
If you need an exact cut from one of those, generate a little long and trim on a Timeline instead of expecting the field to work.
Pricing follows the length on three of the four
elevenlabs-music-2.5 and cassetteai-music bill per started minute and ace-step per second, so duration_seconds changes the credits; stable-audio-2.5 is one price per track whatever the length. Each row's current credits are in GET /v1/music-router/models and on the API rate card.
The catalog row also lists credits_per_minute on the length-priced rows, which is the number to multiply when you plan a batch of long tracks.
Sources
Related posts
More in Models
- An OpenRouter-compatible video API: sume/auto or a pinned model
Sume's POST /v1/videos follows OpenRouter's video generation API field for field. Let sume/auto pick the model, or pin a catalog id like seedance-2.5.
- Image generation API with reference images: POST /v1/images
Send a prompt plus public HTTPS reference images to Sume's POST /v1/images. Pin a catalog model or send sume/auto; the catalog lists each model's limits.
- Video 1.0 and Image 1.0 are retiring soon: move to sume/auto
Sume Video 1.0 and Image 1.0 are retiring soon and already run as aliases for the Auto path. New integrations call /v1/videos or /v1/images with sume/auto.
- Music generation API: the Sume Music Router with Lyria 3.5
Sume's Music Router turns a text prompt into a track via POST /v1/music-router/generate. sume/music-auto picks the engine, Lyria 3.5 today.
Written by Sume