Skip to main content
Guide contents
Beginner15 min

ElevenLabs Updates: Comprehensive Guide to New Tools and Voice Control

Comprehensive guide to ElevenLabs speech generation: model overview (v3, Multilingual v2, Flash, Turbo), emotional audio tags, IPA/Arpabet phonemes, PLS dictionaries, and text normalization.

Published:

Recent updates to the ElevenLabs platform have fundamentally elevated the capabilities of neural text-to-speech synthesis. Developers now have access to a differentiated model matrix: from the hyper-realistic Eleven v3 capable of subtle human emotion to ultra-fast models like Flash and Turbo engineered for real-time conversational streaming.

This practical guide covers every key capability and production practice: selecting the appropriate model architecture, directing performance with inline audio tags, fine-tuning cadence with SSML, managing enterprise pronunciation via PLS dictionaries, and executing critical text normalization before submitting API payloads.


1. Overview of the ElevenLabs Model Family

The current ElevenLabs ecosystem features four primary text-to-speech models, each engineered around specific technical trade-offs.

1.1. Architectural Features and Model Specialization

  • Eleven v3 (alpha): Flagship model providing the highest acoustic fidelity and vocal expression. Its primary innovation is native support for emotional audio tags (joy, sadness, whisper, shouting, laughter). Highly optimized for English prose and performs best when fed longer, narrative-rich prompts.
  • Multilingual v2: The enterprise benchmark for global deployments. Supports over 30 languages with high phonetic accuracy across varying alphabets and diacritics. Delivers rock-solid stability for corporate voiceovers, though with a narrower emotional dynamic range than v3.
  • Flash v2.5: Low-latency powerhouse (~75 ms response time) with a 5,000-character payload ceiling. Balances natural prosody with fast generation for conversational AI agents.
  • Turbo v2.5: Engineered strictly for minimal latency (~50 ms) in high-throughput telephony (IVR) and live event interpretation, trading subtle nuances for instantaneous turnaround.

1.2. Consolidated Model Comparison Matrix

ModelVocal Quality & ExpressionGeneration LatencyLanguage CoverageCharacter LimitIdeal Deployment Scenarios
Eleven v3 (alpha)State-of-the-Art, dramatic rangeModerateOptimized for English15,000Audiobooks, gaming dialogue, cinematic dubbing
Multilingual v2High, dependableModerate30+ global languages15,000Localization, multinational e-learning, voice assistants
Flash v2.5Good (balanced)Very Low (~75 ms)English, partial multilingual5,000Interactive chatbots, gaming NPCs, live translation
Turbo v2.5UtilitarianLowest (~50 ms)Core language set5,000Inbound call routing (IVR), emergency notifications

2. Model Selection Criteria by Scenario

Matching the right model to your operational constraints is essential for managing latency, credit consumption, and acoustic naturalness.

2.1. Creative Voice Acting vs. Real-Time Streaming

For narrative audiobooks, commercial voiceovers, or dramatic character acting, select Eleven v3. It seamlessly incorporates gasps, laughter, breath pauses, and mood shifts within a single paragraph, replicating a live voice actor in a recording booth.

2.2. Multilingual Localization and Low-Latency Synthesis

Tip

In large-scale agent applications, adopt a two-tier voice architecture: synthesize initial conversational greetings using ultra-fast Flash v2.5, while delegating detailed explanatory paragraphs to Multilingual v2.


3. Managing Intonation, Emotions, and Audio Tags

A major breakthrough in modern ElevenLabs models is the ability to direct vocal performance through contextual inline text tags.

3.1. Eleven v3 Audio Tags and Expressive Modifiers

The Eleven v3 model interprets inline XML-like audio tags as directorial notes:

  • Emotional Modifiers: <happy>, <sad>, <angry>, <excited>, <calm>, <sarcastic>.
  • Physical Vocalizations: <laugh>, <sigh>, <cough>, <gasp>, <whisper>, <shout>.
  • Pacing and Transitions: Wrapping specific clauses allows dynamic mood adjustments mid-sentence.

3.2. The Role of Punctuation, Capitalization, and Phrasing

Beyond explicit tags, the neural architecture is acutely sensitive to standard typography:

  • Period (.): Produces a definite pause paired with a falling declarative cadence.
  • Comma (,): Generates a brief rhythmic pause, maintaining anticipatory inflection.
  • Ellipses (...) or Em-dash (): Injects a natural human hesitation or mid-thought pause.
  • ALL CAPS: Instructs the synthesis engine to apply localized stress and acoustic volume.

4. Practical Intonation and Dialogue Examples

Here is how to properly structure inline tags for consistent performance.

4.1. Monologues, Multi-Character Dialogues, and Emotional Shifts

💡 Sample Monologue with Audio Tags:

text
<laugh> It’s funny how life works sometimes. You think you’ve planned everything perfectly... but then <sigh> something unexpected happens.

Output: The voice opens with a brief chuckle, pauses naturally at the ellipsis, and sighs softly before articulating "something".

💡 Sample Multi-Character Dramatic Exchange:

