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
- LlamaIndex failed function tools: decide Sume retries in the tool
LlamaIndex v0.14.25 stops retrying failed function tools. Decide inside your Sume tool which errors are safe to retry, and return a status string.
- Mastra background tasks and Sume: reuse the idempotency key
Mastra 1.72.0 fences background tasks with leases. If a new owner restarts a Sume tool call, the same idempotency key returns the original job.
- MCP Apps _meta.ui.resourceUri: what a Sume tool call shows
MCP Apps tools point at a ui:// resource for the host to render. Sume's hosted MCP lists plain tools, so a host shows the tool result, not an app.
- MCP stream dropped: re-issue with the same idempotency_key
MCP 2026-07-28 says re-issue a broken request with a new request ID. On a paid Sume tool, keep the same idempotency_key so the retry is not a second charge.
Written by Sume