lyria-3-pro-preview vs Sume lyria-3-pro: which model string?
Google lists lyria-3-pro-preview at $0.08 per song. On Sume the Music Router id is lyria-3-pro, and a Google string fails with model_not_found.

Send lyria-3-pro to Sume, not lyria-3-pro-preview. Google's pricing page lists the engine as lyria-3-pro-preview at $0.08 per full song (read 2026-10-07), while Sume's Music Router accepts sume/music-auto, lyria-3.5 and lyria-3-pro. An unknown id returns 400 model_not_found with a catalog_url.
The ids side by side
Copying a model string from a vendor page into another vendor's API is the quickest way to a 400. Google marks Pro as a preview in its id. Sume publishes its own routable ids and resolves the engine itself.
| Engine | Google id and price | Sume Music Router id |
|---|---|---|
| Lyria 3.5 | lyria-3.5, $0.08 per full song | lyria-3.5 |
| Lyria 3 Pro | lyria-3-pro-preview, $0.08 per full song | lyria-3-pro |
| Lyria 3 Clip | lyria-3-clip-preview, $0.04 per 30-second clip | Not in the catalog |
| Engine auto-pick | Not offered | sume/music-auto (Lyria 3.5 today) |
What you pay on Sume
Every Music Router model charges the fixed Music price per accepted audio generation. Music 1.0 documents it as $0.125 per generation, regardless of prompt length or optional image conditioning. The catalog shows each model's provider list price for reference, but the charge does not vary by model, so choosing Pro does not change the bill.
Prompt rules do not change either: 1 to 5,000 characters, no duration or duration_seconds field, and no non-empty negative_prompt. Put the length in the brief, for example "a 2-minute track" or [0:00-0:30] Intro: ....
Check the catalog before you pin
Read the live list instead of trusting a post. Then pin one id in your config so that a future auto-pick change cannot move your output.
curl https://api.sume.com/v1/music-router/models \
-H "Authorization: Bearer $SUME_API_KEY"
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: pro-pin-001" \
-d '{
"model": "lyria-3-pro",
"prompt": "Warm lo-fi hip hop, 84 BPM, C minor. A 30-second track. Instrumental, no vocals."
}'Reading the result
job.model echoes the id you requested. job.request.routed_model names the engine that actually ran. If you sent sume/music-auto, read that second field to learn which Lyria rendered the track, and store it next to the audio artifact. Raw provider URLs are not public outputs; use the Sume-hosted media.sume.com URL in result.artifacts[].
Sources
Related posts
More in Developers
- MAI-Transcribe-2-Streaming has no timestamps: time the captions
MAI-Transcribe-2-Streaming lists no timestamps. For timed captions, get word times from Sume STT or burn your text with script_text.
- MAI-Voice-2.1-Flash: Voice Live or the Speech SDK with SSML?
Microsoft's docs show two ways to call MAI-Voice-2.1-Flash: the Azure Speech SDK with SSML, and Voice Live. Which fits an agent, which fits a batch.
- make -j4 as a resumable Wan 3.0 batch runner with an Idempotency-Key
Twelve Wan 3.0 shots as twelve make targets. Re-run after a crash and only missing outputs submit, with an Idempotency-Key per shot. Tested on a stub server.
- Mandarin Chinese speech to text API: Sume STT language_code zh
Transcribe Mandarin audio with Sume STT using language_code zh, then check the result and timings. $0.01 per audio minute and no accuracy claim without a test.
Written by Sume