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.

job.model echoes what you requested, so sume/music-auto stays sume/music-auto. The engine that actually ran is in job.request.routed_model, for example lyria-3.5. The docs say this holds on the router and on the Music 1.0 routes.
Which field answers which question?
Read them from the job envelope; see the Music Router docs.
| You sent | `job.model` | `job.request.routed_model` |
|---|---|---|
Nothing or sume/music-auto | sume/music-auto | Engine that ran, e.g. lyria-3.5 |
lyria-3-pro | lyria-3-pro | Catalog engine that ran |
| A call to a Music 1.0 route | sume/music-1.0 | Engine that ran, e.g. lyria-3.5 |
Why do I still see sume/music-1.0?
Music 1.0 is retiring gradually. Its routes keep working and keep job.model = sume/music-1.0, but every request resolves through the Music Router. So job.model tells you the route you called, and routed_model tells you the engine.
How do I log the engine?
Store both fields next to the job id when the job completes. The audio itself is in result.artifacts[] where type is audio.
curl https://api.sume.com/v1/jobs/job_123/status \
-H "Authorization: Bearer $SUME_API_KEY"
curl https://api.sume.com/v1/jobs/job_123/result \
-H "Authorization: Bearer $SUME_API_KEY"Does the engine change the price?
No. The Music Router page says every routable model charges the fixed Music price per audio generation.
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. Read job.request.routed_model from the same envelope you poll.
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
- AI music prompt max length: 5000 characters on Sume
Sume's Music Router accepts a prompt of 1-5000 characters. What to spend them on: a seven-axis brief, section markers and exclusions, in one positive prompt.
- 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.
- Next.js image SSRF fix: narrow remotePatterns for Sume
Next.js patched an Image Optimization SSRF via allow-listed remote URLs. Allow only media.sume.com for Sume images, and never raw provider hosts.
- 429 backoff with jitter in Python: OpenAI's advice, Sume's headers
OpenAI recommends exponential backoff with random jitter on 429. A Python status poller that honors Sume's retry-after first and falls back to backoff.
Written by Sume