Ino Hugging Face Download Repo
Grab a whole HuggingFace repo into ComfyUI's models folder
- success
- msg
- model_type
- abs_path
- rel_path
Some models aren't one file. Text encoders, diffusion transformers, and VAE repos on HuggingFace often come as a whole folder of safetensors and config files - and you need all of them. Ino Hugging Face Download Repo is the node that pulls an entire HF repo into the right place under models/, so a workflow can provision a full multi-file model at runtime instead of making you download it by hand. It's the whole-repo sibling of Ino Hugging Face Download Model (single file).
It's one of 23 nodes in ComfyUI-InoNodes' InoModelHelper category, built on the huggingface_hub library the pack already depends on.
The inputs
model_config- an optional JSON config that, if valid, suppliesmodel_type,model_subfolder,repo_id,repo_type, andrevisionfrom its own fields.model_type- whichmodels/subdirectory the repo lands under (diffusion_models,text_encoders,vae, etc.).model_subfolder- an extra subfolder under that type. Defaults toflux1dev.repo_id- theowner/repoon HuggingFace, e.g.black-forest-labs/FLUX.1-dev.
Optional refinements: token (for gated or private repos), repo_type (model, dataset, or space - leave empty for a model repo), and revision (a branch, tag, or commit hash).
Outputs: success, msg, model_type, abs_path, and rel_path pointing at the downloaded repo.
How it works
It runs HuggingFace's snapshot_download under the hood, targeting models/<model_type>/<model_subfolder>/. That handles the real-world ugliness of HF repos: file-by-file fetching, resumable downloads, and cache-aware behavior. Because it's a snapshot, re-running with the same repo ID generally reuses what's already local rather than blindly re-fetching gigabytes.
A detail worth knowing: if the resolved model_subfolder path already exists as a file, the node treats it as a parent path instead, so it won't try to write a repo "into" a file. The config-vs-fields override logic also means you can keep the inputs empty and drive everything from a model_config string built by Ino Create Model File Config.
Where it fits
- Auto-provision text encoders. A Flux workflow needs its T5-XXL and CLIP encoders alongside the main model - a repo download gets them all at once.
- Full checkpoints. Pull
Comfy-Org's repackaged models, which are organized as repos, straight into the right folders. - Gated repos. If you have HF access, pass your token and the node handles authentication.
Gotchas
Watch the size. Whole repos are often 10–30+ GB, and while downloads resume, a full repo is not a snappy thing to do mid-workflow. Also remember gated models (like FLUX.1-dev, which sits behind a license acceptance on HF) need both the token and an accepted license on your HF account - the node can't click "I agree" for you. And the usual pack rules: enabled off returns empty results, and repo_type/revision left blank mean "default model repo, default branch."
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). The huggingface_hub dependency comes with the pack, so there's nothing extra to install - just disk space and patience.
Inputs (8)
| 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 | — |
| repo_id | STRING | — | |
| tokenopt | STRING | — | |
| repo_typeopt | STRING | — | |
| revisionopt | STRING | — |
Outputs (5)
| Name | Type | Description |
|---|---|---|
| success | BOOLEAN | — |
| msg | STRING | — |
| model_type | STRING | — |
| abs_path | STRING | — |
| rel_path | STRING | — |