Ino Handle Download And Load Model
One config string, download to loaded
- success
- msg
- model_type
- abs_path
- rel_path
- loaded_model
The usual first ComfyUI workflow ends with you manually downloading a model, dropping it in a folder, and praying the name matches what the loader expects. Ino Handle Download And Load Model collapses that whole chore into one node: feed it a download config string, and it fetches the model from wherever the config says, places it in the right ComfyUI folder, loads it, and hands you the loaded model ready to wire into your graph.
It's part of the Ino Nodes pack from nobandegani, and it's the terminal step of the pack's config-driven model pipeline - the node that actually turns a config string into something you can sample with.
How it works
One input you actually set: config, a model download config as a JSON string (default {}). This is exactly the kind of string Ino Get Vae Download Config, Ino Get Clip Download Config, or the model/component config nodes produce - it carries the host, repo ID, filename, subfolder and model type.
Under the hood the node does two things in sequence: it calls the pack's download handler (which delegates to HuggingFace, HTTP, S3 or Civitai depending on the config's host field), then calls the loader to actually load what was downloaded. The outputs tell the whole story:
- success / msg - did both stages work.
- model_type - what kind of model this is (which determines how it gets loaded).
- abs_path / rel_path - where the file landed.
- loaded_model - the actual loaded object, ready to plug into the sampler side of your workflow.
The magic, such as it is, is that the config string determines everything. Same node downloads a VAE, a CLIP, or a diffusion model - you never swap loader nodes, you swap config strings. And because the download check runs first, a failure reports which stage died instead of leaving you staring at a missing-file error two steps later.
Where it fits
This is the node that makes self-contained, reproducible workflows possible: hand someone a config string and they get the model downloaded and loaded without knowing a single repo URL. In an automated pipeline, it means "model missing" becomes a solved problem - the workflow fetches its own requirements. It's also what makes the pack's preset-driven flows tick: Ino Get Model Config → split into components → this node per component → sample.
The honest caveat: it's only as good as the config. An empty {} default won't download anything useful, and a config pointing at a nonexistent repo fails at the download stage. Build your configs with the pack's config nodes and it behaves; hand-typing config JSON is where this gets fiddly.
Installing it
It ships with the whole Ino Nodes pack. ComfyUI Manager: search "ComfyUI Ino Nodes", install, restart. Or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/nobandegani/ComfyUI-InoNodes.git
cd comfyui_ino_nodes
pip install -r requirements.txt
Restart after. Pack-wide caveats apply: it's built on ComfyUI's V3 schema (README wants v0.18.1+), and requirements.txt installs inopyutils (plus huggingface_hub and hf_xet, which the HuggingFace downloads use).
Common issues
The output that tells you the most is success and msg: a false with an empty loaded_model means the download stage failed (check repo ID / filename / network), while a false after a successful download means the load stage choked (usually a file/type mismatch). And note that loading goes through the pack's generic loader - which has known gaps (see the Ino Handle Load Model article) - so for the mainstream types this works, but for unusual model types it may fail at load even after a clean download. Search "Ino Handle Download And Load Model" in the node menu.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| config | STRING | {} | — |
Outputs (6)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| msg | STRING | — |
| model_type | STRING | — |
| abs_path | STRING | — |
| rel_path | STRING | — |
| loaded_model | * | — |