TTS 1.0 rejects a model field: use the TTS router to pick sonic-3.6

Sume TTS 1.0 does not accept model. To choose an engine such as sonic-3.6 use /v1/tts-router/generate. Price is the same $0.0475 per 1,000 characters.

4 min readSume
All posts

TTS 1.0 on Sume rejects a model field, so to choose an engine such as sonic-3.6 you call the TTS Router at /v1/tts-router/generate instead. Both are billed at $0.0475 per 1,000 characters, so a 1,000-character script is $0.0475 either way.

Which route takes which fields

The router request schema is the TTS 1.0 body plus an optional model.

Sume TTS routes (read 2026-10-09)
Routemodel fieldExample
POST /v1/tts-1.0/generaterejecteddefault route
POST /v1/tts-router/generateoptionalsonic-3.6, sonic-3.5, sonic-3, sonic-latest, sonic-preview

Router request

Everything else is the same body you already use. Fetch the catalog before pinning an id.

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: router-demo-01" \
  -d '{"model": "sonic-3.6", "transcript": "Hello from the router.",
       "avatar_handle": "@narrator", "language": "en"}'

Gotchas

sonic-latest and sonic-preview are moving targets; pin sonic-3.6 if you need repeatable output. Unknown ids fail with a model error that points at the catalog. Check the catalog response for per-model constraints before you assume a feature works on every engine.

Sources

Related posts

More in Developers

All Developers posts

Written by Sume