Which Lyria ran? job.model vs job.request.routed_model on Sume
On Sume's Music Router, job.model echoes what you sent and job.request.routed_model names the engine that ran. How to read both and pin a Lyria id.

How do you tell which Lyria model produced a Sume track? Read job.request.routed_model. The Music Router docs say job.model echoes the routable id you requested, so sume/music-auto stays sume/music-auto, and job.request.routed_model names the catalog engine that ran, for example lyria-3.5. That holds on both the router and the Music 1.0 routes.
The routable ids are sume/music-auto (the default), lyria-3.5 and lyria-3-pro, and sume/music-auto resolves to Lyria 3.5 today.
Read the catalog first
GET /v1/music-router/models lists the models and GET /v1/music-router/models/{model_id} returns one. An unknown id fails with 400 model_not_found and a catalog_url, which saves a guess.
curl https://api.sume.com/v1/music-router/models \
-H "Authorization: Bearer $SUME_API_KEY"Two fields, two meanings
| Field | Meaning | Example |
|---|---|---|
job.model | What you requested | sume/music-auto |
job.request.routed_model | Engine that ran | lyria-3.5 |
Request model | Optional routable id | lyria-3-pro |
Log it with each cue
Store routed_model next to each generated cue in your project. When the auto choice changes, the field tells you which cues came from which engine, and you can pin an id on the next request instead of letting the router choose. The Music Router charges the fixed Music price per audio generation on every model, with the provider list price shown in the catalog for reference.
Poll the job
Use the job envelope to fetch status and result. The audio artifact is in result.artifacts[] where type is audio; result.lyrics carries any model-reported lyrics or section map. Treat that as metadata, not as a measurement of the audio.
Sources
Related posts
More in Developers
- Sume rate limit scope: /v1 and MCP count, OPTIONS preflights do not
The Sume limiter covers /v1 paths and the MCP route. CORS OPTIONS preflights are exempt, and reads and writes use separate buckets. What that means.
- Which short-video lengths fit one video-trim call? 0.2 to 900 seconds
One Sume video-trim call outputs 0.2 to 900 seconds, so a 3-minute Short fits easily. A 10-minute TikTok ad fits; a 60-minute source does not.
- whisper-1 or gpt-transcribe for subtitles: what OpenAI assigns to each
OpenAI recommends gpt-transcribe, gpt-4o-transcribe-diarize for speakers, whisper-1 for translation and subtitles. Plus the 25 MB limit and a chunking script.
- Why adaptive and auto are missing from /v1/videos/models
Seedance and Wan list auto and adaptive aspect ratios in the Video Router catalog, but /v1/videos/models filters them out. Which models, and a script to see it.
Written by Sume