ComfyUI Node

Pipeline_Tool

Pipeline_Tool isn't a pipeline — it's a Hugging Face downloader that spares your C drive

By smthemex·Created 2 years ago·Updated 2 years ago· 9
Pipeline_Tool
    • model_path
    repo_idByteDance/Hyper-SD
    local_dirdiffusers
    ignore_patterns
    max_workers4
    download_single_file
    huggingface_default_cachefalse
    use_modelscopefalse

    The name is a lie. Pipeline_Tool doesn't run a single pipeline - it downloads one. Specifically, it's a Hugging Face repo downloader that lands an entire model (like the default ByteDance/Hyper-SD) into ComfyUI/models/diffusers/ and hands you back the absolute path as a STRING. The author is upfront about it: "如果懂代码的基本上用不着" - if you can write code, you don't really need this node. But if you can't, and you're stuck with a custom node that insists on a folder path to a diffusers pipeline instead of a .safetensors file, this is the missing glue.

    Why you'd reach for it

    Most ComfyUI nodes load models the ComfyUI way: you drop a single file into models/checkpoints/ or models/loras/ and pick it from a dropdown. But a growing family of pipeline-style nodes - anything that loads an entire Hugging Face diffusers repo rather than raw weights - wants a path to a directory. They don't know about your ComfyUI models folder at all.

    The author's origin story is also the practical argument. He was testing a lot of HF pipelines, and the default Hugging Face cache (~/.cache/huggingface on Linux, C:\Users\...\.cache\huggingface on Windows) filled his C drive to bursting. This node exists so downloads go into your ComfyUI models tree, where they belong, with the repo's file structure kept intact so the pipeline nodes can find what they need.

    How it works

    Under the hood it's a thin wrapper around huggingface_hub's snapshot_download() (whole repo) or hf_hub_download() (single file). It sets HF_ENDPOINT to the hf-mirror.com mirror internally, which is why it's popular with mainland-China users - no VPN gymnastics needed to fetch weights. It also checks your huggingface_hub version and picks the right call signature (newer versions dropped local_dir_use_symlinks, older ones need it). Flip use_modelscope on and it swaps to Alibaba's ModelScope downloader instead, which is often much faster from China.

    The inputs that matter

    • repo_id - the one that actually matters. Must be org/model format (ByteDance/Hyper-SD), or nothing works.
    • local_dir - subfolder under ComfyUI/models/. Default diffusers, so repos land in models/diffusers/<repo_id>/.
    • ignore_patterns - what to skip. none grabs everything; big_files skips the heavy weights (*.safetensors, *.bin, *.pth, *.onnx, *.gguf…) so you can pull the config structure first, then come back for the big stuff. Default is none.
    • download_single_file - fill in a filename (with extension) to grab just that one file, e.g. a specific LoRA.
    • max_workers - parallel download threads, 1–8, default 4.
    • huggingface_default_cache - if you want the default cache (that's the C-drive trap), turn this on.
    • use_modelscope - switch to ModelScope. Requires pip install modelscope or it errors out.

    Output is a single STRING named model_path - the absolute path to the downloaded repo or file. Wire it into whichever path-hungry loader your workflow uses.

    Install

    Easiest via ComfyUI Manager: search "ComfyUI_Pipeline_Tool". Or by hand:

    cd ComfyUI/custom_nodes
    git clone https://github.com/smthemex/ComfyUI_Pipeline_Tool
    

    Restart ComfyUI. No model downloads, no exotic dependencies - it leans on huggingface_hub, which ComfyUI already ships. Add pip install modelscope only if you want the ModelScope route.

    The README actually pushes a third option: a bundled download-cli.py that downloads without opening ComfyUI (and supports --token for gated models):

    python custom_nodes/ComfyUI_Pipeline_Tool/download-cli.py \
      --repo_id "ByteDance/Hyper-SD" --mode hg --ignore_patterns big_files
    

    That's the smarter way for big pulls - you're not holding a workflow hostage while gigabytes stream down.

    Common issues

    • "Repo not found" - you mangled repo_id format. It has to be org/name; the author's own warning: 填错就用不了.
    • Gated model fails - needs a Hugging Face token, which the node can't give it. Use the CLI with --token "hf_...".
    • use_modelscope errors - you didn't pip install modelscope.
    • Feels like ComfyUI froze - the node blocks until the download finishes; snapshot downloads can take a while. It's idempotent (re-running skips already-downloaded files), so leaving it in the graph is fine, but prefer the CLI for the first big fetch.

    One honest caveat: this node is niche and aimed mostly at Chinese users, so English-language community help is thin - the README and error messages are Chinese. If you're outside that ecosystem, the fastest path is often just git clone or wget of the repo you want, and a wget loop from the HF API. But for a ComfyUI-native way to fetch a whole diffusers pipeline and get a clean path back, Pipeline_Tool does exactly one thing and does it without eating your system drive.

    CategoryPipeline_Tool

    Inputs (7)

    NameTypeDefaultDescription
    repo_idSTRINGByteDance/Hyper-SD
    local_dirSTRINGdiffusers
    ignore_patternsCOMBO11 options: none, big_files, safetensors, bin, safetensors,bin, pth, +5
    max_workersINT41–8
    download_single_fileSTRING
    huggingface_default_cacheBOOLEANfalse
    use_modelscopeBOOLEANfalse

    Outputs (1)

    NameTypeDescription
    model_pathSTRING