mars-instruct both support expressive text controls, covering pronunciation overrides, non-verbal sounds, emotion tags, delivery hints, and SSML-style pauses. This page covers the syntax for each model.
Hear the Examples
MARS 8.1 Beta Text Controls
Withmars-8.1-flash-beta and mars-8.1-pro-beta, you can add pronunciation and non-verbal controls directly in the text.
Pronunciation Control (English)
Use CMU pronunciation dictionary phonemes in uppercase, wrapped in brackets, to override default English pronunciations.Python
TypeScript
Non-verbal Symbols
Insert supported tags directly in the text to add expressive non-verbal sounds.Python
TypeScript
Supported tags for mars 8.1 :
Supported Tags:[laughter], [sigh], [confirmation], [question], [surprise], [dissatisfaction].
Emotion Tags for Mars 8 Instruct:
mars-instruct accepts a richer set of inline tags for emotion, delivery, and sound effects. It also supports the user_instructions parameter for broader tone guidance across the whole request.
Emotion Tone Tags
For emotional tone (happy, sad, angry), place inline tags directly in thetext field and match your text content to the emotion. This is an alternative to user_instructions, not the same parameter.
| Inline tag | Example text |
|---|---|
[happy] | ”[happy] We won the match! This is the best day ever!” |
[sad] | ”[sad] I… I don’t know if I can do this anymore…” |
Sound Effect Tags
Sound effect tags go within your sentence where the action naturally occurs:| Tag | Example | Notes |
|---|---|---|
[laughing] | ”That’s ridiculous! [laughing] I can’t believe that!” | Produces laughter sound |
[sighing] | ”I guess we have to start over. [sighing] Alright, let’s begin.” | Produces sigh sound |
ahem ahem | ”So what I was going to say is… ahem ahem… never mind.” | Produces throat-clearing sound |
user_instructions
Theuser_instructions parameter provides broader tone guidance for an entire mars-instruct speech request. Use it when you want the whole delivery to lean toward a style, mood, or character voice instead of controlling tone inline sentence by sentence.
| Instruction | Effect |
|---|---|
shouting, angry, threatening | Agitated, confrontational delivery |
whispering, secretive | Quiet, intimate delivery |
empathetic, helpful | Caring, supportive delivery |
happy, excited, promotional | Upbeat, promotional delivery |
patient, teaching | Educational, measured delivery |
Delivery Tags
Delivery tags provide tone guidance for the words that follow them.| Tag | Effect |
|---|---|
[shouting, angry, threatening] | Agitated, confrontational delivery |
[whispering, secretive] | Quiet, intimate delivery |
[empathetic, helpful] | Caring, supportive delivery |
[happy, excited, promotional] | Upbeat, promotional delivery |
[patient, teaching] | Educational, measured delivery |
Emotion Tag Gradation Guide
How To Use This
- Read each tag list from left to right.
- Left side means more balanced, subtle, or restrained.
- Right side means more extreme, forceful, or obvious.
- If you want the strongest controllable result, start from the rightmost tag.
- If you want a more natural or less exaggerated result, move one or two steps left.
Examples Of Use
[angry] Who stole my cash![trembling] I don't know who did it...[cheerful] Welcome back. I saved you a seat.[commanding] Stop right there and listen carefully.
Tag Ladders
Balanced -> Extreme- Nervousness:
[uneasy]->[nervous]->[anxious]->[trembling] - Fear:
[fearful]->[scared]->[terrified]->[panicked] - Anger:
[irritated]->[angry]->[furious]->[enraged] - Sadness:
[down]->[sad]->[melancholic]->[depressed] - Joy:
[cheerful]->[happy]->[joyful]->[delighted] - Excitement:
[energetic]->[excited]->[thrilled]->[hyped] - Calmness:
[relaxed]->[calm]->[peaceful]->[serene] - Confidence:
[assured]->[confident]->[certain]->[bold] - Doubt:
[uncertain]->[doubtful]->[hesitant]->[skeptical] - Surprise:
[surprised]->[startled]->[shocked]->[astonished] - Disgust:
[grossed_out]->[disgusted]->[repulsed]->[revolted] - Pride:
[satisfied]->[accomplished]->[proud]->[fulfilled] - Shame:
[embarrassed]->[guilty]->[ashamed]->[humiliated] - Love:
[warm]->[affectionate]->[loving]->[tender] - Flirtation:
[charming]->[playful]->[flirty]->[teasing] - Sarcasm:
[dry]->[ironic]->[sarcastic]->[mocking] - Determination:
[focused]->[determined]->[driven]->[resolute] - Frustration:
[annoyed]->[irritated]->[frustrated]->[exasperated] - Relief:
[calmed]->[reassured]->[relieved]->[grateful] - Curiosity:
[interested]->[curious]->[inquiring]->[intrigued] - Boredom:
[dull]->[uninterested]->[bored]->[apathetic] - Awe:
[inspired]->[amazed]->[awed]->[wonderstruck] - Suspicion:
[wary]->[suspicious]->[guarded]->[distrustful] - Urgency:
[urgent]->[rushed]->[intense]->[pressured] - Authority:
[firm]->[authoritative]->[directive]->[commanding] - Politeness:
[polite]->[courteous]->[respectful]->[formal] - Gratitude:
[appreciative]->[thankful]->[grateful]->[warm] - Confusion:
[uncertain]->[puzzled]->[confused]->[lost] - Hopelessness:
[resigned]->[defeated]->[hopeless]->[despairing] - Playfulness:
[lighthearted]->[playful]->[fun]->[silly]
Practical Rule Of Thumb
- Use the leftmost tag when you want the emotion to be present but not overpower the sentence.
- Use the middle tags when you want clear emotional color without sounding theatrical.
- Use the rightmost tag when you need the emotion to come through strongly and consistently.
- Nervousness, subtle:
[uneasy] - Nervousness, clear:
[anxious] - Nervousness, strongest:
[trembling]
How To Generalize This To New Emotions
This same principle generalizes well to new emotions:- Start with 3 to 4 tags for the same emotional family.
- Arrange them from balanced to extreme.
- Test them on the same sentence.
- Keep the tag that gives the clearest emotional control without distorting the sentence too much.
- When in doubt, the most extreme tag often gives the strongest controllability.
same emotion family + left-to-right intensity ladder + same test sentence = reliable controllable TTS
Combining Tags
For precise control, you can combineuser_instructions with embedded emotion and delivery tags. Treat them as two controls: user_instructions guides the overall delivery, while inline tags guide specific moments in the text.
Python
TypeScript
Pauses
Add SSML-style breaks anywhere in your text for dramatic pauses:Best Practices
- Use specific tags - Place concise delivery tags near the sentence they should affect
- Match content to emotion - Text and punctuation should reflect the emotional tone
- Place sound effects naturally - Tags like
[laughing],[sighing]work best within sentences - Choose the right control - Use inline tags for sentence-level emotion, or
user_instructionsfor the overall speaking style - Add pauses - Use
<break time='600ms'/>for dramatic effect
Next Steps
Text to Speech
Get started with basic TTS using the Python or TypeScript SDK.
Choosing a Model
Compare mars-instruct with mars-flash and mars-pro.
Voice Cloning
Create custom voices for your emotional speech.
TTS with Accents
Generate speech in 140+ language accents.