Nodes/ComfyUI-SuiteTea/Tea: Load Image Checkpoints from path
ComfyUI Node

Tea: Load Image Checkpoints from path

The checkpoint loader you drive with a string, for when you hate the dropdown

By teepunkt-esspunkt·Created about a year ago·Updated 12 months ago· 4
Tea: Load Image Checkpoints from path
    • model
    • clip
    • vae
    • clip_vision
    ckpt_path
    ckpt_name
    prefer_dropdownfalse

    The name is a mouthful, but the pitch is one sentence: this is the stock checkpoint loader with the dropdown replaced by a plain text box, so you can point it at any .safetensors or .ckpt file by absolute path. If you've only ever clicked through ComfyUI's picker, you might wonder why that matters. It matters when you want to run the same workflow fifty times with fifty different models and nobody in front of the screen to choose from a list.

    That's the whole reason this pack exists. The README opens with "some good ComfyUI nodes for bad reasons," and this loader was built for one specific workflow: a Python script looping the same graph across every checkpoint you own. SuiteTea ships two helpers (discover_models_flat.py and run_all_models.py) that scan your checkpoints folder into a text file, then run your exported workflow once per model, saving each result with the model name as a filename prefix. This node is the hinge that makes that work - a loader whose model choice lives in data, not in the UI.

    How it works

    Underneath, it's just comfy.sd.load_checkpoint_guess_config - the same function the stock CheckpointLoaderSimple calls - so you get an identical result to the dropdown version. Two details make it script-friendly. First, it calls unload_all_models() before loading, which actually frees VRAM between iterations instead of letting models stack up in a loop. Second, it's lazy about its inputs: if ckpt_path is empty, or you flip prefer_dropdown on, it silently falls back to the normal models/checkpoints dropdown.

    Only two inputs matter to a beginner:

    • ckpt_path - full path to the file. This is the whole point of the node.
    • prefer_dropdown - if on, use the ckpt_name dropdown instead of the path.

    Outputs are the standard four: model, clip, vae, and clip_vision. Wire model → KSampler, clip → CLIP Text Encode, vae → VAE Decode. clip_vision comes back None on checkpoints that don't include a vision encoder, so don't panic when that output is empty - just don't connect it.

    Installing it

    Install once, and the whole SuiteTea pack comes with it - no model downloads, no requirements.txt, nothing beyond stock ComfyUI internals plus torch/numpy/PIL.

    • ComfyUI Manager → Custom Nodes → search "SuiteTea". If it's indexed, one click.
    • Not listed (or you want the guaranteed route): Manager → Install from URL → https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea.git
    • Or manually:
    cd ComfyUI/custom_nodes
    git clone https://github.com/teepunkt-esspunkt/ComfyUI-SuiteTea
    

    Restart ComfyUI after installing.

    Where people get burned

    • The path must actually exist. Unlike the stock loader, this one raises FileNotFoundError if the file isn't there - no silent search, no graceful fallback. If you're scripting it, verify the path in Python before you run the batch.
    • Prefer .safetensors over .ckpt. The .ckpt format is pickle, which can execute code when loaded, and fake "leak" models have carried payloads. Grab the pruned safetensors build - same output, safer.
    • Windows paths in JSON need their backslashes escaped, or just use forward slashes (C:/models/...), which the loader accepts fine.
    • It's slow for casual use. Because it unloads all models on every run, it re-loads from disk each time - there's no caching. Use it for the batch loop, not for your daily tinkering. That's what the dropdown's for.

    If you never batch-run models, you don't need this node. If you do, it's the difference between clicking a dropdown a hundred times and letting a script do it.

    CategorySuiteTea/Loaders

    Inputs (3)

    NameTypeDefaultDescription
    ckpt_pathSTRINGFull path to a .safetensors/.ckpt file.
    ckpt_nameoptCOMBOPick a checkpoint from models/checkpoints.
    prefer_dropdownoptBOOLEANfalseIf ON, load from dropdown instead of path.

    Outputs (4)

    NameTypeDescription
    modelMODEL
    clipCLIP
    vaeVAE
    clip_visionCLIP_VISION