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.

5 min readSume
All posts

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

Fields from docs.sume.com Music Router, read 2026-10-04.
FieldMeaningExample
job.modelWhat you requestedsume/music-auto
job.request.routed_modelEngine that ranlyria-3.5
Request modelOptional routable idlyria-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

All Developers posts

Written by Sume