Skip to main content
When the model mispronounces a brand name, product, or domain term, you have two tools: write IPA directly in the request text, or set up a pronunciation dictionary that fixes the word in every request that selects it.

Inline IPA in the request text

Write the IPA transcription between slashes, directly where the word would be:
Use the slash form shown here and test it with the target voice and language. If normalization changes a specialized transcription, set normalize: false for that request: this skips the language-model pass, while basic number, date and currency expansion still runs.
Use real IPA characters (the non-ASCII phonetic alphabet, e.g. ˈ, ː, ɡ), not ASCII respellings, inside the slashes. A plain English word between slashes is just read as text. SSML <phoneme> tags are not supported; write the IPA inline instead.
Inline IPA is per-request. If the same word needs fixing everywhere, put it in a dictionary instead:

Pronunciation dictionaries

A dictionary is a per-project word list. It applies to a synthesis request only when that request sends the dictionary’s project_id. Each entry maps a word to either:
  • a replacement spelling (write it how it sounds), or
  • an IPA transcription (exact phonetic control).
replacement is required on every entry; when ipa is also set, IPA wins.
Dictionaries are managed via the API or SDKs and applied server-side, so your request text stays clean. Send project_id on synthesis from the raw API, from every generation and session method in Python (project_id), Java and JavaScript (projectId), or from the LiveKit and Pipecat plugins. Full management guide: Dictionaries · API reference · SDK pages: Python, JavaScript, Java.

Choosing the right tool

Quick example

Send the dictionary’s project ID on synthesis. With projectId set, the project’s active dictionaries for the request language apply; use dictionaryIds when you need an exact selection:
See Dictionaries for the language filter, per-request selection, and bulk sync.

Next steps

Dictionaries

Project word lists and per-request selection

Spell tags

Read codes and emails character by character

Text normalization

How numbers, dates and currencies are read

Dictionaries API

Raw HTTP contract for dictionaries and entries
Last modified on September 23, 2026