ComfyUI Node

HFDownLoad_Tool

A download node for the models other nodes just tell you to go get

By icesun963·Created 2 years ago·Updated 2 years ago· 0
HFDownLoad_Tool
    • model_path
    repo_idByteDance/Hyper-SD
    local_dirmodels/diffusers
    ignore_patterns
    max_workers1
    download_single_file
    use_default_cache_dirfalse
    use_hfmirrorfalse
    use_subdirfalse
    use_localproxyfalse
    localproxyhttp://127.0.0.1:1081

    A lot of custom nodes are honest about their laziness: the docs say "download XXX model, put it in YYY folder," and then leave you to actually do that by hand. HFDownLoad_Tool is the author's fix for that gap - a plain node that pulls a HuggingFace repo straight into your ComfyUI folder structure, no browser, no manual unzip, no leaving the graph. It's a fork of smthemex/ComfyUI_Pipeline_Tool, trimmed down to just this one job.

    How it works

    Feed it a repo id and a destination folder and it goes and grabs the files. The parameter set - repo_id, local_dir, ignore_patterns, max_workers - maps almost exactly onto huggingface_hub's own snapshot_download() function, so under the hood this is a thin, sensible wrapper around the same downloader every transformers/diffusers script already uses. Nothing exotic, which is exactly what you want from a download node: you don't need it to be clever, you need it to not silently fail.

    The inputs and outputs that matter

    • repo_id - the HuggingFace repo, e.g. ByteDance/Hyper-SD (the default, just a placeholder example). Anything on the Hub works.
    • local_dir - where it lands. Default is models/diffusers, which is almost never where you actually want it - override this to match whatever folder the other node's loader dropdown expects, or the file downloads successfully and then nothing can find it.
    • ignore_patterns - skip file types you don't need (safetensors, bin, pth, onnx, and combinations). Handy for repos that ship the same weights in three formats and you only want one. Leave it on none if you're not sure.
    • download_single_file - grab one file out of a repo instead of the whole thing.
    • max_workers (1–8) - parallel download threads. Bump it for a slow connection on a big repo, but don't expect miracles if the bottleneck is HuggingFace's end, not yours.
    • use_hfmirror and use_localproxy / localproxy (default http://127.0.0.1:1081) - the two escape hatches for anyone who can't reach huggingface.co directly. use_hfmirror routes through the community mirror at hf-mirror.com; the proxy fields point at a local SOCKS/HTTP proxy (1081 is a common default for tools like V2Ray, not a promise your setup uses it - check your own client).
    • use_default_cache_dir - use HuggingFace's normal cache location instead of local_dir.
    • use_subdir - keep the repo's internal folder structure instead of flattening everything into local_dir.

    Output is a single model_path string - wire it into whatever downstream node wants a filesystem path, or just use the node to pre-fetch a model before pointing a loader node's dropdown at it manually.

    How to install it

    ComfyUI Manager: search HFDownLoad Node for ComfyUI, install, restart.

    Manual:

    cd ComfyUI/custom_nodes
    git clone https://github.com/icesun963/ComfyUI_HFDownLoad
    

    Restart ComfyUI. No extra Python dependencies beyond what huggingface_hub already needs, which ComfyUI almost certainly has installed already.

    Common issues & troubleshooting

    Files land in the wrong place. The default local_dir is models/diffusers - that's a generic placeholder, not a guess at what you're downloading. If a loader node can't find the checkpoint afterward, this is almost always why: go set local_dir to the exact folder that loader expects.

    Downloads hang or time out. If you're not behind any network restriction, this is probably just HuggingFace being HuggingFace - retry, or lower max_workers if a flaky connection is choking on too many parallel streams. If you are behind a firewall that blocks huggingface.co outright (this is a genuinely common reason Chinese-authored node packs like this one ship a mirror toggle), try use_hfmirror first since it needs no extra setup, and fall back to use_localproxy pointed at whatever proxy client you actually run.

    Gated or private repos. There's no auth token field anywhere in this node's inputs - it's built for public repos. If repo_id points at something gated, don't expect this node to get you in; you'll need to handle authentication another way (or download it manually once and let this node's use_default_cache_dir pick it up).

    It's a small utility, treat it like one. The author's own README description is refreshingly blunt about this being "a simple modification" from someone who doesn't claim to be a strong Python developer. It does the one job - fetch a repo, put it somewhere - reliably enough, but don't expect resume-on-failure sophistication or detailed progress reporting beyond what huggingface_hub gives you for free. If a download dies partway, just re-run it.

    CategoryHFDownLoad_Tool

    Inputs (10)

    NameTypeDefaultDescription
    repo_idSTRINGByteDance/Hyper-SD
    local_dirSTRINGmodels/diffusers
    ignore_patternsCOMBO11 options: none, big_files, safetensors, bin, safetensors,bin, pth, +5
    max_workersINT11–8
    download_single_fileSTRING
    use_default_cache_dirBOOLEANfalse
    use_hfmirrorBOOLEANfalse
    use_subdirBOOLEANfalse
    use_localproxyBOOLEANfalse
    localproxySTRINGhttp://127.0.0.1:1081

    Outputs (1)

    NameTypeDescription
    model_pathSTRING