Nodes/comfyui-otacoo/Checkpoint Loader 🔰
ComfyUI Node

Checkpoint Loader 🔰

A checkpoint loader that shows you what you're loading

By otacoo·Created 7 months ago·Updated about a month ago· 1
Checkpoint Loader 🔰
    • MODEL
    • CLIP
    • VAE
    ckpt_name
    vae_namedefault

    The built-in CheckpointLoaderSimple gives you a dropdown of checkpoint filenames. If you're like me, half those filenames are realistic_merge_v8_epic_whatever.safetensors - useless. OtacooCheckpointLoader ("Checkpoint Loader 🔰") from the comfyui-otacoo pack is that same loader with the one upgrade that matters: a grid of preview images, so you pick a checkpoint by what it actually produces instead of by decoding the filename.

    What it is

    A drop-in for the stock checkpoint loader. It reads a full checkpoint from models/checkpoints and returns the standard three outputs - MODEL, CLIP, VAE - which wire into your graph exactly like the built-in: MODEL and CLIP feed the KSampler (CLIP through a CLIPTextEncode for your prompt), VAE into VAEEncode/VAEDecode. Behind the scenes it calls the same comfy.sd.load_checkpoint_guess_config() as the stock node, so it auto-detects SD 1.5, SDXL, and everything else the same way. There's no behavior drift here - the pack's contribution is the selector UI and one extra option.

    The input worth talking about: vae_name

    The extra option is vae_name, which defaults to default - meaning "use the VAE baked into the checkpoint." Leave it alone. The KB's own hard-won lesson is that the right VAE is the one the checkpoint was trained against, and modern checkpoints bake theirs in, so attaching an "upgrade" VAE to a modern model is now more often the mistake than the fix. The classic case for switching is the opposite direction: a checkpoint with a known-bad built-in VAE (blurry, blotchy output) where swapping in a separate file from models/vae is the one-click rescue. If you don't have a specific reason, default is correct.

    How the previews work

    When you open the ckpt_name dropdown, the pack's frontend replaces the text list with a filterable grid of thumbnails, fetched from a small /otacoo/images/checkpoints route. It looks for an image next to the checkpoint file with the same base name - realistic_merge_v8.preview.jpg or even just realistic_merge_v8.png, in the same folder, .preview.png/.jpg/.jpeg/.webp checked first, then the plain extensions. First match wins. No image, no thumbnail; the entry just shows as text.

    One caveat, straight from the README: the preview grid runs on the classic LiteGraph UI. On the Nodes 2.0 / Vue UI the pack drops back to a simpler model picker - full preview support is waiting on ComfyUI's custom-node support there.

    Install

    It's a one-pack install that gets all four 🔰 nodes:

    cd ComfyUI/custom_nodes
    git clone https://github.com/otacoo/comfyui-otacoo.git
    

    then restart. Or use ComfyUI Manager → search otacoo. There are no pip dependencies and nothing to download - the whole pack is Python wrappers around ComfyUI's own loaders plus some JS. If you use Pythongossss' Custom-Scripts "View Info" feature, add OtacooCheckpointLoader.ckpt_name.* under Settings → pysssss → ModelInfo so the right-click info works on this node too.

    The pack is young (first release early 2026, essentially zero community chatter, so there's no war story to relay - just don't expect it to fix a broken checkpoint; it only makes picking them nicer). If you organize your model folders anyway, this is the upgrade that makes the file management feel worth it.

    Categoryloaders

    Inputs (2)

    NameTypeDefaultDescription
    ckpt_nameCOMBOThe checkpoint model to load.
    vae_nameoptCOMBOdefaultUse 'default' for the checkpoint's VAE, or pick a separate VAE file.

    Outputs (3)

    NameTypeDescription
    MODELMODEL
    CLIPCLIP
    VAEVAE