Kokoro Speaker
Pick a voice, get a speaker — no API key required
- speaker
Kokoro is the small local TTS model that ComfyUI people suddenly can't stop using for voiceovers and lip-sync. 82 million parameters, runs on CPU, sounds startlingly human, and needs no cloud call and no key. This node is the voice picker for it - a dropdown that turns a voice name into the thing the generator actually needs. That's it. It's the boring node in the pack, and you'll use it every single time.
The name is a lie in the best way: KokoroSpeaker doesn't speak and doesn't make sound. What it outputs is a KOKORO_SPEAKER - a voice-style embedding, a vector that fingerprints how a voice sounds. The generator uses that vector to color the audio it synthesizes. Think of it as the audio equivalent of a LoRA tag: it doesn't contain the voice, it describes it.
How it works
Run the node and it does three things: makes sure the model and voice files exist, loads the Kokoro ONNX model, and grabs the embedding for your chosen voice via get_voice_style. On the very first run it quietly downloads a 325 MB kokoro.onnx plus the voice data into the node's own folder, so the first time anything in this pack runs it stalls on a progress bar. Annoying once, free forever after.
The input that matters
One input, one output - the whole node:
- speaker_name (dropdown, 54 voices, default
af_sarah) - the voice. - speaker (
KOKORO_SPEAKER) - wires into Kokoro Generator (or a combiner).
The voice list is where the prefix system earns its keep. af_ is American female, am_ American male, bf_/bm_ British, jf_/jm_ Japanese, zf_/zm_ Mandarin, ef_/em_ Spanish, hf_/hm_ Hindi, if_/im_ Italian, pf_/pm_ Brazilian Portuguese, ff_ French. Scan the dropdown, pick the accent you want, done. af_sarah is the safe default everyone starts with.
Installing it
Same routine as any pack, and you only do it once:
cd ComfyUI/custom_nodes
git clone https://github.com/stavsap/comfyui-kokoro.git
cd comfyui-kokoro
pip install -r requirements.txt
Then restart ComfyUI. Or skip all that: ComfyUI Manager, search "Kokoro" by stavsap, install. Dependencies are kokoro-onnx, onnxruntime, numpy, requests, tqdm - nothing exotic, and onnxruntime means it runs on CPU with no GPU needed.
Where people get burned
The model download is the whole plot twist. Because it happens lazily inside the node, your first queue of a workflow that uses any Kokoro node can look hung while 325 MB pulls in the background - it's not stuck, let the progress bar finish. And there's no graceful offline path: no internet on first run, no model, no audio.
Windows portable users have the classic embedded-Python problem. If the install fails or the node won't import, install the requirements into the portable environment's Python, not your system one:
cd ComfyUI_windows_portable
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\comfyui-kokoro\requirements.txt
The README even links a YouTube walkthrough for exactly this. The good news: KokoroSpeaker is the cheap node - once the files are on disk it's a dropdown and an embedding lookup, instant every time.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| speaker_name | COMBO | af_sarah | 54 options: af_heart, af_alloy, af_aoede, af_bella, af_jessica, af_kore, +48 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| speaker | KOKORO_SPEAKER | — |