Nodes/ComfyUI-IcyHider/Icy DiffControlNetLoader
ComfyUI Node

Icy DiffControlNetLoader

The ControlNet loader for folder-based files

By icekiub-ai·Created 9 months ago·Updated 9 months ago· 31
Icy DiffControlNetLoader
  • model
  • CONTROL_NET
control_net_name

Yes, that's another auto-generated wrapper - IcyDiffControlNetLoader is ComfyUI-IcyHider's Icy subclass of the core DiffControlNetLoader, same behavior, renamed class so the privacy extension can hide it. If you've read the IcyControlNetLoader article, you know the drill.

The difference between the two loaders is the format they accept. Plain ControlNetLoader takes a single-file .safetensors ControlNet. DiffControlNetLoader loads diffusers-format ControlNets - model folders with subdirectories instead of one big file. It exists for people whose ControlNet came as a directory (common on HuggingFace for newer or experimental models), and it has an extra input for that reason:

  • model (MODEL) - the base diffusion model the ControlNet will plug into. The loader uses it to figure out the ControlNet's architecture, since diffusers-format files don't always self-describe cleanly.
  • control_net_name (enum) - the folder or file, picked from ComfyUI/models/controlnet/.

Output: a single CONTROL_NET, fed into ControlNetApply like any other.

When to actually use it

Honestly? Rarely, unless your ControlNet is a folder. The single-file .safetensors format is the default for the overwhelming majority of ControlNets people download for ComfyUI - union models, classic SD 1.5 sets, Flux unions, all ship as one file and load fine through the plain loader. You reach for DiffControlNetLoader when a HuggingFace repo you grabbed is structured as a diffusers directory tree (typically config.json plus weight files in subfolders) rather than a single pytorch_model.safetensors.

One real quirk to remember: because it takes a model input, this loader is a per-architecture tool. The ControlNet you load through it must be compatible with the base model you pass in. Pair an SDXL ControlNet with an SD 1.5 checkpoint and you'll get a confusing load error or silent nonsense - the loader is doing architecture detection, not validation.

Installing it

cd ComfyUI/custom_nodes
git clone https://github.com/icekiub-ai/ComfyUI-IcyHider

Restart, or use ComfyUI Manager (search "IcyHider"). No pip dependencies, no models bundled.

Common issues

  • Missing node in shared workflows - install the pack or swap in core DiffControlNetLoader.
  • "Wrong architecture" errors. You passed a ControlNet and a base model that don't match. Match them up and the loader stops complaining.
  • Name missing from the dropdown. Folder-based ControlNets need to sit in models/controlnet too, and ComfyUI must have been restarted after you placed them.
CategoryIcyHider Comfy Core

Inputs (2)

NameTypeDefaultDescription
modelMODEL
control_net_nameCOMBO0 options:

Outputs (1)

NameTypeDescription
CONTROL_NETCONTROL_NET