Cartesia normalization: auto, off or a locale code, versus Sume text
Cartesia Sonic 3.6 adds a normalization field set to auto, off or a locale code. Sume TTS has no such field, so write dates and numbers out in the transcript.

Cartesia's Sonic 3.6 notes add an optional normalization field with three kinds of value: auto (the default), off, or a locale code that sets how numbers, dates and phone numbers are read, independent of the spoken language. The Sume TTS request schema cited here has no equivalent field, so on Sume the control is the text itself: write the date or number the way it should be spoken.
Sources: the Cartesia 2026 changelog and Sume's API reference, read 2026-10-01.
What does the normalization field do?
The changelog's example: with locale: en-GB and normalization: en-US, the voice speaks British English but reads "07/03/2026" as "July third", not "the seventh of March". A pinned locale code changes only the speaking convention, not the spoken language. For Hinglish it suggests language: hi with normalization: en-IN.
Related fields: locale and language accept the same values, and setting both returns a 400 error.
How do I get the same result on Sume?
Sume's transcript field is the text to synthesize, up to 20000 characters, and spaces and punctuation count toward usage. Spell out anything ambiguous before you send it.
| Written in your script | Safer to send |
|---|---|
07/03/2026 | July 3, 2026 |
$12.50 | twelve dollars and fifty cents |
A1-B2 | A 1, B 2 |
Can a pronunciation dictionary help?
Sume's request has an optional pronunciation_dict_id. The cited schema does not say it controls date or number reading, so use it for words, not for conventions. A longer walk through misread dates is in the normalization post.
Which model ids can I send on the Router?
The TTS Router requires an explicit catalog model, and its enum lists sonic-3.6, sonic-3.5, sonic-3, sonic-latest and sonic-preview. The GET /v1/tts-router/models route lists the catalog.
Sources
Related posts
More in Developers
- Green screen removal by API: chromakey in a video filter graph
Sume's video filter allowlists chromakey and colorkey, but an MP4 holds no alpha, so a key must be composited inside the graph. Not AI background removal.
- Agent SDK permissionMode omitted: auto mode, Sume gates stay
From Agent SDK 0.3.286 an omitted permissionMode can start in auto mode. Sume's idempotency_key and scope checks run server-side whatever mode you pick.
- Agent SDK rewind_conversation and a Sume job: find, then cancel
After rewind_conversation or a priority-now message, the MCP call is handled client-side. A submitted Sume job has its own id: find it with jobs_list.
- Claude Code: disable an MCP server mid-session, Sume jobs persist
Switching off an MCP server in Claude Code SDK sessions removes its tools for new calls. Sume jobs already submitted keep running until you read or cancel them.
Written by Sume