Nodes/ComfyUI_RH_VoxCPM/RunningHub VoxCPM Load Model
ComfyUI Node

RunningHub VoxCPM Load Model

The Load Model node

By RH-RunningHub·Created 4 months ago·Updated 2 months ago· 0
RunningHub VoxCPM Load Model
    • model
    model_name
    optimizefalse
    lora_name

    This is the node you drop in first, before anything else in the pack, because every other VoxCPM node wants its model output on the left side. RunningHub VoxCPM Load Model loads OpenBMB's VoxCPM - a tokenizer-free TTS model that does context-aware speech generation and voice cloning - from a folder inside ComfyUI/models/voxcpm/, wraps it, and hands it to Generate Speech or the multi-speaker nodes. If you've used any model loader in ComfyUI, this behaves exactly like you expect: pick a model, get an object wire, done.

    The pack is RunningHub's own (the China-based GPU cloud that also runs hosted ComfyUI), and it's Apache 2.0. The nice part of that arrangement: you don't need a RunningHub account or API key to use this locally. It's a plain local model loader wearing the platform's name.

    The three inputs, and the one you'll actually touch

    • model_name - a dropdown of every folder under models/voxcpm/ that contains a config.json. VoxCPM2 is put first if it's present. This is the input you set.
    • optimize - default off. Toggles torch.compile on the loaded model. Sounds free, isn't: first run pays a long compile, and it only pays off on sustained multi-gen sessions. Leave it off unless you're batching a lot of clips.
    • lora_name - optional dropdown of LoRA files in models/voxcpm/loras/ (.safetensors, .ckpt, or .pth). This is how you load a voice LoRA you trained with the Train LoRA node. The loader reads the rank/alpha from the sidecar lora_config.json or from metadata embedded in the file, so you don't have to type a rank anywhere.

    Output is a single model (VOXCPM_MODEL) wire.

    Installing the pack and the model

    The pack itself is a normal custom node:

    cd ComfyUI/custom_nodes
    git clone https://github.com/RH-RunningHub/ComfyUI_RH_VoxCPM.git
    cd ComfyUI_RH_VoxCPM
    pip install -r requirements.txt
    

    Or search "ComfyUI_RH_VoxCPM" in ComfyUI Manager and install from there. Either way, restart ComfyUI. Then the actual work: this loader is useless until a model is on disk. Pick one and download it into the exact folder the dropdown scans:

    hf download openbmb/VoxCPM2 --local-dir ComfyUI/models/voxcpm/VoxCPM2
    

    VoxCPM2 (2B, ~4.6 GB) is the quality pick; VoxCPM1.5 (800M, ~1.9 GB) is the balance; VoxCPM-0.5B (640M, ~1.5 GB) is the lightweight. The dropdown only shows directories that have a config.json, so a partial download won't even appear - that's a feature, not a bug.

    Where people get burned

    The number one trap is the dependency list, not the model. requirements.txt pulls in voxcpm, funasr, librosa, wetext, and modelscope - and FunASR in particular is a known dependency-conflict magnet in the ComfyUI world. If the pack installs cleanly, great; if some other custom node starts throwing tokenizer or transformers errors afterward, that's the usual suspect. And don't be surprised that the dropdown shows "None" the first time you open the node - it lists directories at node-creation time, so refresh the frontend after dropping models in. There's also a deliberate fallback baked in: if you reference a LoRA name that isn't on your machine, it warns and loads without it rather than killing the workflow. Handy when you share workflows across setups, mildly confusing the first time it happens silently.

    One more honest note: this is a heavy loader. VoxCPM2 plus FunASR resident in memory is not a 6 GB VRAM hobby. If you're on a smaller card, load VoxCPM1.5 and skip the LoRA.

    CategoryRunningHub/VoxCPM

    Inputs (3)

    NameTypeDefaultDescription
    model_nameCOMBO1 options: None
    optimizeBOOLEANfalse
    lora_nameoptCOMBO1 options: None

    Outputs (1)

    NameTypeDescription
    modelVOXCPM_MODEL