🧠PRO Unet Loader GGUF+
The same loader, with a dtype override and a report card
- model
- info
If you've seen PRO_UnetLoaderGGUF and wondered what "Advanced" buys you, here's the answer: the same multi-format model loader, plus two levers and a status string. The plain version just hands you a MODEL. This one lets you override the precision the weights load in, force them onto CPU, and returns an info string confirming what happened. For most people the plain loader is enough - this exists for the days when something is loaded but the results are subtly wrong, or VRAM is so tight you need to force a specific dtype.
What's different from the base loader
- dtype -
auto(default),float32,float16, orbfloat16. When set to anything but auto, it casts every floating-point weight in the loaded state dict to that precision before it becomes a model. This is the "the model won't fit / the math looks off, force it" knob. Note the honest limitation in the code: the dtype conversion only applies to plain state-dict loads - a city96-GGUF model (which comes back as a model patcher, not a dict) skips the recast. - force_cpu - boolean, default false. Moves every weight to CPU. This is a debug/emergency tool, not a workflow strategy: a diffusion model running fully on CPU will be painfully slow.
- info output - a STRING like
Loaded <filename>that tells you the load actually completed.
Everything else inherits from the base node: it scans unet, diffusion_models, and checkpoints, accepts .gguf (needs a GGUF backend), .safetensors, .ckpt, .pt, .pth, and .bin, and requires nothing but a model filename.
The inputs that matter
- unet_name - the file dropdown (required).
- dtype - only reach for this when auto isn't working. A good default instinct: if the model fits in VRAM at auto, leave it alone. Dtype fiddling changes results and can break a model that was fine as-is.
- force_cpu - leave off unless you're genuinely out of VRAM and just want to confirm the model loads.
Outputs: model (MODEL) and info (STRING).
Installing it
The whole pack:
cd ComfyUI/custom_nodes
git clone https://github.com/cdanielp/COMFYUI_PROMPTMODELS
Plus a GGUF backend if you load .gguf files (pip install gguf>=0.6.0 or city96/ComfyUI-GGUF), then restart. ComfyUI >= 0.26.0.
The honest take
info is the genuinely useful addition - a one-string confirmation beats guessing whether a load silently failed. The dtype and CPU overrides are fine-tuning for edge cases, and the code itself is honest that the dtype cast doesn't reach GGUF-model-pather loads. My advice: start with the plain loader, and keep this one in your back pocket for the day you load a model and the numbers look wrong. That's the day dtype and info earn their keep.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| unet_name | COMBO | 1 options: none | |
| dtypeopt | COMBO | auto | 4 options: auto, float32, float16, bfloat16 |
| force_cpuopt | BOOLEAN | false | — |
Outputs (2)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| info | STRING | — |