DSD Model Downloader
Downloads the multi-gigabyte DSD model and loads it in one shot
- dsd_model
- model_path
- lora_path
This is the first node you'll add from this pack, because nothing else in it works until the model exists. Despite the name, it does two jobs at once: it pulls the DSD model down from Hugging Face and loads it into a ready-to-use dsd_model object. There's no separate "download-only" mode - run it once and it's effectively your model loader, too.
What it downloads
By default it snapshots the repo primecai/dsd_model - the official weights for the Diffusion Self-Distillation subject-preservation model - into ComfyUI/models/dsd_model/. It expects a specific layout: a transformer checkpoint at transformer/diffusion_pytorch_model.safetensors plus config.json, and a LoRA at pytorch_lora_weights.safetensors. After the snapshot it verifies all three exist and raises a clear error if the repo structure doesn't match - which is what will happen if you point it at a random repo_id that happens to have a different layout.
Here's the part people don't expect: loading also reaches for the black-forest-labs/FLUX.1-schnell base from HF, because DSD is a conditional model on top of FLUX. So the first run can pull down a lot of gigabytes across two repos, and it can look hung when it's just quietly downloading. Let it finish. The good news, per the code comment, is that FLUX.1-schnell doesn't require an HF login - no auth token dance.
The inputs
The important ones are actually the load-time knobs, not the download knobs:
- repo_id -
primecai/dsd_modelby default. Only change this if you're using a custom DSD repo with the same structure. - force_download - set true to re-download even when files exist. Normally the node skips the download if everything's already on disk.
- dtype -
bfloat16default, and the tooltip is right: it's the best speed/memory tradeoff.float16andfloat32are there for compatibility, not because you want them. - low_cpu_mem_usage (true default) - reduces CPU RAM during loading; leave it on.
- model_cpu_offload / sequential_cpu_offload - off by default for good reason; the tooltips warn they slow things down. DSD is memory-hungry (the community's off-the-cuff figure is around 24GB of VRAM), so if you're under that, sequential offload is the last-resort lever.
It has no device control beyond cuda/cpu and no token field in the brief - auth is handled by HF_TOKEN if you ever need a gated repo, but the defaults work without one.
Outputs
- dsd_model - the loaded pipeline. This is what plugs into the DSD Image Generator's
dsd_modelinput. - model_path / lora_path - the absolute paths to the files it used. Handy for wiring into the DSD Model Loader later (if you ever rebuild your graph without re-downloading) or just for confirming where things landed.
Common issues
The node prints progress to the console and updates its own status text, so if a run "fails silently" check the terminal first. The two real-world failure modes are: a custom repo_id whose structure doesn't match (clear error, as above), and a download interrupted by a flaky connection - that's what resume_download=True and force_download are for. And if you get import errors on first install, the pack needs its heavier dependencies (torch, diffusers, transformers, accelerate, peft, sentencepiece); ComfyUI Manager handles requirements.txt for you, but a manual clone means running pip install -r requirements.txt yourself.
Inputs (7)
| Name | Type | Default | Description |
|---|---|---|---|
| repo_id | STRING | primecai/dsd_model | — |
| force_download | BOOLEAN | false | — |
| device | COMBO | cuda | 2 options: cuda, cpu |
| dtype | COMBO | bfloat16 | bfloat16 provides best speed/memory tradeoff |
| low_cpu_mem_usage | BOOLEAN | true | Reduces CPU memory usage during model loading. Recommended for faster loading. |
| model_cpu_offload | BOOLEAN | false | Offloads state dict to reduce memory usage during loading. May slow down loading speed. |
| sequential_cpu_offload | BOOLEAN | false | Enables sequential CPU offloading. Only use if low on VRAM. Significantly impacts loading speed. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| dsd_model | DSD_MODEL | — |
| model_path | STRING | — |
| lora_path | STRING | — |