Load Distiller
The model loader for ComfyUI-Attention-Distillation
- distiller
First thing to clear up, because it trips people up before they even place the node: this is not the "distillation" you've read about elsewhere. If you've seen LCM, SDXL Lightning, or DMD2, that flavor of distillation trains a fast student model to skip most of the denoising steps. This node has nothing to do with any of that. It's the model loader for Attention Distillation, a CVPR 2025 technique (Zhou, Gao, Chen, Huang) that transfers style by directly optimizing attention features between images - no step-count tricks, no student model. Same word, unrelated idea. Annoying, but that's the paper's naming, not this node's fault.
What it does
Load Distiller is the entry point for every workflow in this pack - the equivalent of Load Checkpoint, except it's loading a diffusers-format pipeline instead of a native ComfyUI checkpoint, and wrapping it with the attention-distillation logic on top. Everything downstream - the style-transfer node (ADOptimizer) and the style-specific text-to-image sampler (ADSampler) - takes its DISTILLER output as the first required input. Nothing else in this pack works without it.
That also means this pack lives in its own little bubble. It doesn't touch your regular Load Checkpoint, CLIP loader, or VAE - it brings its own model handling, its own text node, its own image loader. Don't try to wire your existing SD1.5/SDXL checkpoint into it; it wants the diffusers repo format specifically (more on that below).
Inputs that matter
Just two, both dropdowns:
model- which base model to load:stable-diffusion-v1-5,stable-diffusion-xl-base-1.0, orFLUX.1-dev. SD1.5 is the original, best-tested target (the pack shipped SD1.5-only at first); SDXL support came a couple weeks later, and Flux support is explicitly marked beta by the author. If something misbehaves on Flux, that's expected - try SD1.5 first to confirm your setup works before troubleshooting a beta path.precision-bf16(default) orfp32. Stick with bf16 unless you're chasing down a numerical-precision bug; it's roughly half the VRAM and noticeably faster, and it's what the author defaults to.
Output is a single DISTILLER - plug it straight into ADOptimizer or ADSampler.
Installing it and getting models in place
ComfyUI Manager - search "ComfyUI-Attention-Distillation" and install.
Manual:
cd ComfyUI/custom_nodes
git clone https://github.com/zichongc/ComfyUI-Attention-Distillation
cd ComfyUI-Attention-Distillation
pip install -r requirements.txt
Restart ComfyUI after.
The part that actually catches people: this node doesn't read your normal models/checkpoints folder. Because it's diffusers-based, it expects the diffusers repo format - a folder with unet/, vae/, text_encoder/, scheduler/, model_index.json, etc. - sitting inside ComfyUI/models/diffusers/. That's not the single .safetensors file you're used to dropping in for a normal checkpoint. Grab the whole repo (the author links stable-diffusion-v1-5/stable-diffusion-v1-5, stabilityai/stable-diffusion-xl-base-1.0, or black-forest-labs/FLUX.1-dev on HuggingFace) rather than just the biggest file in it.
If you go with Flux.1-dev specifically: it's gated on HuggingFace under a non-commercial license. You'll need to accept the license on the model page and use an authenticated token to pull it, or the download just fails.
Common issues
Empty or missing dropdown entries. The model list is built from whatever's actually sitting in ComfyUI/models/diffusers/ - if you haven't downloaded anything there yet, or you dropped a single .safetensors file instead of the full diffusers folder, it won't show up correctly.
pip install -r requirements.txt fights with your existing environment. This pulls in diffusers and friends, and ComfyUI's dependency story is famously fragile - dozens of custom node packs sharing one Python environment, each with its own pinned versions. If another pack pins an incompatible transformers or diffusers version, expect a conflict. A fresh venv per major workflow is the blunt-but-reliable fix if you're juggling a lot of packs.
Flux path feels shakier than SD1.5. That's not your setup - the author labels Flux support beta. Confirm the pipeline works on SD1.5 first, then move to Flux once you know the rest of your graph is right.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| model | COMBO | stable-diffusion-v1-5 | 3 options: stable-diffusion-v1-5, stable-diffusion-xl-base-1.0, FLUX.1-dev |
| precision | COMBO | bf16 | 2 options: bf16, fp32 |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| distiller | DISTILLER | — |