Music 1.0 is retiring: keep old calls, move new code to the router
Sume Music 1.0 routes still work and keep job.model sume/music-1.0, but every request now resolves through the Music Router. What to change and when.

Music 1.0 is being retired gradually, and nothing breaks yet: its routes keep working and keep job.model = sume/music-1.0. But every request already resolves through the Music Router (sume/music-auto), and Sume recommends the router for new integrations. Change the URL for new code, and leave stable old callers alone until you next touch them.
What stays the same
The Music 1.0 documentation states the retirement is gradual. These routes still answer: POST /v1/music-1.0/generate and the model-run alias POST /v1/models/sume/music-1.0/runs. The body is the same on the router plus an optional model, and the price is the same fixed $0.125 per accepted generation.
| Item | Music 1.0 | Music Router |
|---|---|---|
| Invoke URL | POST /v1/music-1.0/generate | POST /v1/music-router/generate |
| job.model | sume/music-1.0 | The id you requested (default sume/music-auto) |
| Engine picker | None | sume/music-auto, lyria-3.5, lyria-3-pro |
| Catalog | None | GET /v1/music-router/models |
| Status | Retiring, still works | Recommended for new work |
What changes when you move
Three things. First, the URL. Second, the model field is now yours to set; omit it and you get sume/music-auto, which picks Lyria 3.5 today. Third, job.model now echoes the id you asked for, while job.request.routed_model names the engine that ran, on both the router and the 1.0 routes.
Anything that filtered your job list by job.model == "sume/music-1.0" will not see router jobs. Filter on both, or on the audio artifact type.
- Keep sending prompts of 1 to 5,000 characters.
- Still do not send
duration,duration_secondsor a non-emptynegative_prompt. - Pin
lyria-3.5instead ofsume/music-autoif you need the same engine on every run.
Migration in one line
The diff is the path and one optional field.
curl -X POST https://api.sume.com/v1/music-router/generate \
-H "Authorization: Bearer $SUME_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: migrate-001" \
-d '{
"model": "lyria-3.5",
"prompt": "Cinematic ambient underscore, 70 BPM, D minor. A 30-second track. Instrumental, no vocals."
}'When to move
Move now for anything you are writing this week. For stored configs, switch when you need a pinned engine or the catalog. The docs give no shutdown date, so do not hard-code one; check the Music 1.0 page before any planned freeze.
Sources
Related posts
More in Developers
- Music job metadata: stored on the Sume job, not sent to Lyria
The metadata object on a Sume music request is stored on the job and never sent to the provider. Tag takes by scene and brief with it.
- Show the product name the moment the voice says it: STT word times
Find when a voiceover says a word with Sume STT words[], then use that second as the next timeline video[].start. Offline Python script included.
- Nano Banana 2.1 cost calculator in Python: tokens per image, 2 tiers
A 23-line Python calculator for Nano Banana 2.1 cost from Google's token counts (1,120, 1,680, 3,780) and rates, with standard and batch tiers and input tokens.
- Nano Banana 2.1 on Sume in Python: handle the 200 and 202 replies
Call google/nano-banana-2.1 on Sume's /v1/images in Python and handle both the 200 image reply and the 202 job envelope, with polling to the result URL.
Written by Sume