Ino Http Download Model
Pull a model straight from a URL into ComfyUI's models folder
- success
- msg
- model_type
- abs_path
- rel_path
Most model downloads happen in a browser: find the file, click, wait, move it into models/. Ino Http Download Model is the node that does all of that inside a workflow - you give it a URL and a model type, it downloads the file into the right ComfyUI models/ subfolder, and hands you back the path. For anyone building pipelines that provision their own models, that's a genuinely useful trick: your workflow can fetch what it needs at runtime instead of requiring everything pre-installed.
It's one of 23 nodes in ComfyUI-InoNodes' InoModelHelper family, and it's the plainest of the downloaders - no HuggingFace, no Civitai API, no S3. Just HTTP.
The inputs
model_config- an optional JSON config (fromIno Create Model File Configor a catalog node). If it's a valid config, itsmodel_type,model_subfolder, and even the URL (via thefilenamefield) override the fields below.model_type- dropdown of ComfyUI's model folders:diffusion_models,loras,vae,clip,controlnet, and so on. This decides whichmodels/subdirectory gets the file.model_subfolder- an extra subfolder under that type. Defaults toflux1dev, which should tell you what the author was downloading.url- the direct file URL.
Outputs: success, msg, model_type, and - the ones you actually want - abs_path and rel_path to the downloaded file. Feed those to a loader node and you're in business.
How it works
It resolves where the file should go (models/<model_type>/<model_subfolder>/<filename-from-URL>), checks whether it already exists, and skips the download if it does - you'll get msg: "model validated" rather than a redundant re-download. That "already downloaded, skip" behavior is the single most important thing about this node: it makes workflows idempotent, so re-running the same graph doesn't re-fetch a multi-gigabyte model. If it does need to download, it uses the shared inopyutils HTTP helper with resume support and a few parallel connections, which makes big-file downloads surprisingly tolerant of flaky connections.
Where it fits
- Runtime model provisioning. Point a workflow at a LoRA or VAE hosted anywhere and have it fetch-on-first-run.
- Pre-loaded catalogs. Combined with the pack's CSV-catalog nodes, it can fetch a whole stack of models automatically.
- Skips for repeat runs. Re-run the workflow; already-present files are detected and skipped.
The caveat: it needs a direct file URL. If the URL redirects to a CDN that signs links (many Civitai and Google Drive links do), the redirect handling has to survive, and some signed URLs expire - so a stable direct link works great, a hotlink from a file host may not.
Gotchas
Check what the URL actually points at before wiring it up - the filename in models/ is derived from the URL's last segment, so a URL ending in /download?id=123 produces a poorly-named file. Use model_config's filename field to control the name if that matters. And as always in this pack: enabled off means an empty result, and a disabled node gives you success: false with no error to chew on.
Installation
Part of ComfyUI-InoNodes:
- 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.
Python 3.10+, ComfyUI 0.18.1+ (V3 schema), no models at install, no API keys - this node is just HTTP.
Inputs (5)
| Name | Type | Default | Description |
|---|---|---|---|
| enabled | BOOLEAN | true | — |
| model_config | STRING | {} | — |
| model_type | COMBO | 32 options: audio_encoders, checkpoints, clip, clip_vision, controlnet, detection, +26 | |
| model_subfolder | STRING | flux1dev | — |
| url | STRING | https://download.pl | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| msg | STRING | — |
| model_type | STRING | — |
| abs_path | STRING | — |
| rel_path | STRING | — |