TTS Router 400 unknown model: which Sonic ids does Sume accept?

POST /v1/tts-router/generate needs a catalog model id; an unknown one returns 400 with catalog_url. Seed ids: sonic-3.6, 3.5, 3, latest, preview. Curl inside.

5 min readSume
All posts

POST /v1/tts-router/generate requires a model from its catalog. An id it does not know returns 400 with a catalog_url pointing at /v1/tts-router/models. The seed catalog is Cartesia Sonic only: sonic-3.6, sonic-3.5, sonic-3, sonic-latest and sonic-preview. Read the list instead of guessing.

What each id means

sonic-latest is an alias that resolves to sonic-3.6. sonic-preview is a beta channel whose output and availability can change without notice, and it rejects professional voice clones with voice_model_mismatch. TTS Router v1 does not include other vendors' families. Later vendors would arrive as new catalog rows on the same surface.

Request shape

Send model, exactly one of transcript or transcript_source, and one voice selector. The voice selector is the same as in TTS 1.0: top-level avatar_id or avatar_handle, or voice.id. Transcript text follows TTS 1.0 limits of 1 to 20000 characters. The router does not have its own voice namespace.

The response is an async job, so you poll the shared GET /v1/jobs/:id/status and /result routes as for other products.

curl https://api.sume.com/v1/tts-router/models \
  -H "Authorization: Bearer $SUME_API_KEY"

curl -X POST https://api.sume.com/v1/tts-router/generate \
  -H "Authorization: Bearer $SUME_API_KEY" \
  -H "Content-Type: application/json" \
  -H "Idempotency-Key: tts-demo-001" \
  -d '{"model":"sonic-3.6","transcript":"Hello from Sume.","avatar_handle":"YOUR_HANDLE"}'

TTS 1.0 versus the router

Do not send model to POST /v1/tts-1.0/generate. That route always uses sume/tts-1.0 and returns 400 if you pass model or model_id. The engine picker lives only on the router. job.model on the router echoes the id you requested, and job.provider stays sume.

Billing

Billing uses the same admit, reserve and capture path as TTS 1.0. Each catalog row is character-metered at Cartesia list price times 1.25, rounded up to cents. Read the numbers from GET /v1/tts-router/models rather than copying them, because the catalog publishes the margin that the reserve really charges.

Related posts

More in Developers

All Developers posts

Written by Sume