Nodes/Tiny Model Manager/ControlNet Loader
ComfyUI Node

ControlNet Loader

The ControlNet Loader that the Tiny Model Manager dashboard hands you

By Zellione·Created 4 months ago·Updated 2 months ago· 1
ControlNet Loader
    • control_net
    ◄control_net_name▾►

    When the Tiny Model Manager dashboard hands you a ControlNet, this is the node it hands you: one dropdown, one output, zero surprises. TMMControlNetLoader takes a ControlNet file and turns it into a CONTROL_NET socket - the "which model" half of the ControlNet story. The "what condition image" half happens in the preprocessor nodes upstream, and the "apply it" half happens in ControlNetApplyAdvanced downstream. This node is just the middleman, and it's a thin one.

    What it does

    • control_net_name (dropdown) - every file in ComfyUI/models/controlnet.
    • control_net (CONTROL_NET) - wire this into a ControlNet apply node, next to your conditioning and the preprocessed image.

    That's the entire interface. You pick the model, you get a socket. ControlNet, for the record, is how you condition generation on spatial structure - edges, pose, depth, scribbles - so the model fills in content where your prompt tells it, and respects layout where the ControlNet tells it. If you've ever kept a character's pose locked across a dozen images, this socket is why.

    How it works

    The node calls comfy.controlnet.load_controlnet(path) - the same function ComfyUI's own ControlNet loader uses. The important part is what that function does invisibly: it reads the file's architecture and configures it correctly, so an SD 1.5 ControlNet, an SDXL one, and a Flux union model all come out as a CONTROL_NET you feed the same way. The loader doesn't care about the difference; the apply node downstream handles the rest.

    Why you'd reach for it

    Honestly, if you're hand-building a graph, the core ControlNet loader is identical and you already have it. TMMControlNetLoader exists so the dashboard's "+" button on a ControlNet card has a matching node to insert. Where it earns its keep: you're browsing the Tiny Model Manager dashboard, you see a ControlNet whose card tells you its base model, you click add - and the right file is already in the dropdown because the dashboard refreshed ComfyUI's model list after any download.

    Install

    Same pack, same steps as every node in this suite - one install covers all six:

    cd ComfyUI/custom_nodes
    git clone https://github.com/Zellione/comfyui-tiny-model-manager
    cd comfyui-tiny-model-manager
    pip install -r requirements.txt
    

    or just search Tiny Model Manager in ComfyUI Manager. Restart after, and the nodes appear under the tiny-model-manager category in the node menu. No heavy dependencies, no Node toolchain - the dashboard ships prebuilt.

    Where people get caught

    • Architecture mismatch is the big one, and this node can't fix it. An SDXL ControlNet on a Flux checkpoint will error out or silently produce garbage. The dashboard actually helps here - its model cards store a base_model field for exactly this check. Match it.
    • Expecting a preprocessor. You'll see people complain the loader "does nothing." It's not supposed to; the edge/pose/depth extraction happens in separate preprocessor nodes. The loader only reads the model file.
    • A file that isn't in the dropdown. If you downloaded the ControlNet manually, drop it into ComfyUI/models/controlnet and refresh the list - the node only lists what's in that folder.

    It's a load-bearing brick, not a magic one. But when the dashboard inserts it, it's the right brick for the job.

    Categorytiny-model-manager

    Inputs (1)

    NameTypeDefaultDescription
    control_net_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    control_netCONTROL_NET—