Nodes/ComfyUI Ino Nodes/Ino Hugging Face Download Repo
ComfyUI Node

Ino Hugging Face Download Repo

Grab a whole HuggingFace repo into ComfyUI's models folder

By nobandegani·Created about a year ago·Updated 2 months ago· 6
Ino Hugging Face Download Repo
    • success
    • msg
    • model_type
    • abs_path
    • rel_path
    enabledtrue
    model_config{}
    model_type
    model_subfolderflux1dev
    repo_id
    token
    repo_type
    revision

    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, supplies model_type, model_subfolder, repo_id, repo_type, and revision from its own fields.
    • model_type - which models/ subdirectory the repo lands under (diffusion_models, text_encoders, vae, etc.).
    • model_subfolder - an extra subfolder under that type. Defaults to flux1dev.
    • repo_id - the owner/repo on 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.

    CategoryInoModelHelper

    Inputs (8)

    NameTypeDefaultDescription
    enabledBOOLEANtrue
    model_configSTRING{}
    model_typeCOMBO32 options: audio_encoders, checkpoints, clip, clip_vision, controlnet, detection, +26
    model_subfolderSTRINGflux1dev
    repo_idSTRING
    tokenoptSTRING
    repo_typeoptSTRING
    revisionoptSTRING

    Outputs (5)

    NameTypeDescription
    successBOOLEAN
    msgSTRING
    model_typeSTRING
    abs_pathSTRING
    rel_pathSTRING