Supported controls at a glance
<break> and <spell> are the only tags processed in request text.
Everything else — including SSML — is stripped before synthesis; see
Unsupported tags.
Punctuation as pacing
The model respects natural punctuation cues — no special tags needed:
Punctuation is the recommended way to add natural rhythm; reach for
<break> tags when you need an explicit silence of a
specific length (e.g. before a verification code).
Writing tips
- Strip markdown before TTS. Asterisks, hashes, and bullet characters are read literally by the model.
- No emoji. They are read out or garbled.
- Write numbers as digits when they should be normalized (“You have 3
messages”) and always set
language— see Text processing. - Keep sentences short and end them with punctuation — this also helps the streaming chunker start generation earlier (why).
!, ALL-CAPS, and?!are prosody cues — the model will deliver them energetically. Use deliberately.
LLM system prompt pattern
When an LLM generates text that feeds directly into TTS, add instructions so it uses the supported controls correctly:Unsupported tags
KugelAudio processes<spell>, <break>, and <prosody rate>. All other
tags are silently stripped — the inner text is kept but the tag itself
has no effect.
Next steps
Breaks
Explicit pauses with break tags
Speed
The global speed parameter
Spell tags
Character-by-character pronunciation
Pronunciation & IPA
Fix how specific words are spoken