Load Diffusion Model With Name
The UNET loader that tells you which model it loaded
- MODEL
- model_name
The name is mostly honest. This is the core Load Diffusion Model node (ComfyUI's UNETLoader, the one that reads .safetensors files out of ComfyUI/models/diffusion_models) with exactly one thing added: a second output that hands you the model's file name as a string. That doesn't sound like much until you've generated 300 images with four different models and tried to work out which run produced which PNG. ComfyUI's default Save Image stamps every output ComfyUI_00001_.png, and nothing in the filename tells you what made it. This node fixes that gap in one wire.
The author (Shadetail, whose whole pack is explicitly "mostly made using GPT-4") uses it exactly that way: pipe model_name into a text-concat with the seed and a fixed prefix, feed that into a custom Save Image node, and every output file is named after the model that generated it. Searchable, sortable, and you never again open a folder of mystery images. If you've been renaming outputs by hand or eyeballing metadata, this is the small quality-of-life upgrade you didn't know you wanted.
How it works
Under the hood it's a straight fork of UNETLoader. The load_unet method calls the same comfy.sd.load_diffusion_model() the core node calls, and then does one extra line: os.path.splitext(os.path.basename(unet_name))[0]. That strips the subfolder path and the extension, so flux\flux1-dev-fp8.safetensors comes out the other side as the clean string flux1-dev-fp8. That string is your model_name output.
The rest is the standard diffusion-model loading path: it looks in your diffusion_models folder, loads the weights, and hands you a ready-to-sample MODEL. Same as core, same trade-offs.
The inputs and outputs that matter
There are only two inputs, and one of them you'll mostly leave alone:
unet_name- a dropdown of every model file inComfyUI/models/diffusion_models. Pick your diffusion model (or Flux/SD3-style UNet).weight_dtype-default,fp8_e4m3fn,fp8_e4m3fn_fast, orfp8_e5m2. This is how you load a quantized model without hunting for a separate fp8 file.fp8_e4m3fnis the near-lossless one - per the community consensus, fp8 is "99% identical to the fp16 requiring half the VRAM" - andfp8_e4m3fn_fastadds fp8 compute optimizations on top. The catch, worth knowing:_fastonly pays off on cards with native fp8 acceleration (40-series and up). On a 30-series card it loads fine but you get the VRAM savings, not the speed. If the model fits indefault, just leave it there - quantizing is for when something genuinely doesn't fit, not as a default habit.
Outputs:
MODEL- wire this into your sampler'smodelinput. That's the whole job.model_name(STRING) - the filename, path and extension stripped. Feed it into a text-concat, a filename builder, or a note node.
One thing it is not: this is a diffusion-model loader, not a full checkpoint loader. You still need a separate text encoder (CLIP) and VAE in your graph for a complete pipeline. The MODEL output only covers the diffusion weights.
Installing it
It's in the ComfyUI Manager, but the pack is called ComfyUI_Eagleshadow - search for that (the node's own name has spaces, which makes it awkward to search directly). Or clone it the manual way:
cd ComfyUI/custom_nodes
git clone https://github.com/Shadetail/ComfyUI_Eagleshadow
Then restart ComfyUI. There are no dependencies to chase - no requirements.txt, no bundled models, nothing but the ComfyUI core API - so install is as clean as it gets. The node lands under advanced/loaders in the node menu.
Gotchas
- Renaming files after the fact breaks your naming.
model_nameis derived from whatever's on disk, so if you move or rename a model, old output files keep the old name but new ones say the new thing. Don't "clean up" your model folder mid-project and expect history to stay consistent. - It's a fork of a core node, and core nodes drift. When ComfyUI changes
UNETLoader's internals, forks like this can lag a beat. It's trivial code, but if it ever throws on update, that's the first thing to suspect. - The pack is unglamorous but honest - its README openly admits writing a "Save Image To Folder" node because "kind of shocking I had to make a custom node for something this basic." That tone carries over: this node does one thing and does it thinly, and that's the appeal. If you want a filename string alongside your loaded model, this is the smallest possible way to get it.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 0 options: | |
| weight_dtype | COMBO | 4 options: default, fp8_e4m3fn, fp8_e4m3fn_fast, fp8_e5m2 |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |
| model_name | STRING | — |