ControlNet Loader
The ControlNet Loader that the Tiny Model Manager dashboard hands you
- control_net
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 inComfyUI/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_modelfield 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/controlnetand 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.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| control_net_name | COMBO | 0 options: |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| control_net | CONTROL_NET | — |