Nodes/ComfyUI-Zonos/Zonos Generate
ComfyUI Node

Zonos Generate

ZonosGenerate Puts Voice Cloning in Your Graph

By BuffMcBigHuge·Created 2 years ago·Updated about a year ago· 72
Zonos Generate
  • sample_audio
  • prefix_audio
  • emotion
  • AUDIO
speechThis is what I want to say
seed1
model_type
language
pitch_std20
speaking_rate15
dnsmos_ovrl4.0
cfg_scale2.0
min_p0.15
speed1.00
disable_compilertrue
sample_textText of sample_audio
speaker_noisedfalse

You've got a script and you want it read back in a voice that isn't a cheerful robot. This is the node for that. Drop a short clip of someone speaking into the graph, type what you want said, and ZonosGenerate clones the voice and generates speech from text at 44 kHz. It's a ComfyUI wrapper around Zyphra's Zonos-v0.1 - the open-weight TTS that r/StableDiffusion spent early 2025 excited about. Two hundred thousand hours of training, clone quality that surprised people, and it runs fully offline once the weights are on disk. It isn't the shiniest TTS anymore - Zonos 2 took the crown in 2026 - but v0.1 still clones a voice convincingly from just a few seconds of audio, which is more than most local options can claim.

How it works

On first run the node downloads the model itself, via HuggingFace, into ComfyUI/models/zonos - not your checkpoints folder, so don't go hunting for it there. Then each generation does the usual Zonos dance: it computes a speaker embedding from your reference clip, uses phonemizer + eSpeak NG to turn your text into phonemes, rolls out audio codes under CFG sampling, and decodes them through Zonos's built-in autoencoder into a wav. The node also splits your text on {voice} markers and generates per-chunk, stitching the segments together - a genuine mitigation for Zonos's known weakness with long text, which degrades into garbled nonsense the longer it goes.

The inputs that matter

You'll mostly touch a handful of these:

  • speech - the script. Multiline, so paste away.
  • sample_audio + sample_text - the reference clip and a transcript of exactly what's said in it. This is the voice you're cloning. Five to ten seconds of clear, close-mic audio, no music or background noise, works best.
  • model_type - Zyphra/Zonos-v0.1-hybrid vs -transformer. Hybrid is the heavier, better-sounding option; transformer is lighter and faster. Both auto-download.
  • language - a dropdown with ~109 language codes.
  • seed - set to -1 for random, or lock it to keep takes consistent.
  • speed - the author's own tooltip says it all: >1.0 slower, <1.0 faster.
  • emotion - the EMOTION output of ZonosEmotion. Leave it unwired and Zonos falls back to a neutral vector.

The rest (cfg_scale, min_p, pitch_std, speaking_rate, dnsmos_ovrl, speaker_noised, prefix_audio) are Zonos conditioning knobs. Defaults are fine for a first pass; the only one worth poking early is prefix_audio, which lets you continue from an existing clip instead of starting cold.

The output is a single AUDIO wire - plug it into any node in your graph that saves or plays audio.

Installing it

From ComfyUI Manager, search "ComfyUI-Zonos" and install. Or the manual route:

cd ComfyUI/custom_nodes
git clone https://github.com/BuffMcBigHuge/ComfyUI-Zonos
cd ComfyUI-Zonos
git submodule update --init --recursive
pip install -r requirements.txt
git clone https://github.com/Zyphra/Zonos.git

Then restart ComfyUI and hit R to refresh the node list. The pack also needs eSpeak NG for the phonemizer step - on Windows that's an MSI install plus a PHONEMIZER_ESPEAK_LIBRARY=C:\Program Files\eSpeak NG\libespeak-ng.dll environment variable; on Linux it's sudo apt install -y espeak-ng. And yes, the requirements list is a wall: transformers, librosa, torchdiffeq, x_transformers, bitsandbytes, wandb. This is a heavy node, not a utility.

Where people get burned

The #1 complaint on Reddit: "Missing Node Types: ZonosEmotion / ZonosGenerate" even after installing. It's a real, reproducible trap. The pack clones the entire Zyphra/Zonos repo at import time and drags in a mountain of pip deps - if any of that fails silently, the nodes never register. After install, confirm the Zonos folder exists inside the pack, re-run pip install -r requirements.txt and watch for errors, then restart ComfyUI.

Other things to know before you queue:

  • The first run downloads roughly 1.5 GB to ComfyUI/models/zonos. Model loading here isn't Comfy-native, so don't expect to see it in the checkpoint loader.
  • Long scripts genuinely break Zonos v0.1. Keep paragraphs short; the node's chunking helps but doesn't work miracles.
  • disable_compiler defaults to true on purpose - the author admits the C++ compile step doesn't work yet. Leave it on.
  • It's tested on Windows only, and you'll want an NVIDIA GPU with CUDA. The README is upfront about all of this.
Categoryaudio

Inputs (16)

NameTypeDefaultDescription
speechSTRINGThis is what I want to say
seedINT1Seed. -1 = random
model_typeCOMBO2 options: Zyphra/Zonos-v0.1-transformer, Zyphra/Zonos-v0.1-hybrid
languageCOMBO109 options: af, am, an, ar, as, az, +103
pitch_stdFLOAT200–300
speaking_rateFLOAT155–30
dnsmos_ovrlFLOAT4.01–5
cfg_scaleFLOAT2.01–5
min_pFLOAT0.150–1
speedFLOAT1.00Speed. >1.0 slower. <1.0 faster
disable_compilerBOOLEANtrueDisable PyTorch compiler for better compatibility
sample_audiooptAUDIO
sample_textoptSTRINGText of sample_audio
prefix_audiooptAUDIOOptional audio to continue from
speaker_noisedoptBOOLEANfalseApply denoising to speaker reference
emotionoptEMOTION

Outputs (1)

NameTypeDescription
AUDIOAUDIO