Pipeline_Tool
Pipeline_Tool isn't a pipeline — it's a Hugging Face downloader that spares your C drive
- model_path
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 beorg/modelformat (ByteDance/Hyper-SD), or nothing works.local_dir- subfolder underComfyUI/models/. Defaultdiffusers, so repos land inmodels/diffusers/<repo_id>/.ignore_patterns- what to skip.nonegrabs everything;big_filesskips the heavy weights (*.safetensors,*.bin,*.pth,*.onnx,*.gguf…) so you can pull the config structure first, then come back for the big stuff. Default isnone.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. Requirespip install modelscopeor 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_idformat. It has to beorg/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_modelscopeerrors - you didn'tpip 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.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| repo_id | STRING | ByteDance/Hyper-SD | — |
| local_dir | STRING | diffusers | — |
| ignore_patterns | COMBO | 11 options: none, big_files, safetensors, bin, safetensors,bin, pth, +5 | |
| max_workers | INT | 41–8 | — |
| download_single_file | STRING | — | |
| huggingface_default_cache | BOOLEAN | false | — |
| use_modelscope | BOOLEAN | false | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model_path | STRING | — |