Hugging Face Download Model
Paste a Hugging Face link into your graph and stop leaving ComfyUI to fetch models
- model name
There's a genre of ComfyUI frustration that goes: you load a workflow, hit Run, and it tells you some model is missing. So you tab out, find the repo on Hugging Face, download a 7 GB file, drag it into the right folder, refresh dropdowns, and hope the path matches what the workflow expects. This node kills most of that chore. Paste a Hugging Face resolve link into it, pick where the file should land, and the next run downloads it straight into your models/ folder and refreshes the dropdowns so it's usable immediately.
It ships in jnxmx/ComfyUI_HuggingFace_Downloader, which is really two things: a pair of download nodes (this one and its sibling, Hugging Face Download Folder) plus a whole top-menu toolkit for auto-downloading missing models, browsing a model library, and backing up your ComfyUI install to a HF repo. For the "I just want this file, now" case, the node is the part you'll actually touch.
How it works
The whole node is two inputs and a side effect. You give it a link and a target_folder; on execution it parses the link, downloads the file, clears ComfyUI's model cache, and fires an event that makes the loader dropdowns refresh. No API key, no separate CLI step - the fetching is done by huggingface_hub under the hood.
As you type, the link field normalizes itself: drop in a resolve/blob/tree URL or even shorthand like openai/clip-vit-large-patch14/..., and it rewrites to a clean repo/subfolder/file view. If the URL is a direct non-HF https:// file link, it streams that instead - handy for one-off downloads from outside the Hub.
The inputs that matter
- link - the only thing you really set for a one-off. Full
resolveURLs work best. - target_folder - a dropdown populated from your actual model folders (
checkpoints,loras,diffusion_models,vae, …). Pickcustomto type an arbitrary path.
That's it - there are no other inputs.
The model name output is a plain string (wildcard type) returning the downloaded filename. It's not really meant to drive anything downstream - the download is the point, and the node is marked as an output node so it runs standalone. Wire it into a Show Text/display node if you want to see what landed.
Installing
Via ComfyUI Manager, search for "Hugging Face Download & Backup" (the registry display name) or the repo title, install, restart. Manual route:
cd ComfyUI/custom_nodes
git clone https://github.com/jnxmx/ComfyUI_HuggingFace_Downloader
cd ComfyUI_HuggingFace_Downloader
pip install -r requirements.txt
Then restart ComfyUI. Heads up on dependencies: huggingface_hub and PyYAML are light, but the pack also pulls in comfy-cli - a whole CLI toolchain that feels like overkill for a download node. It's there for the pack's backup/snapshot features, not for this node.
Troubleshooting
- Gated repos. Public repos need no token. For gated ones, set
downloader.hf_tokenin ComfyUI settings or exportHF_TOKEN. Note the pack monkeypatcheshuggingface_hubto silently retry anonymous downloads on 401/403 - usually harmless, occasionally surprising if another node's token handling changes. - It freezes while downloading. The node downloads synchronously, so a multi-GB checkpoint blocks the queue and UI for a while. The pack's menu-level downloader queues in the background; this node does not.
- Speed. Single-connection downloads top out around 40 Mbps on fat pipes, and the community has suggested aria2c for rented cloud GPUs. Not a bug - just don't expect your 10 Gbps instance to flex.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| target_folder | COMBO | 29 options: [object Object], [object Object], [object Object], [object Object], [object Object], [object Object], +23 | |
| link | STRING | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| model name | * | — |