Nodes/ComfyUI Ino Nodes/Ino Get Controlnet Download Config
ComfyUI Node

Ino Get Controlnet Download Config

Pick a ControlNet from a list, get a download config string, wire it to the downloader

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Get Controlnet Download Config
    • ModelConfig
    enabledtrue
    model

    ControlNets are fiddly to install: you have to know the exact model file, find the right repo, download it into the right folder. Ino Get Controlnet Download Config takes all that bookkeeping and collapses it into a dropdown. You pick a ControlNet model by name, and it spits out a JSON config string describing exactly where to get it. That string plugs into the pack's download chain - most naturally InoHandleDownloadModel, which reads the config, picks the right host (HuggingFace, S3, Civitai), downloads the file, and returns the path.

    So the full pattern for a self-bootstrapping workflow is: this node → config string → InoHandleDownloadModelabs_path → a model loader. Once it runs, the ControlNet exists on disk and the workflow continues. That's the "download models from inside the graph" philosophy this pack is built around, and this node is the controlnet-shaped piece of it.

    How it works

    The available models come from a bundled CSV (controlnet_files.csv) that ships with the pack and gets read into the dropdown. When you pick one, the node looks up that row and serializes it to a JSON config string. The CSV columns give you a peek at what's in a config: name, weight_type, host, model_type, model_subfolder, repo_id, filename, subfolder, and revision. That's the same config shape the other "Get ... Download Config" nodes produce, which is why InoHandleDownloadModel can treat them all the same.

    The honest caveat: the bundled ControlNet list is short. The shipped CSV has three entries, mostly Qwen-Image InstantX ControlNets (union and inpainting variants). If you want a model that isn't in the dropdown, you're looking at editing the CSV or using a config node that takes free-form fields instead. This node is convenient exactly as far as its list goes.

    Inputs and outputs

    • enabled - the pack-wide toggle; off returns an empty string.
    • model - dropdown of ControlNet models from the bundled CSV.

    Output: ModelConfig (STRING) - the JSON config, wired into InoHandleDownloadModel or a download node.

    Installing it

    Part of ComfyUI-InoNodes (Inoland). ComfyUI Manager → search "ComfyUI Ino Nodes" → install → restart. Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/nobandegani/comfyui_ino_nodes
    cd comfyui_ino_nodes
    pip install -r requirements.txt
    

    Restart after. Requires inopyutils (auto-installed) and a current ComfyUI; no keys unless the download host needs one.

    Common issues

    Two things to keep straight. First, this node does not download anything - it only produces a config string. If you wire it to nothing, you get a JSON string and no file; the download is the next node's job. Second, the dropdown is only as big as the CSV - if your model isn't listed, don't hunt for a "refresh" button; the list is static in the shipped data. And when you do download, remember the ControlNet weight/step guidance from the KB: a freshly installed ControlNet defaults to a weight of 1.0, and for most structure work you'll be easing that down or gating its step range rather than running it flat out.

    CategoryInoModelHelper

    Inputs (2)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    modelCOMBO2 options: comfy-qwen-image-instantx-inpainting-fp16, comfy-qwen-image-instantx-union-fp16

    Outputs (1)

    NameTypeDescription
    ModelConfigSTRING