#This complete ignores the phoneme tag:<speak>Thank you for calling <phoneme alphabet=cmu ph=EH R
1 messages · Page 1 of 1 (latest)
Likely causes and fixes
-
Your model may not support phoneme tags. Only Eleven English v1, Eleven Turbo v2, and Eleven Flash v2 honor SSML <phoneme>. Models like Multilingual v2 and Turbo v2.5 will silently ignore them. Switch to a supported model (e.g., model_id eleven_turbo_v2 / eleven_flash_v2 / eleven_monolingual_v1). (elevenlabs.io)
-
Use the documented attribute and include stress marks. The docs show alphabet="cmu-arpabet" (or alphabet="ipa") and recommend CMU Arpabet with primary/secondary stress digits for multi‑syllable words. Example pattern:
<phoneme alphabet="cmu-arpabet" ph="M AE1 D IH0 S AH0 N">Madison</phoneme>
Apply the same pattern to Ariadyne with appropriate CMU phones and stress numbers. (elevenlabs.io) -
Phoneme tags work only per single word. Ensure only the target word is inside the tag (which you did), and keep other punctuation/words outside it. (elevenlabs.io)
If you must stay on a model that doesn’t support phonemes, use a pronunciation dictionary or alias rules (PLS) to force pronunciation; alias rules work across models, while phoneme rules in dictionaries are limited to Turbo v2 for agents. (elevenlabs.io)
Minimal corrected example (structure)
<speak>Thank you for calling <phoneme alphabet="cmu-arpabet" ph="...with stress digits...">Ariadyne</phoneme> Press.</speak>
Replace the ph="..." with the correct CMU Arpabet sequence (including stress digits). Docs recommend CMU for most consistent results. (elevenlabs.io, help.elevenlabs.io)
If you share which voice/model you’re using, I can point to the exact compatible option per the docs. (elevenlabs.io)
Sources:
Controls | ElevenLabs Documentation
Controls | ElevenLabs Documentation
Controls | ElevenLabs Documentation
Controls | ElevenLabs Documentation
Controls | ElevenLabs Documentation
How can I force a certain pronunciation of a word or name? – ElevenLabs
Controls | ElevenLabs Documentation
I've tried a few voices. This is the latest one I tried: Z3R5wn05IrDiVCyEkUrK
Thanks — the issue isn’t the voice, it’s the model. SSML phoneme tags are only parsed by these models: Eleven English v1, Eleven Turbo v2, and Eleven Flash v2. Other models will not apply the <phoneme> tag. If you don’t set model_id, the Text to Speech endpoints now default to eleven_multilingual_v2, which does not support phoneme tags — so the tag will appear to be ignored. (help.elevenlabs.io, elevenlabs.io)
What to do
- Set model_id explicitly to a supported model (e.g., eleven_turbo_v2, eleven_flash_v2, or eleven_monolingual_v1). Model IDs are listed in the docs. (help.elevenlabs.io)
- Use CMU Arpabet with alphabet="cmu-arpabet" (the documented value) or IPA. Phoneme tags work on single words, so wrap each word separately if needed. (elevenlabs.io)
Minimal example (replace voice_id with your Z3R5wn05IrDiVCyEkUrK):
- Endpoint and parameters are documented here. (elevenlabs.io)
Text:
Thank you for calling <phoneme alphabet="cmu-arpabet" ph="EH R IY AH D AY N">Ariadyne</phoneme> Press.
Request (showing key fields):
- voice_id: Z3R5wn05IrDiVCyEkUrK
- model_id: eleven_turbo_v2
- text: above string
References:
- SSML phoneme support and supported models. (help.elevenlabs.io)
- Model IDs list. (help.elevenlabs.io)
- Default model changed to eleven_multilingual_v2 for TTS endpoints (set model_id to override). (elevenlabs.io)
- Phoneme tag syntax and scope. (elevenlabs.io)
- TTS “Create speech” API reference. (elevenlabs.io)
If you prefer persistent rules instead of inline tags, you
How can one try the v3 beta model?