Nodes/OmniNodes/Universal Checkpoint Loader 🌐 (TensorVizion)
ComfyUI Node

Universal Checkpoint Loader 🌐 (TensorVizion)

One loader that works across every checkpoint family

By TensorVizionΒ·Created 3 months agoΒ·Updated about 8 hours agoΒ· 0
Universal Checkpoint Loader 🌐 (TensorVizion)
    • model
    • clip
    • vae
    • summary
    β—„ckpt_nameβ–Ύβ–Ί

    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.

    CategoryTensorVizion/Model Utilities

    Inputs (1)

    NameTypeDefaultDescription
    ckpt_nameCOMBOThe name of the checkpoint (model) to load.

    Outputs (4)

    NameTypeDescription
    modelMODELβ€”
    clipCLIPβ€”
    vaeVAEβ€”
    summarySTRINGβ€”