RunningHub ICCustom Loader
The Loader That Takes No Inputs (and Needs No RunningHub Account)
- ICCustom Pipeline
The name is a lie, and it's the best thing about it. "RunningHub" suggests you need a RunningHub cloud account, an API key, a whole cloud GPU setup. You don't. RunningHub is a cloud platform for running ComfyUI workflows - think of this as their team packaging Tencent's IC-Custom model for everyone's local install - but this node calls no API and touches no server. It loads models off your disk and runs the whole thing on your GPU. Everything that happens, happens locally.
So what does it actually do? It's the front half of a two-node pack, and its job is one sentence: build the pipeline. The RunningHub ICCustom Loader has zero inputs and exactly one output - a custom-type object called ICCustom Pipeline that only the sibling RunningHub ICCustom Sampler can consume. Add the loader, wire its output into the sampler, done. There is nothing to configure here, which is either freeing or weird depending on how long you've lived with ComfyUI's habit of hiding a settings panel behind every loader.
How it works
Under the hood it constructs a full ICCustomPipeline - the same stack Tencent's IC-Custom repo runs, now in node form. That means it loads, all at once:
- FLUX.1-Fill-dev (
flux1-fill-dev.safetensors+ae.safetensors) as the diffusion backbone and VAE - FLUX.1-Redux-dev plus a SigCLIP vision encoder, which turn your reference image into conditioning the model can see
- CLIP ViT-L and the xflux text encoders for the prompt side
- The four IC-Custom LoRA/embedding files (
dit_lora,dit_txt_img_in,dit_boundary_embeddings,dit_task_register_embeddings) that patch the DiT into an "image customization" model
The clever bit is what happens next. The loader quantizes the main DiT to int8 with optimum-quanto and freezes it, then turns on CPU offloading. That's how a ~12B FLUX transformer gets squeezed into a 16GB card at all. bf16 for the encoders, int8 for the heavy block, everything shuffling between CPU and GPU as needed.
Installing it - the real story
The install is standard; the model download is the whole battle.
cd ComfyUI/custom_nodes
git clone https://github.com/HM-RunningHub/ComfyUI_RH_ICCustom
cd ComfyUI_RH_ICCustom
pip install -r requirements.txt
(Or ComfyUI Manager → search "ComfyUI IC-Custom Node".) The requirements pull in diffusers, transformers, accelerate, and notably optimum[quanto] - that last one is the int8 quantization, don't skip it. Then the README walks you through ~100GB of downloads: FLUX.1-Fill-dev, the full IC-Custom repo, FLUX Redux, SigLIP, CLIP ViT-L, and the xflux text encoders.
Here's the gotcha that bites everyone: this loader has no model-path inputs, so it hardcodes where it looks - all under your ComfyUI/models/ folder. If you drop the IC-Custom files in models/IC-Custom/ but the boundary embeddings end up in a subfolder, the node errors and tells you nothing helpful. Follow the README's directory tree exactly, or the first run fails on a missing file. And "first run" is slow: quantizing and freezing happens on every fresh start, nothing is cached between restarts, so budget a few minutes of a spinning loader before you blame your hardware.
Inputs (0)
No inputs
Outputs (1)
| Name | Type | Description |
|---|---|---|
| ICCustom Pipeline | RHICCustomPipeline | — |