Auto Download ALL Models
The 'download everything my workflow needs' node — and why you should double-check its work
- status
This is the node the pack is really built around - the one that answers "I have a workflow, I'm missing models, make it go." Give it a list of model names and the folders they belong in, and it searches HuggingFace for each one, finds a matching file, and downloads it into the right models/ subfolder. The plain AutoDownloadModels node handles one file you know the exact path to; this one handles a batch you don't.
The catch, and it's a real one: it figures out where to download from by searching HuggingFace and taking the first hit. That's a fuzzy guess, not a lookup. It's exactly the kind of convenience that saves you when it works and quietly gives you the wrong file when it doesn't.
What it expects
Two string inputs:
- modelandpath - the batch of mappings in the pack's format:
(modelname.safetensors~~~foldername)entries separated by),(. This is the format GetModelsFromWorkflow produces from a workflow JSON, or that you type by hand (optionally via the SetModelPath passthrough). For example:(flux1-dev.safetensors~~~unet),(t5xxl_fp8_e4m3fn.safetensors~~~clip). - repo_ids_manual - a comma-separated list of HuggingFace repo IDs to use as a fallback when the search finds nothing (e.g.
Kijai/WanVideo_comfy,Comfy-Org/Wan_2.1_ComfyUI_repackaged).
The output is a status string: a running log of every repo it matched and every download that completed (or errored).
How it works, and where the guesswork creeps in
For each model~~~folder pair, the node:
- Strips the extension from the model name and searches HuggingFace with
list_models(search=...), keeping the top five results. - Takes the first result's repo, lists its files, and looks for one containing your filename.
- Downloads it into
/workspace/ComfyUI/models/<foldername>/.
Two things to notice. First, the destination is hardcoded to /workspace/ComfyUI/models/ - the cloud convention, same as the WAN bulk nodes; on a local machine you need a /workspace/ComfyUI/models symlink to your real folder. Second, step 2 is the gamble: HuggingFace search ranks by relevance, not by "is this the repo the workflow author used." The first hit for wan2.1_t2v_14B might be a re-upload in a different format, a quantized variant, or a community fine-tune with a similar name. If a download "succeeds" but your workflow still reds out with an incompatible-weights error, this is usually why.
The repo_ids_manual fallback is your insurance: if you know the right repos, list them there, and the node checks them in order when the open search fails. For anything where format matters - and with diffusion models, format always matters - filling this in is worth the thirty seconds.
Install
Pack-wide, identical to the rest: ComfyUI Manager → search ComfyUI_AutoDownloadModels → install, or
cd ComfyUI/custom_nodes
git clone https://github.com/AIExplorer25/ComfyUI_AutoDownloadModels
cd ComfyUI_AutoDownloadModels
pip install -r requirements.txt
restart. Deps are huggingface_hub, hf_transfer (fast downloads), and rapidfuzz.
The workflow it's meant for
The full convenience pipeline is: GetModelsFromWorkflow reads a workflow → mapping string → AutoDownloadALLModels searches and downloads → ComfyUI restarts happy. That's a genuinely nice idea - provision-from-workflow in one run. Just treat the middle step as a draft you review, not a contract: check which repos got matched in the status output, and if anything landed in the wrong folder or the wrong format, point repo_ids_manual at the real source and rerun. It's a time-saver, not a magic bullet.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| modelandpath | STRING | Enter hugging face repo id | |
| repo_ids_manual | STRING | Enter hugging face repo id |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |