TTS WebUI Kitten TTS
A lightweight clone model with a required voice
- audio
- wav_path
- metadata_json
Kitten TTS is the lightweight voice-cloning entry in this pack - a small model from KittenML aimed at getting a passable clone without a big VRAM footprint. It's not the flashiest node here, and it isn't going to out-sound Chatterbox, but if you're on a modest GPU and want a cloning-style model that behaves like the bigger ones, it's a reasonable stop. Think of it as the budget tier in a pack that also has the flagship.
How it works
Identical plumbing to the rest of the pack: the node POSTs an OpenAI-style body to your TTS WebUI server at http://127.0.0.1:7778/v1/audio/speech with model: "kitten-tts", and the server does the generation. The model (KittenML/kitten-tts-mini-0.1 by default) lives in the server, downloads on first load, and the node is a remote control for it.
The inputs that matter
The one thing that makes this node different from most of its siblings is that voice is a required input - it defaults to random, which is a valid answer, but you can name a specific voice the server knows. It's the only required input beyond the universal text and api_base.
- voice (required, default
random) - pick a named voice on the server or gamble. - model_name (default
KittenML/kitten-tts-mini-0.1) - the exact Hugging Face repo the server loads. If you've got a fine-tune or a different Kitten model on the server, point it here. - speed - 0.25 to 4.0, default 1.0.
Outputs
audio (AUDIO) into a preview/save node, wav_path (STRING) when also_save_wav is on, and metadata_json (STRING) with request details and WAV stats.
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 requests, numpy, torch - already present in any ComfyUI environment, nothing extra to install. The Kitten model weights download into the TTS WebUI server, not into this node.
When it breaks
- Connection refused: the server isn't running on
127.0.0.1:7778. Start TTS WebUI, load the Kitten model there, then retry; for a remote server, fixapi_base. - Voice not found: you named a voice the server doesn't have. Fall back to
randomor check the server's voice list. - First request is slow: model download/load on the server - raise
timeout_sec(max 600) and let it finish.
The honest framing: Kitten TTS is a utility node, not a headline act. Reach for it when you want the cloning workflow shape - pick a voice, generate - at the lowest possible cost, and save the heavy models for when quality is the point.
Inputs (11)
| Name | Type | Default | Description |
|---|---|---|---|
| text | STRING | Hello | — |
| api_base | STRING | http://127.0.0.1:7778 | — |
| voice | STRING | random | — |
| api_keyopt | STRING | — | |
| model_nameopt | STRING | KittenML/kitten-tts-mini-0.1 | — |
| speedopt | FLOAT | 1.000.25–4 | — |
| timeout_secopt | INT | 1201–600 | — |
| channels_firstopt | BOOLEAN | true | — |
| also_save_wavopt | BOOLEAN | false | — |
| save_prefixopt | STRING | tts | — |
| return_metadataopt | BOOLEAN | true | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| audio | AUDIO | — |
| wav_path | STRING | — |
| metadata_json | STRING | — |