ComfyUI Node

ElevenLabs TTS

The best voices money can rent

By Aryan185·Created about a year ago·Updated about a month ago· 14
ElevenLabs TTS
    • audio
    text
    model_id
    output_format
    voice_idoPM3trUCF4e0vTcsrMQr
    stability0.50
    similarity_boost0.50
    speed1.00
    style0.50
    use_speaker_boosttrue
    seed40
    api_key
    previous_text
    next_text

    ElevenLabs is the TTS service people pay for when they need voices that don't sound synthesized. This node puts that behind a ComfyUI node: you give it text, a voice ID, and some knobs, and it calls ElevenLabs' API and hands you back a Comfy AUDIO output. It's the "client wants a narration and it has to be good" option in this pack - the most configurable, and the most expensive.

    How it works

    The node POSTs to https://api.elevenlabs.io/v1/text-to-speech/{voice_id} with your text and settings, gets back an audio file in your chosen format, and decodes it into a waveform tensor with its sample rate. All the model inference happens at ElevenLabs; your machine only reshapes the audio into something ComfyUI can play and save.

    The inputs that matter

    • text - what gets spoken.
    • voice_id - this is the string ID of a voice from your ElevenLabs account (default is a classic preset). You grab it from the ElevenLabs voice library or dashboard - it's the 20-ish character string, not the friendly name. If you have a cloned voice you paid to create, this is where it goes.
    • model_id - pick your tier. eleven_multilingual_v2 is the quality default; eleven_flash_v2_5 and eleven_turbo_v2_5 are the fast/cheap ones; eleven_v3 is the newest flagship.
    • output_format - a long list of mp3/pcm bitrates, e.g. mp3_44100_128. The 44.1kHz mp3 options are the safe pick; the pcm ones are for when you need lossless.
    • stability / similarity_boost / style / use_speaker_boost - these are ElevenLabs' voice character sliders. Stability keeps the voice steady (higher = more robotic but consistent), similarity_boost sticks closer to the reference voice, style adds emotion. Start at the defaults (0.5) and nudge one at a time - they interact.
    • speed - 0.25 to 2.0, default 1.0.
    • seed / api_key - seed for ComfyUI re-runs; key in the field or as a .env variable name (XI_API_KEY).

    There are also two optional inputs you'll rarely use: previous_text and next_text, which give the model surrounding context for more consistent pronunciation across separate calls.

    The output

    One AUDIO output. Feed it to a preview or save node and you're set.

    Installing it

    This node ships in the Aryan185/ComfyUI-ExternalAPI-Helpers pack:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Aryan185/ComfyUI-ExternalAPI-Helpers.git
    cd ComfyUI-ExternalAPI-Helpers
    pip install -r requirements.txt
    

    Restart ComfyUI and look under audio/generation. ComfyUI Manager works too - search "ExternalAPI-Helpers". Nothing model-related downloads; you just need the openai (for audio decoding helpers) and soundfile dependencies from the pack requirements.

    You need an ElevenLabs API key from elevenlabs.io. There's a free tier with a small monthly character allowance - enough to test, not enough to narrate a podcast. Paste the key in the field, or set XI_API_KEY in .env (copy .env.example) and reference the variable name.

    Where people get burned

    The eleven_v3 model is picky about the stability slider: it only accepts 0.0, 0.5, or 1.0, and the node will quietly round your value to the nearest allowed one (it even prints a note telling you what it did). If your workflow feeds a computed stability value in, keep that in mind. Also watch the character budget - ElevenLabs bills per character, and it's easy to blow through a month of free tier on one long test run. And if you see "Voice not found" errors, it's almost always a voice_id from a different account or a stale ID, not a node bug.

    For the money, this is the quality pick of the pack's TTS trio. For speed and zero-friction, Groq Orpheus wins. Different jobs.

    Categoryaudio/generation

    Inputs (13)

    NameTypeDefaultDescription
    textSTRING
    model_idCOMBO6 options: eleven_v3, eleven_multilingual_v2, eleven_flash_v2_5, eleven_flash_v2, eleven_turbo_v2_5, eleven_turbo_v2
    output_formatCOMBO19 options: mp3_44100_128, mp3_22050_32, mp3_44100_32, mp3_44100_64, mp3_44100_96, mp3_44100_192, +13
    voice_idSTRINGoPM3trUCF4e0vTcsrMQr
    stabilityFLOAT0.500–1
    similarity_boostFLOAT0.500–1
    speedFLOAT1.000.25–2
    styleFLOAT0.500–1
    use_speaker_boostBOOLEANtrue
    seedINT400–4294967294
    api_keySTRINGDirectly put ElevenLabs API key or .env variable name (XI_API_KEY)
    previous_textoptSTRING
    next_textoptSTRING

    Outputs (1)

    NameTypeDescription
    audioAUDIO