ComfyUI Node

TTS WebUI Preset

The 'just give me a voice' node

By rsxdalv·Created 10 months ago·Updated 10 months ago· 5
TTS WebUI Preset
    • audio
    • wav_path
    • metadata_json
    textHello
    api_basehttp://127.0.0.1:7778
    api_key
    voicerandom
    preset
    speed1.00
    timeout_sec120
    channels_firsttrue
    also_save_wavfalse
    save_prefixtts
    return_metadatatrue

    Every other node in this pack is a per-model wrapper. This one is different: "TTS WebUI Preset" doesn't care which model you're using. It just asks the TTS WebUI server to play a preset - a saved bundle of model, voice, and settings that you set up on the server side - and speaks your text with it. If you've configured a handful of go-to voices in TTS WebUI and just want to grab one without thinking, this is the node.

    How it works

    Same client-server shape as the whole pack: the node POSTs an OpenAI-style body to http://127.0.0.1:7778/v1/audio/speech, this time with model: "global_preset". The magic all happens server-side - presets are defined in the TTS WebUI server, and this node just names one and says "go."

    The inputs that matter

    • voice - defaults to random. If you leave preset empty, the server uses its default setup with whatever voice you name here.
    • preset - the name of a preset you've created on the TTS WebUI server. Leave it empty and the node behaves like the server's default voice.
    • speed - 0.25 to 4.0, default 1.0.

    That's the whole node. Three knobs, all optional, none of them model-specific. That's the point - it's the "I don't want to know which model is under the hood" option.

    Outputs

    audio (AUDIO) into a preview/save node, wav_path (STRING) when also_save_wav is on, and metadata_json (STRING) with the request details.

    Installing it

    ComfyUI Manager → search "TTS WebUI API nodes for ComfyUI", or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/rsxdalv/ComfyUI-TTS-Webui
    

    then restart. Dependencies are just requests, numpy, torch - all already in your ComfyUI. There are no model downloads here at all; the preset's model is whatever the server has configured.

    When it breaks

    • Connection refused: server isn't running on 127.0.0.1:7778, or api_base points at the wrong host. The node appends /v1/audio/speech itself.
    • Preset not found: the name you typed doesn't match any preset on the server. Presets are case-sensitive server-side things - check the exact name in TTS WebUI's UI.
    • Weird voice when you expected a preset: preset empty means you're getting the server default, and voice: random means exactly that. If you wanted a specific voice, name it or set the preset.

    Honestly, this node is a convenience play. If you only ever use one or two voices and don't care about per-model dials, it's the cleanest node in the pack - you can wire a whole workflow around it and never touch a model name. The trade-off is that "random" default will keep surprising you until you configure the server side to your liking.

    CategoryAudio/TTS

    Inputs (11)

    NameTypeDefaultDescription
    textSTRINGHello
    api_baseSTRINGhttp://127.0.0.1:7778
    api_keyoptSTRING
    voiceoptSTRINGrandom
    presetoptSTRING
    speedoptFLOAT1.000.25–4
    timeout_secoptINT1201–600
    channels_firstoptBOOLEANtrue
    also_save_wavoptBOOLEANfalse
    save_prefixoptSTRINGtts
    return_metadataoptBOOLEANtrue

    Outputs (3)

    NameTypeDescription
    audioAUDIO
    wav_pathSTRING
    metadata_jsonSTRING