Universal Checkpoint Loader π (TensorVizion)
One loader that works across every checkpoint family
- model
- clip
- vae
- summary
SD1.5, SD2.x, SDXL, SD3, Flux - ComfyUI's stock Load Checkpoint handles all of them, and so does this node, because the actual loading is delegated to core. The difference is a summary output that makes a filename-based guess at which family you just loaded. That sounds trivial until you've wired an SD1.5 checkpoint into a Flux sampler and stared at noise for ten minutes wondering what's wrong.
What it does
It's a thin wrapper around core CheckpointLoaderSimple. Same inputs, same outputs - model, clip, vae, one dropdown for the checkpoint file from ComfyUI/models/checkpoints/. The value-add is the fourth output: a summary STRING that runs the filename through a quick family detector. The logic is literal string matching: anything with "flux" reads as Flux, "sd3" as SD3, "xl" as SDXL, "sd2"/"-v2"/"768" as SD2.x, and everything else gets "SD1.5 (or unrecognized - verify manually)."
That last clause is the honest part, and it's the whole reason the node exists. The guess is a sanity check, not a guarantee - rename a file and the guess follows the new name. But as a "did I load the thing I think I loaded" check before it hits a family-specific sampler, it catches real mistakes.
Why the family matters
The families genuinely aren't interchangeable. SDXL runs a different UNet at 1024 native with two text encoders; SD1.5 wants 512 and one; SD3 and Flux use a transformer (DiT) with a language-model text encoder instead of CLIP - and that encoder swap is also why CLIP skip, prompt weighting, and negative-prompt syntax behave differently or not at all across families. Loading a checkpoint is the moment all of that gets decided, so a one-glance family readout on the way in is more useful than it sounds.
Install and gotchas
Pack install, as with everything else here:
cd ComfyUI/custom_nodes/
git clone https://github.com/TensorVizion/OmniNodes
Restart ComfyUI, or install "OmniNodes" via ComfyUI Manager. No extra dependencies or model downloads - the node itself is pure wrapper.
The constraints are inherited from core: the dropdown only sees files under ComfyUI's registered checkpoints/ search paths, so a checkpoint elsewhere on disk won't show up no matter what. And because the family guess is filename-only, it can be wrong - a renamed SDXL model that says "flux" in the filename will be guessed as Flux. Trust it as a reminder, not as truth; if your summary says something unexpected, verify the model before you build a workflow on it. If you only ever run SDXL, the pack's Simple SDXL Loader is the leaner choice; this one earns its keep when you hop between families.
Inputs (1)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_name | COMBO | The name of the checkpoint (model) to load. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | β |
| clip | CLIP | β |
| vae | VAE | β |
| summary | STRING | β |