Which Lyria engine made my Sume track? Read routed_model

sume/music-auto picks Lyria 3.5 today. The job echoes the id you sent and names the engine in request.routed_model. Pin lyria-3-pro by id. All cost $0.125.

2 min readSume
All posts

Read job.request.routed_model. In the Music Router, job.model echoes the id you requested, so sume/music-auto stays sume/music-auto, while job.request.routed_model names the catalog engine that ran, for example lyria-3.5. The same applies on the older Music 1.0 routes.

Ids you can send

Music Router ids, read 2026-10-03
model valueBehavior
omitted or sume/music-autoSume picks the engine; Lyria 3.5 today
lyria-3.5Passes through to that engine
lyria-3-proPasses through to that engine
Anything else400 model_not_found with catalog_url

When to pin

Leave it on auto for exploration. Pin an id when a client approved a sound and you need the same engine on the next ten tracks, because auto is allowed to change what it picks as engines change. The catalog at GET /v1/music-router/models lists the routable ids, and GET /v1/music-router/models/{model_id} reads one.

Price does not follow the engine

Every Music Router model charges the fixed Music price per audio generation, $0.125 per job. The catalog lists the provider list price per model for reference, but that is not what you are charged. So pinning lyria-3-pro costs the same $0.125 as auto.

Check which ran

import json, os, urllib.request

req = urllib.request.Request(
    "https://api.sume.com/v1/jobs/" + os.environ["JOB_ID"] + "/status",
    headers={"Authorization": "Bearer " + os.environ["SUME_API_KEY"]},
)
with urllib.request.urlopen(req) as r:
    job = json.load(r)
print(job.get("model"), job.get("request", {}).get("routed_model"))

Sources

Related posts

More in Models

All Models posts

Written by Sume