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.

4 min readSume
All posts

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.

Music job fields, from the Sume Music Router docs read 2026-09-30.
You sent`job.model``job.request.routed_model`
Nothing or sume/music-autosume/music-autoEngine that ran, e.g. lyria-3.5
lyria-3-prolyria-3-proCatalog engine that ran
A call to a Music 1.0 routesume/music-1.0Engine 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

All Developers posts

Written by Sume