Nodes/ComfyUI Lackluster Nodes/AllTalk TTS Generator
ComfyUI Node

AllTalk TTS Generator

Give your ComfyUI videos an actual voice

By LacklusterOpsec·Created 5 months ago·Updated 16 days ago· 1
AllTalk TTS Generator
    • audio
    • audio_path
    textHello, this is a test.
    character_voicefemale_01.wav
    languageauto
    speed1.0
    temperature0.75
    repetition_penalty2.5
    pitch0.0
    alltalk_server_urlhttp://localhost:7851
    narrator_enabledfalse
    narrator_voicemale_01.wav
    voices_dirC:\Tavern\alltalk\voices

    The name lies a little. "AllTalk TTS Generator" doesn't generate anything itself - it's a remote control for a separate AllTalk server, and it's the cleanest way to get an actual voice into your ComfyUI video workflow without wrestling model weights into the graph. AllTalk (erew123's alltalk_tts, now on the betav2 branch) is a full TTS server with model swapping, RVC voice cloning and a narrator, and it's one of the community's real answers here - especially for non-English, where the KB's own audio notes keep pointing at it.

    How it works

    The node is a thin HTTP client. On every run it pings {server}/api/ready, then POSTs to /api/tts-generate with your text and all the generation params. AllTalk renders the audio on its side, the node downloads the file into ComfyUI's output folder, parses it, and hands you two things:

    • audio (AUDIO) - a waveform tensor plus sample rate, ready to feed any node that accepts the AUDIO type
    • audio_path (STRING) - the local path, if you'd rather save or reference the file yourself

    That AUDIO output is the win. You can wire it straight into a video save node or an audio preview, no file-juggling.

    The inputs that matter

    You mostly set text, character_voice, and alltalk_server_url. The voice dropdown is built from a folder on your machine, and language covers auto plus 11 codes (en, es, fr, de, it, pt, nl, ru, ja, zh, ko). Behind those: speed (0.25–2.0), temperature (0.1–1.0), repetition_penalty (1.0–20.0), and pitch (-10.0–10.0). Optional narrator_enabled (false / true / silent) plus narrator_voice drives AllTalk's built-in narrator for scene text - handy if you want a second voice for directions.

    Installing it

    The pack installs light - its requirements are just requests and numpy, no models inside. Use ComfyUI Manager (search "ComfyUI Lackluster Nodes") or:

    cd path/to/ComfyUI/custom_nodes
    git clone https://github.com/LacklusterOpsec/ComfyUI-Lackluster-Nodes.git
    cd ComfyUI-Lackluster-Nodes
    pip install -r requirements.txt
    

    The heavier lift is AllTalk itself, which the README walks through:

    git clone -b betav2 https://github.com/erew123/alltalk_tts.git
    cd alltalk_tts
    # Windows: run atsetup.bat and follow the prompts
    # or with uv:
    uv venv
    .venv\Scripts\activate
    uv pip install -r .\system\requirements\requirements_standalone.txt
    python script.py
    

    Verify it's up at http://localhost:7851/api/ready before blaming the node.

    Where people get burned

    • "Cannot connect to AllTalk server" - the node's #1 failure. The server isn't running, isn't reachable, or you changed the port. Check /api/ready in a browser first.
    • The voice dropdown doesn't match the server. The character_voice list comes from your local voices_dir (default C:\Tavern\alltalk\voices), not from what the server has loaded. Point voices_dir at your real voices folder, and refresh the browser tab - the node saves a config file and the dropdown only reloads on refresh.
    • Non-WAV output needs librosa. If AllTalk returns mp3/ogg/m4a/flac, the node falls back to librosa, which isn't in the pack's requirements. pip install librosa, or set AllTalk to output WAV.
    • It's still a server dependency. AllTalk holds its own VRAM and models; the node is the remote, not the brain.

    For a single-character narration setup this is the whole pipeline. If you're cloning voices, do that inside AllTalk, then just pick the clone here.

    CategoryLackluster/Audio

    Inputs (11)

    NameTypeDefaultDescription
    textSTRINGHello, this is a test.
    character_voiceCOMBOfemale_01.wav5 options: female_01.wav, female_02.wav, female_03.wav, male_01.wav, male_02.wav
    languageCOMBOauto12 options: auto, en, es, fr, de, it, +6
    speedFLOAT1.00.25–2
    temperatureFLOAT0.750.1–1
    repetition_penaltyFLOAT2.51–20
    pitchFLOAT0.0-10–10
    alltalk_server_urlSTRINGhttp://localhost:7851
    narrator_enabledoptCOMBOfalse3 options: false, true, silent
    narrator_voiceoptCOMBOmale_01.wav5 options: female_01.wav, female_02.wav, female_03.wav, male_01.wav, male_02.wav
    voices_diroptSTRINGC:\Tavern\alltalk\voices

    Outputs (2)

    NameTypeDescription
    audioAUDIO
    audio_pathSTRING