Nodes/ComfyUI-EdgeTTS/Edge TTS 🔊
ComfyUI Node

Edge TTS 🔊

Free text-to-speech in ComfyUI, no API key, no GPU

By 1038lab·Created 2 years ago·Updated 6 months ago· 74
Edge TTS 🔊
    • AUDIO
    ◄text—►
    â—„voice[English] en-US Jennyâ–º
    â—„speed1.0â–º
    â—„pitch0â–º

    You want a voiceover for a video workflow and you don't want to download a 2GB TTS model, wrangle a reference clip, or pay for an API. That's the job this node does. Edge TTS turns a box of text into clean, natural narration in about a second, in any of a few dozen languages, for free.

    The catch worth knowing up front: it's not a local model. Under the hood this node wraps rany2/edge-tts, which streams your text to the same Microsoft neural voices that power Edge's "Read Aloud" feature and hands the audio back. That's why it's free and needs no GPU and no key - the synthesis happens on Microsoft's servers, not your card. The flip side is that it needs a live internet connection, and it can't clone a voice. If you need offline synthesis or voice cloning, that's F5-TTS / other local models; if you need a quick, correct-sounding voiceover with zero setup, this is the one you reach for.

    The pack comes from 1038lab, the same author behind the widely-used ComfyUI-RMBG background-removal pack. They tend to build tidy, multi-node bundles - here you get Edge TTS plus a Whisper transcription node and a Save Audio exporter in one install.

    How it works

    You pick a voice, type your text, and the node sends it off and returns an AUDIO object. No model files, no first-run download, no VRAM. The "quality" is really just whichever Microsoft neural voice you selected - they're genuinely good, on par with what you'd get from a paid TTS tier a couple of years ago.

    One beginner trap baked into the design: Edge TTS is not an output node. It produces audio but doesn't save anything by itself. You have to wire its AUDIO output into something - the Save Audio node in this same pack, a video-combine node, or an audio preview - or you'll run the graph, see it go green, and wonder where your file went.

    The inputs that matter

    • text - the multiline string to speak. Paste a paragraph; there's no hard length limit.
    • voice - a big dropdown (162 entries) formatted like [English] en-US Jenny. Default is Jenny (US English). Match the voice's language to your text - a US-English voice reading German will sound off. Chinese, Japanese, Korean, French, German, Spanish, Russian, Arabic, Hindi and plenty more are in there.
    • speed (default 1, range 0.5–2) - playback rate. 1.2 gives you a slightly punchier read without sounding sped-up.
    • pitch (default 0, range -20–20) - raise or lower the voice. Small nudges only; push it far and it goes robotic.

    Output is a single AUDIO that plugs straight into Save Audio (to write a file) or into your video pipeline.

    How to install it

    Easiest path is ComfyUI Manager: open the Manager, search Comfyui-EdgeTTS, install, restart.

    Manually:

    cd ComfyUI/custom_nodes
    git clone https://github.com/1038lab/ComfyUI-EdgeTTS.git
    ./ComfyUI/python_embeded/python -m pip install -r requirements.txt
    

    Then restart ComfyUI. The Edge TTS node itself is lightweight - the heavier dependencies in requirements.txt (FFmpeg, torch audio bits) are really there for the Whisper node in the pack, so don't be alarmed by them.

    Common issues

    "It runs but no file appears." Right - it's not an output node. Connect the AUDIO output to Save Audio or a preview node.

    Silence, timeouts, or a network error. Remember it's calling Microsoft over the network. On an air-gapped box, a locked-down server, or serverless GPU runners without egress, it simply can't work - this is the single most common surprise.

    The voice list looks wrong, or generation suddenly 403s. Microsoft occasionally changes the Edge TTS backend, which breaks voice IDs until the wrapper catches up - that's exactly what the pack's V1.2.1 and V1.2.2 "Voice ID update" releases were fixing. If it stops working out of nowhere, update the pack before you debug anything on your end.

    Wrong-sounding pronunciation. You've almost certainly got a voice whose language doesn't match your text. Switch the voice to one tagged for the right language.

    Category🧪AILab/🔊Audio

    Inputs (4)

    NameTypeDefaultDescription
    textSTRING—
    voiceCOMBO[English] en-US JennySelect a voice for text-to-speech
    speedoptFLOAT1.00.5–2Speech rate (0.5 to 2.0)
    pitchoptINT0-20–20Voice pitch adjustment (-20 to +20 Hz)

    Outputs (1)

    NameTypeDescription
    AUDIOAUDIO—