Skip to main content

Usage guide

Setup, environment variables, and Python/JavaScript/Go usage examples.

ElevenLabsTTS

Expressive streaming text-to-speech via ElevenLabs. Multilingual neural voices with fine-grained control over stability, similarity, style and speaker boost.

Constructor

api_key
str | None
ElevenLabs API key. Falls back to ELEVENLABS_API_KEY.
voice
str
default:"21m00Tcm4TlvDq8ikWAM"
Voice id. Default "21m00Tcm4TlvDq8ikWAM" (the “Rachel” voice).
model
ElevenLabsTTSModel | str
default:"eleven_turbo_v2"
Synthesis model: eleven_v3, eleven_multilingual_v2, eleven_flash_v2_5 or eleven_flash_v2 (the Flash models are the lowest latency). Default "eleven_turbo_v2".
sample_rate
int
default:"24000"
Output rate in Hz. Default 24000.
stability
float
default:"0.5"
Voice consistency, 0.0–1.0 (higher is steadier). Default 0.5.
similarity_boost
float
default:"0.75"
Adherence to the original voice, 0.0–1.0. Default 0.75.
style
float
default:"0.0"
Style exaggeration, 0.0–1.0 (0 disables, adds latency). Default 0.0.
use_speaker_boost
bool
default:"True"
Boost similarity to the speaker. Default True.
apply_text_normalization
Optional[str]
Normalization mode ("auto"/"on"/"off").
enable_word_timestamps
bool
default:"False"
Return per-word timing metadata. Default False.
speed
Optional[float]
Speaking-rate multiplier (~0.7–1.2). Default None (provider default).
language
Optional[str]
ISO-639-1 language hint for supported models.
enable_ssml_parsing
Optional[bool]
Interpret SSML tags in the input text.
stream
bool
default:"True"
Stream audio as it is synthesized. Default True.

aclose

Release any resources held by the provider.

emit

Emit an event, invoking all registered handlers with the given arguments. Handlers are called in registration order. Coroutine handlers are scheduled on the running event loop. If the emitter is closed, the call is a no-op.
event
T
required
The event to emit.

interrupt

Interrupt and cancel the current synthesis for the active session, if any.

off

Remove a previously registered handler for an event. If the handler is not registered for the event, the call is a no-op.
event
T
required
The event the handler was registered for.
callback
Callable[..., Any]
required
The handler to remove.

on

Register a handler for an event. Can be used directly by passing a callback, or as a decorator when callback is omitted.
event
T
required
The event to listen for.
callback
Callable[..., Any] | None
The handler to invoke when the event is emitted. If None, a decorator is returned that registers the decorated function.
returns
Callable[..., Any]
The registered callback when callback is provided, otherwise a decorator that registers and returns the function it wraps.

on_first_audio_byte

Register the callback invoked when the first audio byte is produced.
callback
'Callable[[int, int], Awaitable[None] | None]'
required
A callable, optionally async, invoked with synthesis timing information when the first audio byte is emitted.

synthesize

Synthesize the given text into speech. Implementations should convert the text to audio. The default behavior forwards the text to the active session for playback when one is present.
text
Any
required
The text to synthesize; coerced to a string if needed.

ElevenLabsTTSModel