text
<angry> "I told you never to open that door!" </angry> <calm> "I know, but you don't understand what was inside..." </calm>

Output: The first line delivers forceful, elevated projection, while the reply drops into a muted, soothing tone.

4.2. Best Practices: Generation Stability, Voice Selection, and Tag Balance

  1. Context Density: Avoid 1- to 2-word prompts. Provide at least 10 words per phrase to give the model sufficient prosodic context.
  2. Voice Compatibility: Cloned voices respond differently to expressive tags like <shout> or <whisper>. Benchmark your script across 2–3 voices from the VoiceLab directory.
  3. Restraint: Do not stack more than three tags in a single sentence to avoid audio distortion and unnatural inflections.

5. Controlling Tempo, Pauses, and Speech Speed

Synchronizing synthetic speech with video footage or user interfaces requires precise timing controls.

5.1. SSML Break Tags and Natural Punctuation Pauses

To enforce exact durations of silence, inject SSML break tags:

xml
Hello there <break time="1.5s" /> welcome to our system.
  • Accepts durations in seconds (1.5s) or milliseconds (500ms).
  • Recommended pause intervals range between 0.1s and 3.0s.

5.2. Regulating Speech Rate via the Speed Parameter

Adjust vocal tempo programmatically using the API's speed parameter:

  • 1.0 — Standard, baseline recording pace.
  • 0.8 — Measured, calming tempo suitable for educational content or guided meditations.
  • 1.2 — Energetic, rapid cadence ideal for promotional ads or fast-paced summaries.
  • Valid production range: 0.5 to 2.0.

6. Pronunciation Management: Phonemes, Alias Tags, and PLS Dictionaries

When models encounter specialized medical terminology, rare surnames, or acronyms, phonetic overrides ensure flawless delivery.

6.1. Phonetic Transcriptions (IPA / CMU Arpabet) and Alias Tags

Use the <phoneme> tag to specify an unambiguous phonetic transcription using the International Phonetic Alphabet (IPA):

xml
<phoneme alphabet="ipa" ph="həˈləʊ">hello</phoneme>

For internet shorthand or technical acronyms, apply simple substitutions using <alias>:

xml
<alias text="laugh out loud">LOL</alias>

The model articulates the full verbal expansion rather than spelling individual letters.

6.2. Enterprise Pronunciation Dictionaries (PLS)

For enterprise scale, ElevenLabs supports the Pronunciation Lexicon Specification (PLS) standard. Upload an XML dictionary to your Workspace settings to enforce universal pronunciation of brand names, product SKUs, and technical terms across all voices.

6.3. Contextual Delivery and Natural Dialogues

Note

If you prefer not to manage XML tags, use phonetic spelling directly in your text: write tricky compound words phonetically (e.g., "Ne-o-bank" instead of "Neobank").


7. Text Normalization: Numbers, Dates, Currencies, and Abbreviations

Neural text-to-speech models process text tokens sequentially. Feeding unformatted raw strings often results in awkward readings, such as 11/05 being pronounced as "eleven slash zero five".

7.1. Why Voice Models Struggle with Raw Numeric Data

Models cannot reliably infer situational intent: is 1984 a calendar year, a dollar amount, a security code, or a street address?

7.2. Three Normalization Strategies: Model Choice, Prompting, and RegEx

  1. Model Selection: Multilingual v2 possesses more robust built-in number normalization rules than the experimental v3 model.
  2. Text Verbalization: Convert numbers and symbols directly into written words in your source text.
  3. Automated RegEx Preprocessing: Run regex transformation pipelines before dispatching payloads to the API.

7.3. Reference Normalization Conversion Table

CategoryRaw InputNormalized Output for API
Phone Number+1 202-555-0173plus one, two zero two, five five five, zero one seven three
Calendar Date11/23/2026November twenty-third, twenty twenty-six
Currency$250.50two hundred and fifty dollars and fifty cents
Measurement10-15 kgten to fifteen kilograms
AcronymNASANASA (as a word) or C-E-O (hyphenated if read as letters)

8. API Integration and Practical Code Examples

To ensure reliable server-side speech synthesis, always transmit pre-normalized text along with explicit voice stability configurations.

8.1. Crafting API Requests with Pre-Normalized Payloads

Important

The stability and similarity_boost settings govern vocal variability: a stability setting of 0.5 enables expressive, dynamic inflections, whereas 0.8 produces a steady, formal broadcast delivery.

8.2. Implementation Code in Python, TypeScript, and cURL

python
import requests url = "https://api.elevenlabs.io/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM" headers = { "xi-api-key": "YOUR_API_KEY", "Content-Type": "application/json" } data = { "text": "November twenty-third will feature our comprehensive product showcase.", "model_id": "eleven_multilingual_v2", "voice_settings": { "stability": 0.5, "similarity_boost": 0.8, "speed": 1.0 } } response = requests.post(url, headers=headers, json=data) with open("output.mp3", "wb") as f: f.write(response.content)
This guide is completely free. If it saved you an evening, you can support the project's growth.
Support the author