Power Diffusion Model Loader
The UNet loader that hands back its own name
- model
- model_name
This node is ComfyUI's stock UNETLoader with one detail bolted on, and that detail is the whole point: it also tells you what it loaded. Power Diffusion Model Loader picks a diffusion model out of models/unet, hands you a MODEL you can feed straight to a KSampler, and separately outputs the model's filename as a string. In the CornmeisterNL PowerPack, that string is what makes the metadata story work - you wire it into the pack's own save node and your CivitAI-ready image caption gets the model name written for you, no typing, no typos.
Why it exists: on the SD 1.5/SDXL generation you loaded one checkpoint and everything came bundled. Since Flux and the split-architecture era, the diffusion backbone (the "UNet" or transformer) lives in models/unet and loads separately from the CLIP and the VAE. This is that first leg of the chain. If you're running Flux, Z-Image, or any of the current split setups, you probably already load models this way with the built-in UNETLoader - this is that same loader, minus the confusion about which one to grab.
How it works
Mechanically it's tiny. On startup it reads folder_paths.get_filename_list("unet"), so the dropdown is populated from whatever's sitting in ComfyUI/models/unet. When you run it, it resolves the full path and calls comfy.sd.load_diffusion_model() - the same core loader stock ComfyUI uses internally. No downloads, no weights of its own, no API, no extra GPU cost. It's a passthrough with bookkeeping.
The inputs and outputs that matter
There's exactly one input, so nothing to overthink:
- model_name - a dropdown of everything in
models/unet. Pick your diffusion model.
Outputs are where it earns its place:
- model (
MODEL) - wire this into a KSampler's model input. - model_name (
STRING) - the filename as plain text. Feed it to Power Save Image'smodel_namefield (or any string input) and the metadata writes itself.
That second output is the honest differentiator. Stock UNETLoader can't tell you its own name; this one exists precisely so the rest of the pack can build share-safe metadata without you typing model names twice.
Install
It ships in the CornmeisterNL PowerPack, so install the pack once:
cd ComfyUI/custom_nodes
git clone https://github.com/Cornmeister/ComfyUI-CornmeisterNL-PowerPack.git
Restart ComfyUI and you should see ⚡ [CornmeisterNL Powerpack] Backend loaded in the console. Easier route: ComfyUI Manager → search "CornmeisterNL PowerPack" → install. The pack's only real dependencies are requests and Pillow, which your ComfyUI environment almost certainly already has. No model files ship with it - everything here comes from your own models/unet.
Where people get burned
- The dropdown says "(no models found)" and the node throws when you run it. That's not a bug; it means your
models/unetfolder is empty. Drop a diffusion model in there (for example, a split Flux or Z-Image backbone) and restart ComfyUI so the folder list refreshes. - Your checkpoint doesn't show up. It reads
models/unetonly. A full SDXL checkpoint inmodels/checkpointswill never appear - that's a different load path, and if that's your workflow, this node isn't the one you want. - It doesn't load CLIP or VAE. You still need those from elsewhere in your graph. It's one leg of a three-legged model load.
It's a small node, but in this pack it's load-bearing: model in, name out, and the name is what keeps your saved images honest.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| model_name | COMBO | (no models found) | 1 options: (no models found) |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| model_name | STRING | — |