Diffusion Model Downloader
Diffusion Model Downloader — make sense of a folder full of quant files
- status
The diffusion_models folder is where things get chaotic fastest. It's the raw-UNet/DiT side of the model world - no baked VAE, no baked text encoder, just the diffusion weights - and it's exactly the folder that fills up with quantized variants: fp8, GGUF Q4/Q5/Q8, three different people's re-uploads of the same base model with slightly different filenames. This node scans that folder, works out what each file actually is against a hosted database, and pulls down metadata, preview images, and workflows so DiffusionModelInfoLoader has something real to show you later instead of a filename and a guess.
It's one of four ModelUtils/Downloader nodes in this pack, and it's worth knowing that its author, silveroxides, is a known name specifically in the GGUF-quant corner of this community - their Chroma-GGUF repo on HuggingFace gets pointed to directly in threads as one of the trusted sources ("GGUF existed for a long time," someone linked it, was the whole reply). It's not hard to believe this node exists because the person building it was already sitting on a folder of quant files with no easy way to tell them apart.
How it works. Same shape as its siblings: it scans, hashes, and matches against an online model repository. The nsfw_level filter and api_key requirement point at CivitAI's own vocabulary specifically, so that's the most likely destination, though the README doesn't name it explicitly.
Inputs that matter. subdirectory (default /) is the folder under your diffusion-models directory to scan. recursive (default on) walks into subfolders. nsfw_level (default "All") filters by content rating. max_examples (0–100, default 0) caps example images/workflows pulled per model - bump this up if you actually want previews to browse later rather than just metadata. threads (1–32, default 4) sets parallelism; a big folder of quant variants benefits from turning this up. api_key unlocks gated content.
Output. status (STRING) - a run summary. This is an output node: ComfyUI treats it as a terminal step and runs it regardless of whether status is wired anywhere, same as a Save Image node.
Installing it. Through ComfyUI Manager (search "Model Utility Toolkit"), or manually:
cd ComfyUI/custom_nodes
git clone https://github.com/silveroxides/ComfyUI-ModelUtils
then restart ComfyUI.
Troubleshooting. The specific failure mode to expect here, more than with checkpoints: quantized files often don't have their own listing distinct from the full-precision original. A GGUF quant of a model someone else published might come back empty even though the base model is perfectly findable, because the quant itself was never uploaded as its own listing anywhere this node can match against. That's not a bug, it's just what's out there. max_examples set to 0 (the default) will also give you status output with essentially no preview material to browse afterward - raise it if the point of running this was to actually see example renders, not just confirm a match. And as with the other downloaders, a file that got re-saved at a different precision has a different hash and won't match its old listing even if it's "the same" model in every way that matters to you.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| subdirectory | COMBO | / | 1 options: / |
| recursive | BOOLEAN | true | Whether to scan subdirectories recursively. |
| nsfw_level | COMBO | All | Filter models based on NSFW level in metadata. |
| max_examples | INT | 00–100 | Maximum number of examples to process. |
| threads | INT | 41–32 | Number of threads to use for processing. |
| api_key | STRING | API key for accessing the model repository. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| status | STRING | — |