Cartesia Sonic 3.6 API: which model id to send

Send sonic-3.6 for the latest stable Sonic 3.6, a dated id to freeze it, or sonic-preview for beta. Which of these ids Sume's TTS Router lists.

4 min readSume
All posts

For the Cartesia Sonic 3.6 API, send the model id sonic-3.6 to follow its most recent stable snapshot, a dated id like sonic-3.6-2026-08-27 to freeze the behavior, or sonic-preview to test upcoming changes. Cartesia's docs say the dated snapshot never changes and that sonic-preview is a beta model, not for production.

The Cartesia facts are from its Sonic 3.6 docs page, read 2026-09-29. The Sume facts are from the TTS Router in the Sume API reference. Sume's router lists five Sonic ids and no dated ones.

What does each Sonic 3.6 model id do?

Cartesia calls Sonic 3.6 generally available and dates the first stable snapshot August 27, 2026. Its docs give three kinds of id.

From Cartesia's Sonic 3.6 docs, read 2026-09-29.
Model idUpdate behavior (Cartesia)Recommended for
sonic-3.6-YYYY-MM-DDSnapshotted, will never changeCustomers who want to run internal evals before any updates
sonic-3.6Will be updated to point to the most recent stable snapshotCustomers who want stable releases and recent capabilities
sonic-previewBeta model, will always be updated with upcoming changesTesting purposes

Which of these ids does Sume's TTS Router accept?

POST /v1/tts-router/generate requires a model from GET /v1/tts-router/models. The model field is an enum of five ids. A dated sonic-3.6-YYYY-MM-DD id is not one of them, so a request with it does not match the schema.

Sume's TTS 1.0 route has no engine picker: it rejects model with a 400. Use the router when you want to name the Sonic version.

From the TTS Router catalog in the Sume API reference and its catalog code, read 2026-09-29.
Sume `model` idNote in the catalog
sonic-3.6Sonic 3.6
sonic-3.5Sonic 3.5
sonic-3Sonic 3
sonic-latestAlias for sonic-3.6, never sonic-preview, and not a dated snapshot
sonic-previewBeta channel: output and availability can change without notice. Not compatible with pro voice clones (voice_model_mismatch)

How do I call Sonic 3.6 through Sume?

Send model, a transcript, a voice and, for a non-English script, a language. The voice is a ready avatar's (avatar_id or avatar_handle) or a voice.id. The response is a job; the audio is a Sume-hosted file when it completes. Text to speech API covers voice selection and the rest of the body.

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: sonic-36-001" \
  -d '{
    "model": "sonic-3.6",
    "transcript": "Your order ships tomorrow.",
    "avatar_handle": "acme",
    "language": "en"
  }'

What are the limits and the price?

Every catalog row lists a max_characters capability, and the request schema caps transcript at 20,000 characters, spaces and punctuation included. The router charges on the same character book as TTS 1.0. Today that is $0.0475 per 1,000 characters plus a 5.5% agent fee by default; see API pricing.

  • Pick sonic-3.6 or sonic-latest for the current stable release; sonic-latest is an alias, so both resolve to the same id today.
  • Do not use sonic-preview for production audio: its output can change without notice.
  • Audio that runs past 1,200 seconds fails with tts_duration_exceeded. Split long scripts.
  • Unknown ids fail with 400 model_not_found and the catalog URL.

Sources

Related posts

More in Models

All Models posts

Written by Sume