List music models by API: GET /v1/music-router/models
The Music Router catalog endpoints list routable music model ids and a provider list price. Routable ids today: sume/music-auto, lyria-3.5, lyria-3-pro.

Call GET /v1/music-router/models to list what the Music Router will route, or GET /v1/music-router/models/{model_id} for one entry. As of the docs read on 2026-09-30, the routable ids are sume/music-auto (the default), lyria-3.5 and lyria-3-pro.
What are the catalog endpoints?
Both are documented in the Music Router docs. The public model id for the surface is sume/music-router.
| Item | Value |
|---|---|
| List | GET /v1/music-router/models |
| One model | GET /v1/music-router/models/{model_id} |
| Invoke | POST /v1/music-router/generate |
| Default id | sume/music-auto (Lyria 3.5 today) |
| Pass-through ids | lyria-3.5, lyria-3-pro |
| Price in catalog | Provider list price per model, for reference |
Which id should I send?
Omit model or send sume/music-auto to let Sume pick the engine. Send an explicit id from the catalog to pass through to that engine. Every Music Router model charges the same fixed Music price per generation, so the catalog list price is a reference, not the amount billed.
How do I read the catalog?
Send a GET with your API key as a Bearer token, as on the other Music Router calls. Read the returned ids rather than hard-coding the three listed above.
curl https://api.sume.com/v1/music-router/models \
-H "Authorization: Bearer $SUME_API_KEY"What if the id is unknown?
An unknown id fails with 400 model_not_found and a catalog_url. Details are in the error post.
How do I submit the job and fetch the track?
A music request takes mode async, sync, subscribe or webhook. With sync or subscribe, wait_timeout_seconds is 0 to 30; with webhook, webhook_url must be a public HTTPS callback. Send an Idempotency-Key on the submit, then poll GET /v1/jobs/{job_id}/status and read GET /v1/jobs/{job_id}/result. The audio is the entry in result.artifacts[] where type is audio, hosted on media.sume.com; raw provider URLs are not public outputs. The catalog is read-only; the generate call is the write.
The prompt is 1 to 5000 characters. Put exclusions in the positive prompt ("Instrumental, no vocals"), because a non-empty negative_prompt is refused. Full field list: Music Router docs.
Sources
Related posts
More in Developers
- MCP tool name with a dot or underscore: tools.list vs tools_list
Sume MCP tool ids use underscores; a dotted alias such as tools.list is canonicalized on call. Retired aliases map to generate_image and generate_video.
- Music API 400 model_not_found: fix an unknown model id
An unknown model on POST /v1/music-router/generate fails with 400 model_not_found and a catalog_url. Use an id from GET /v1/music-router/models or omit model.
- Sume music job says sume/music-auto: which engine ran?
job.model echoes the id you requested; job.request.routed_model names the engine that ran, such as lyria-3.5. Read both fields on the job envelope.
- n8n Wait node under 65 seconds: how to poll a Sume job
n8n keeps waits under 65 seconds in memory and saves longer ones to the database. Poll a Sume job with next_poll_after_seconds, or switch to a webhook resume.
Written by Sume