Nodes/ComfyUI jhj Kokoro Onnx/(Down)Load Kokoro Model
ComfyUI Node

(Down)Load Kokoro Model

It downloads AND loads — the Kokoro model node that does both

By jhj0517·Created 2 years ago·Updated 2 years ago· 6
(Down)Load Kokoro Model
    • model
    model
    voice_pack

    (Down)Load Kokoro Model is the unglamorous but essential first half of the jhj0517/ComfyUI-jhj-Kokoro-Onnx pack. Every TTS workflow using this pack starts here: the node points at a Kokoro ONNX model and a voice pack, downloads whatever's missing, loads the model into an inference session, and hands you a KOKORO_ONNX connection to feed into the Kokoro Audio Generator. The "(Down)" in the name isn't a typo - it genuinely does both jobs, and the author wanted you to know it.

    How it works

    Two mechanisms, one node. When the node menu is built, it scans ComfyUI/models/kokoro-onnx and populates the dropdowns with whatever model files and voice packs it finds on disk - so the options you see are literally "what's already there." Then, when you actually queue the graph, it checks whether the selected file exists and, if not, streams it down from the kokoro-onnx GitHub releases, printing a progress bar in your ComfyUI console. Only after that does it construct the Kokoro ONNX session (Kokoro(model_path, voice_pack_path)), letting kokoro-onnx pick the execution provider - GPU if it can find CUDA, CPU otherwise. The whole pipeline object comes out the other side as the model output.

    The README is explicit that the pack targets Kokoro v0.19 today but is keeping an eye on v0.23 upstream. When a newer model file lands, it should show up in that dropdown automatically - the node reads the disk, so the list grows on its own.

    Inputs and outputs

    • model (enum, kokoro-v0_19.onnx) - which model to load. One choice in v0.19.
    • voice_pack (enum, voices.bin) - the bundled voice set that all 11 Kokoro voices live in. Also one choice.

    That's the whole list: two dropdowns, both effectively single-choice right now. The single output is model of type KOKORO_ONNX - wire it into the Kokoro Audio Generator's model input and you're done.

    Install

    Standard ComfyUI custom-node fare. ComfyUI Manager works - search "ComfyUI jhj Kokoro Onnx" - or do it by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/jhj0517/ComfyUI-jhj-Kokoro-Onnx.git
    cd ComfyUI-jhj-Kokoro-Onnx
    pip install -r requirements.txt
    

    Portable installs run the same pip line with python_embeded\python.exe -m pip. The requirements are just kokoro-onnx and onnxruntime-gpu - the latter is the big pull and drags in CUDA bits, but it works fine on CPU-only boxes because kokoro-onnx falls back to the CPU provider automatically.

    Where people get burned

    The download doesn't happen at install time - it happens the first time you run the graph. If your first generation seems to hang, that's the model and voices.bin pulling down; the tqdm bar in the terminal is your friend, not a crash. Second, the files land in ComfyUI/models/kokoro-onnx, not the usual checkpoints folder - which is actually convenient: if you already have the files from another Kokoro wrapper (the earlier ComfyUI-BS_Kokoro-onnx from January 2025, say), drop them in and you skip the re-download entirely. The node is a loader with a download button glued on, and the only real decision is remembering to wire its output onward.

    CategoryComfyUI jhj Kokoro Onnx

    Inputs (2)

    NameTypeDefaultDescription
    modelCOMBO1 options: kokoro-v0_19.onnx
    voice_packCOMBO1 options: voices.bin

    Outputs (1)

    NameTypeDescription
    modelKOKORO_ONNX