ComfyUI Node

Checkpoint Selector

The dropdown that makes your model choice reproducible

By kinorax·Created 5 months ago·Updated about a month ago· 2
Checkpoint Selector
    • model
    • ckpt_name
    checkpoint
    sha256

    Every ComfyUI graph starts the same way: a Load Checkpoint node with a dropdown, and you pick the model. It's so routine you stop thinking about it - which is exactly why Checkpoint Selector is worth a look. It's this pack's replacement for that first node, and the difference is that it doesn't just load the model, it records the choice. The selected checkpoint becomes part of the pack's image_info metadata, gets written into the saved image, and comes back out when you load the image later. Same dropdown, but now the graph remembers what it used.

    It's the flagship of the pack's selector family (Checkpoint, Unet, Diffusion Model, Lora, VAE, CLIP and friends), all sharing the same pattern: a dropdown over a models folder, an IPT-Model value out, and a right-click model-info action.

    How it works

    At execution the node takes the checkpoint filename from its dropdown, resolves it against what's actually in ComfyUI/models/checkpoints, and wraps it as an IPT-Model value. It does not load the weights itself - the actual load happens later, once, when the value reaches the pack's Load New Model node, which pulls model, CLIP, and VAE out of the checkpoint file together. That deferred loading is the pack's whole trick for avoiding redundant loads when several branches of a graph reference the same model.

    Outputs:

    • model - the IPT-Model value for the loader pipeline.
    • ckpt_name - a passthrough of the selected filename, handy for labels, XY-plot axes, or writing the name into metadata yourself.

    The optional sha256 input feeds the right-click View Model Info... action, which looks the checkpoint up on Civitai by hash so you can confirm the file you're running is the exact release you think it is - genuinely useful when you've accumulated seven files named model_v7.safetensors in a year.

    Why you'd replace a working Load Checkpoint

    If you never re-open your own old images and never share graphs, honestly, you won't miss it - stock Load Checkpoint works fine. The payoff is the pack's reproducibility loop: open a saved image with Image Reader and the checkpoint, CLIP, VAE, LoRA stack, sampler, and seed all reconstruct from metadata. The selector is the checkpoint side of that promise. For anyone doing batch runs across several checkpoints, it also centralizes the choice - one dropdown at the top instead of a loader buried mid-graph.

    The one trap

    Folder placement, same as every selector: this node reads ComfyUI/models/checkpoints. Drop a checkpoint into unet or diffusion_models (or a subfolder the picker doesn't scan) and it won't appear in the dropdown until you move it and restart ComfyUI. Also remember the distinction from the pack's other selectors: checkpoints bundle model + CLIP + VAE; use Unet Model Selector or Diffusion Model Selector when you're working with split-architecture backbones instead.

    Installing

    Part of kinorax/comfyui-info-prompt-toolkit:

    cd ComfyUI/custom_nodes
    git clone https://github.com/kinorax/comfyui-info-prompt-toolkit.git
    cd comfyui-info-prompt-toolkit
    pip install -r requirements.txt
    

    or install "Info-Prompt-Toolkit" via ComfyUI Manager, then restart. No model files - it only references checkpoints you already own. Feed its model output into Load New Model or Image Info Context, and the choice starts riding along in your metadata.

    CategoryInfo-Prompt-Toolkit/ImageInfo

    Inputs (2)

    NameTypeDefaultDescription
    checkpointCOMBOSelect checkpoint
    sha256optSTRINGCached SHA256 used by View Model Info fallback

    Outputs (2)

    NameTypeDescription
    modelIPT-Model
    ckpt_name*