Skip to navigation

Speech Synthesis Markup Language (SSML)

Control speech synthesis with markup language

SSML is an XML-based markup language for controlling how text is spoken. On the current models, simba-3.2 and simba-3.0, it sets pauses, speaking rate and pronunciation. Wrap your content in a <speak> tag:

<speak>Your content to be synthesized here</speak>

Escaping Characters

Transforming text into SSML requires escaping certain characters to ensure correct interpretation:

CharacterEscaped Form
&&amp;
>&gt;
<&lt;
"&quot;
'&apos;
<!-- Original: Some "text" with 5 < 6 & 4 > 8 in it -->
<speak>Some &quot;text&quot; with 5 &lt; 6 &amp; 4 &gt; 8 in it</speak>

An attribute value we do not recognise is ignored, not refused: a misspelled emotion or level synthesizes as ordinary speech and still returns 200. Malformed XML is different - unbalanced tags or undeclared entities return 400. Check the spelling of an attribute value if a tag seems to have had no effect.

What each model applies

Tagsimba-3.2, simba-3.0Simba 1.6 (simba-english, simba-multilingual) until 2026-11-21
<break>AppliedApplied
<prosody rate>AppliedApplied
<sub alias>AppliedApplied
<prosody pitch>, <prosody volume>Accepted, not appliedApplied
<emphasis>Accepted, not appliedApplied
<speechify:style emotion>Accepted, not appliedApplied

Accepted, not applied means the request still returns 200 and the text inside the tag is spoken, without the change the tag describes. Simba 1.6 is retired for new workspaces. From 2026-11-21 both of its ids are served by the current models, so they apply only the tags in the current-model column. See Migrating off Simba 1.6.

Supported SSML Tags

The prosody tag changes how a span is spoken. Every model applies rate; only Simba 1.6 applies pitch and volume.

<speak>
This is a normal speech pattern.
<prosody rate="fast">
I'm speaking faster than usual!
</prosody>
Back to normal speech pattern.
</speak>

Parameters

rate
string

Alters speech speed.

Values:

  • x-slow, slow, medium (also default), fast, x-fast
  • Percentage adjustments: -50% to +9900% (e.g., +20%, -30%)
pitch
string

Adjusts the pitch of speech delivery. Simba 1.6 only: simba-3.2 and simba-3.0 accept it and do not apply it.

Values:

  • x-low, low, medium (also default), high, x-high
  • Percentage adjustments: -83% to +100% (e.g., +20%, -30%)
volume
string

Controls speech loudness. Simba 1.6 only: simba-3.2 and simba-3.0 accept it and do not apply it.

Values:

  • silent, x-soft, soft, medium (also default), loud, x-loud
  • Decibel adjustments: Number with dB suffix (e.g., -6dB)
  • Percentage adjustments: -100% to +900% (e.g., +20%, -30%)

The break tag controls pausing between words, following W3 specifications.

<speak>
Sometimes it can be useful to add a longer pause at the end of the sentence.
<break strength="medium" />
Or <break time="100ms" /> sometimes in the <break time="1s" /> middle.
</speak>

Parameters

strength
string

Specifies pause strength.

Values:

  • none: 0ms
  • x-weak: 250ms
  • weak: 500ms
  • medium: 750ms
  • strong: 1000ms
  • x-strong: 1250ms
time
string

Specifies pause duration (0-10 seconds). A single break is capped at 10 seconds, and the total silence one document may insert is capped at 30 seconds - past that, further pauses are dropped rather than rejected.

Values:

  • Milliseconds: ms suffix (e.g., 100ms)
  • Seconds: s suffix (e.g., 1s)

The emphasis tag adds or removes emphasis from text, modifying speech similarly to prosody but without setting individual attributes. Simba 1.6 only: simba-3.2 and simba-3.0 accept it and speak the text without emphasis.

<speak>
I already told you I <emphasis level="strong">really like</emphasis> that person.
</speak>

Parameters

level
string

Specifies emphasis level.

Values:

  • reduced
  • moderate
  • strong

The sub tag replaces pronunciation for contained text, following W3 specifications.

<speak>
For detailed information, please read the <sub alias="Frequently Asked Questions">FAQ</sub> section.
</speak>

Parameters

alias
stringRequired

Specifies text to be spoken instead of enclosed text.

The speechify:style tag sets an emotion style. Simba 1.6 only: simba-3.2 and simba-3.0 accept it and speak the text without the style. See Emotion styles.

<speak>
<speechify:style emotion="cheerful">Great news! Your order shipped!</speechify:style>
</speak>

Parameters

emotion
string

Sets the voice emotion on Simba 1.6. Values: angry, cheerful, sad, terrified, relaxed, fearful, surprised, calm, assertive, energetic, warm, direct, bright.

Examples

<speak>Welcome to SpeechifyAI Build.</speak>