RunningHub RVC ZIP Model Loader
Load a voice model as a ZIP — the convenience door into RVC
- rvc_model
- info
Same job as the Model Loader, different delivery. The RunningHub RVC ZIP Model Loader lets you drop a .zip straight onto the node's file widget and get the same RVC_MODEL handle out, without digging the .pth out by hand. It's the door you want when a model arrives as a zip - which is exactly how this pack's training node exports its finished work - or when you're on a remote or cloud ComfyUI where poking at the disk is a pain.
How it works
Upload the zip and it lands in ComfyUI's input folder. The node hashes the file, makes a folder in models/RVC/_uploaded named after the zip plus a chunk of that hash, and extracts the .pth and any .index inside. Then it loads the model exactly the way the Model Loader does - and if the zip carried an index, it wires that in as the automatic index, so the conversion node's retrieval works with zero extra configuration. Files stay out of your main model folders, which is tidy.
It's also careful about re-uploads: a changed zip gets its own hash-named folder instead of silently stomping the old extraction, and the node tracks the zip's size and mtime so a re-run after you swap the file actually reloads. Safety is baked in too - paths are checked so a hostile zip can't write outside the extraction directory.
Inputs and outputs
The inputs are the same two device/precision toggles as the sibling loader, plus the one that matters:
- zip_file - the upload widget. Pick the zip from your input folder or drag it in. This is the only node input that isn't a dropdown.
- device -
auto(cuda:0 when available, else CPU). - is_half - fp16 loading, on by default, auto-disabled on CPU.
Outputs:
- rvc_model - the loaded handle, wired into the RunningHub RVC Voice Conversion node.
- info - a short report: extraction directory, model path, and whether an index matched. Worth reading once so you know exactly what got loaded, and it's the fastest way to confirm the zip actually contained a
.pth.
The limits and gotchas
There's a hard 150 MB cap per zip, baked into the node - big multi-speaker models in a single archive won't make it through. That's rarely a real problem for a single voice model, but don't try to zip up a whole RVC training run.
One thing to keep straight: this loader expects a zip of the model, not a model inside a folder structure you need to preserve. The extractor just looks for .pth and .index anywhere inside. If your zip is a Windows "extract this folder" archive, it still works - the scan is recursive.
Install
ComfyUI Manager users can search for ComfyUI_RH_RVC. Manual install is the same for the whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/RH-RunningHub/ComfyUI_RH_RVC
cd ComfyUI_RH_RVC
pip install -r requirements.txt
Restart ComfyUI. And remember the pack-wide rule: HuBERT must exist at models/RVC/_assets/hubert/hubert_base.pt before any model loads, zip or not - grab it from lj1995/VoiceConversionWebUI on HuggingFace if you haven't. If you only ever convert with models you got as zips, this node plus HuBERT is all the setup you'll touch.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| zip_file | COMBO | 上传或选择包含 RVC .pth 和可选 .index 的 zip 文件。 | |
| device | COMBO | auto | 推理设备。auto 会优先使用 cuda:0,没有 CUDA 时使用 CPU。 |
| is_half | BOOLEAN | true | 是否使用半精度加载模型。CPU 会自动禁用;老显卡或精度异常时可关闭。 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| rvc_model | RVC_MODEL | 从 zip 中加载出的 RVC 模型句柄,连接到 Voice Conversion 节点使用。 |
| info | STRING | 解压目录、模型路径和 index 自动匹配信息。 |