Load ControlNet (Downloaded)
Wire a ControlNet you batch-downloaded straight into your ControlNetApply
- download_result
- CONTROL_NET
If you've ever had to scroll through the entire models/controlnet folder to find the one union model you use, this node is the downloaded-file version of that dropdown. Load ControlNet (Downloaded) takes the controlnet category out of a Model Download Batch result and loads it as a CONTROL_NET, the exact type the core ControlNetApply nodes accept. Under the hood it delegates to ComfyUI's own ControlNetLoader, so the loaded object behaves identically to a hand-picked file.
Where it fits in a workflow
ControlNet is the technique for steering generation with spatial structure - edges, depth, pose, lineart - instead of just a prompt. A typical graph looks like: a preprocessor node extracts a map from a reference image, ControlNetApply takes that map plus your conditioning and the CONTROL_NET, and hands the conditioned output to the sampler. This loader replaces the file-picking part of that chain: CONTROL_NET output → ControlNetApplyAdvanced (or ControlNetApply), which takes conditioning and the control image as its other inputs.
Since the ControlNet world now means a union model per architecture rather than a giant menu (a union lands within about a week of each new base), you usually only need one or two of these files - but they're chunky, and having them arrive as part of a batch download for a fresh setup is exactly the point of this pack.
Inputs and outputs
download_result- from the download node.id- the manifest ID of the ControlNet file (filename stem if unset).
Output: a single CONTROL_NET. That's the entire surface - no strength sliders, no type dropdown. Strength and start/end control step are set on the ControlNetApply node downstream, not here.
The one guard worth knowing
Like every loader in this pack, it validates that the id you reference has model_type: controlnet in the manifest. Point it at a checkpoint ID and you get a clear "requires controlnet" error instead of a weird load failure. And because ControlNet files are architecture-specific - an SDXL-era file won't load on a Flux or Qwen-Image base - the real debugging is upstream: make sure the file you told the downloader to grab matches the model family you're generating with. The node can't know that; that's a manifest decision.
Install and troubleshooting
Same pack steps: ComfyUI Manager search for "ComfyUI Model Batch Downloader", or:
cd ComfyUI/custom_nodes
git clone https://github.com/watarika/ComfyUI-Model-Batch-Downloader.git
then restart ComfyUI. No Python dependencies. The download half needs aria2c on the PATH that starts ComfyUI.
Failure modes are the shared list: an ID that doesn't exist in download_result (spelling, or a failed download - interrupted ones resume via .aria2 sidecar on the next run), the category-mismatch error above, and the silent one where you grabbed the wrong architecture's file and the image ignores the control entirely. For that last one, check the source repo's model family before re-downloading.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| download_result | DOWNLOAD_RESULT | — | |
| id | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| CONTROL_NET | CONTROL_NET | — |