Text to Speech

Convert text into natural-sounding speech using ElevenLabs voice models with support for audio tags, multiple languages, and custom voices.

Overview

The Text to Speech node generates spoken audio from text input using ElevenLabs models. It supports three provider tiers with varying language coverage and feature sets. The recommended provider, ElevenLabs v3, supports inline audio tags for emotions, reactions, and sound effects, while v2 models automatically strip these tags before processing.

Configuration

Field Type Default Description
Text Source "connected" \| "direct" "connected" Whether text comes from an upstream node or is entered directly in the config panel
Direct Text string "" Text to speak when Text Source is “direct”
Provider TtsProvider "elevenlabs-v3" Voice synthesis engine (see Providers table below)
Voice string "Rachel" Voice selection – premade, custom (cloned), or library voice via VoiceBrowser
Voice Type "premade" \| "custom" \| "library" "premade" Source of the selected voice
Language string "en" Target language code, or empty for auto-detect. Available languages depend on provider model (see Language Support below)
Stability number (0-1) voice’s own Controls voice consistency. Lower values produce more expressive but variable speech
Similarity Boost number (0-1) voice’s own How closely output matches the target voice timbre. v2 models only
Style Exaggeration number (0-1) voice’s own Amplifies the style of the original voice. v2 models only
Speed number (0.7-1.2) voice’s own Playback speed multiplier. v2 models only

Voice settings & preview fidelity

When you don’t touch the sliders, generation uses the voice’s own stored settings (including speaker boost) — the same settings its preview was rendered with, so output matches what you heard in the Voice Browser. When you adjust one or more sliders, your values are merged over the voice’s stored settings rather than resetting the others to generic defaults.

Voice Library voices are verified per model by their creators. The Voice Browser knows each library voice’s verified models: selecting a library voice while the node is set to a v2 model the voice is not verified for automatically snaps the provider to a verified one (your explicit choice is kept whenever the voice is verified for it; the default v3 renders any voice and is never changed).

Voice errors

If the selected voice no longer exists on ElevenLabs (e.g. it was removed from the Voice Library or the clone was deleted), the job fails with a clear error instead of silently substituting a different voice. The only exception is LLM-originated requests through the MCP generate_speech tool, where a hallucinated voice id falls back to the default voice (Rachel) so the agent still gets audio back.

Providers

Provider Model Languages Audio Tags Per-request character cap
elevenlabs-v3 ElevenLabs v3 (recommended) 46 Yes 3,000
elevenlabs-turbo Turbo v2.5 32 No (stripped) 40,000
elevenlabs-multilingual Multilingual v2 29 No (stripped) 10,000

Text past a provider’s cap is clamped, not rejected. The editor’s config panel warns before that point (warn-don’t-block); direct API/SDK/MCP callers that omit provider on POST /v1/text-to-speech get a length-aware default: text within v3’s 3,000-char cap defaults to elevenlabs-v3, longer text defaults to elevenlabs-turbo (cap 40,000) instead, so a long request never gets silently truncated to v3’s tighter cap just because provider was omitted. An explicitly-set provider is always respected as-is.

Language Support

Inputs & Outputs

Common Use Cases

Tips