ElevenLabs Text-to-Speech
The ElevenLabs TTS node is the reason to install this pack
- AUDIO
If you install this pack for one node, this is it. ElevenLabs TTS is the flagship: type a sentence, pick a voice, and out comes broadcast-grade speech that the open-source world has spent the last two years trying to catch up to. It's not free and it's not local - you're renting one of the best voices money can buy, straight inside your ComfyUI graph.
What you're actually paying for
ElevenLabs is the closed, commercial quality bar for TTS - the thing every open model gets compared against and mostly loses on reliability and languages. This node wraps their text-to-speech API: your text goes up to https://api.elevenlabs.io/v1/text-to-speech/{voice_id}, the audio comes back, and torchaudio decodes it into a normal ComfyUI AUDIO tensor. No model download, no VRAM, no checkpoint to manage. The tradeoff, which is the whole frame for this pack: your text leaves your machine, each run burns credits from your ElevenLabs account, and the key lives in the node's api_key field. Treat it as a utility, not a privacy tool.
The inputs that actually matter
api_key- paste your key from elevenlabs.io → Profile Settings. The tooltip promises "voices auto-refresh when changed," and it's telling the truth: the node watches for a new key, dumps its cached voice list, and refetches.text- the words. Mind the char limits per model:eleven_v3stops at 3,000,eleven_multilingual_v2at 10,000, and the turbo/flash models handle 40,000. Long copy gets split into chunks.voice- a dropdown auto-populated from your account, in "Name (voice_id)" format. The node just parses the ID out of the string.model- this is the real choice.eleven_v3for emotional delivery in 70+ languages,eleven_turbo_v2_5oreleven_flash_v2_5when you want speed or long text. The deprecated v1 models are in the list "because they still work" - you almost never want them.stability,similarity_boost,style,use_speaker_boost- the classic ElevenLabs dials. Lowerstability= more expressive, higher = robotic consistency;styleis the emotion knob that matters most oneleven_v3. The defaults (0.5 / 0.75 / 0) are a sane starting point.
Optional niceties: language_code (default "auto" for detection), output_format (mp3_44100_128 default, or pcm_44100 for lossless), and seed if you want reproducible generations.
Output: one AUDIO socket. Wire it into any audio preview/save node.
Install
ComfyUI Manager, search "Elevenlabs-ComfyUI", install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/karthikg-09/Elevenlabs-ComfyUI.git
cd Elevenlabs-ComfyUI
pip install -r requirements.txt
The requirements are just requests plus torch/torchaudio - which ComfyUI already ships, so realistically you're adding only requests. Restart, then find the node under Add Node → ElevenLabs.
Where people get burned
The classic first-run trap: the voice dropdown is empty or stale. The voice list is cached for an hour, so after cloning a new voice or switching accounts, run the node once, then right-click → Reload Node to see the fresh list. If a run fails, the error is in the ComfyUI console, not the canvas - the pack logs request details, HTTP status, and the API's actual response there. Check that before you assume the node is broken. And if you're out of credits, it fails with a 4xx you'll only understand if you look at the log; the pack's User Info node is the built-in way to check your remaining quota.
One honest take: for a hobby project where a mispronunciation is no big deal, the local models (Chatterbox, F5-TTS) now get you most of the way for free. You reach for this node when the voice has to be right and the language has to be right - that's its whole job, and it does it.
Inputs (12)
| Name | Type | Default | Description |
|---|---|---|---|
| api_key | STRING | Your ElevenLabs API key - voices auto-refresh when changed | |
| text | STRING | Hello, how are you? | Text to convert to speech. Note: eleven_v3 has 3K char limit, other models 10K-40K |
| voice | COMBO | 21 options: Roger - Laid-Back, Casual, Resonant (CwhRBWXzGAHq8TQ4Fs17), Sarah - Mature, Reassuring, Confident (EXAVITQu4vr4xnSDxMaL), Laura - Enthusiast, Quirky Attitude (FGY2WhTYpPnrIDTdsKH5), Charlie - Deep, Confident, Energetic (IKne3meq5aSn9XLyUdCD), George - Warm, Captivating Storyteller (JBFqnCBsd6RMkjVDRZzb), Callum - Husky Trickster (N2lVS1w4EtoT3dr4eOWO), +15 | |
| model | COMBO | 12 options: eleven_v3, eleven_ttv_v3, eleven_multilingual_v2, eleven_turbo_v2_5, eleven_turbo_v2, eleven_flash_v2_5, +6 | |
| stability | FLOAT | 0.500–1 | — |
| similarity_boost | FLOAT | 0.750–1 | — |
| style | FLOAT | 0.000–1 | Style exaggeration (0-1). For eleven_v3: controls emotional expressiveness and dramatic delivery |
| use_speaker_boost | BOOLEAN | true | — |
| input_textopt | STRING | — | |
| language_codeopt | COMBO | auto | 15 options: auto, en, es, fr, de, it, +9 |
| output_formatopt | COMBO | mp3_44100_128 | 6 options: mp3_44100_128, mp3_44100_192, pcm_16000, pcm_22050, pcm_24000, pcm_44100 |
| seedopt | INT | -1-1–4294967295 | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| AUDIO | AUDIO | — |