Nodes/ComfyUI-IcyHider/Icy ControlNetLoader
ComfyUI Node

Icy ControlNetLoader

Pick a ControlNet file, any file

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

    Standard pack disclaimer: IcyControlNetLoader is ComfyUI-IcyHider's auto-generated Icy subclass of the core ControlNetLoader. The pack wraps every core node at startup for its preview-hiding feature, so this loader is the core node with a renamed class - same dropdown, same output. Install the pack or use the core node; there's no functional difference.

    What it does is admirably boring: it loads a ControlNet model file from ComfyUI/models/controlnet/ and hands you a CONTROL_NET object to feed into ControlNetApply (or its Icy twin). That's the whole thing. The file name shows up in a control_net_name dropdown populated from that folder at startup, and the output is a single CONTROL_NET.

    What you actually need to know

    • Where files go. ComfyUI/models/controlnet/. Drop the .safetensors there, refresh ComfyUI (or reload), and the name appears in the dropdown.
    • Architecture matters more than it looks. A ControlNet file is trained for a specific base - SD 1.5, SDXL, Flux, Qwen-Image - and will not do its job on another architecture. The KB's ControlNet doc is emphatic about this: "no SD-era ControlNet file loads on a modern base," and every new base needs its own set. The dropdown won't warn you; it just lists everything you've downloaded.
    • Formats. Modern files are .safetensors (the safe format - prefer it over .ckpt for the same reason you do with checkpoints). Some people run GGUF-quantized ControlNets; those load through GGUF-specific loaders, not this one.
    • Union files are one file for many conditions. If you've got a union ControlNet (canny + depth + pose in a single file), the condition type is selected by the preprocessed image you feed into the apply node, not by the loader.

    The workflow shape

    IcyControlNetLoader → CONTROL_NET → IcyControlNetApply (with your preprocessed condition image) → conditioning → sampler. If you have a diffusers-format ControlNet (a folder, not a single file), you want DiffControlNetLoader instead, which needs the base model as an input to work out the architecture.

    Installing it

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

    Restart ComfyUI, or install via ComfyUI Manager (search "IcyHider"). No pip dependencies and nothing to download from the pack itself - the ControlNet models are on you, and they live in models/controlnet.

    Common issues

    • Missing node in a shared workflow. The pack generated the Icy class; without it, swap in core ControlNetLoader.
    • File not in the dropdown. You put it in the wrong folder, or ComfyUI started before you copied it. Restart and check models/controlnet.
    • "Loaded but does nothing." Wrong-architecture ControlNet, or an unprocessed condition image on the apply node. The loader isn't the suspect - it's almost always downstream.
    CategoryIcyHider Comfy Core

    Inputs (1)

    NameTypeDefaultDescription
    control_net_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    CONTROL_NETCONTROL_NET