Tea: Load Image Checkpoints from path
The checkpoint loader you drive with a string, for when you hate the dropdown
- model
- clip
- vae
- clip_vision
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 theckpt_namedropdown 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
FileNotFoundErrorif 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
.safetensorsover.ckpt. The.ckptformat 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.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| ckpt_path | STRING | Full path to a .safetensors/.ckpt file. | |
| ckpt_nameopt | COMBO | Pick a checkpoint from models/checkpoints. | |
| prefer_dropdownopt | BOOLEAN | false | If ON, load from dropdown instead of path. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| model | MODEL | — |
| clip | CLIP | — |
| vae | VAE | — |
| clip_vision | CLIP_VISION | — |