Load Checkpoint
Welcome to the no-nonsense, full-throttle documentation for the Load Checkpoint
node in ComfyUI. This deceptively simple node is the gatekeeper of your entire generative pipeline—if it doesn’t load the right model, your beautifully structured workflow is just a stack of paper with no printer.
🔧 Node Type
CheckpointLoaderSimple
— Often labeled as “Load Checkpoint” in the UI.
This node loads the three holy trinity components required for image generation in Stable Diffusion:
MODEL
(UNet model)CLIP
(text encoder)VAE
(variational autoencoder)
Each of these has a distinct role, and choosing the wrong one can result in... abstract outputs at best and cursed AI hallucinations at worst.
🧠 What This Node Does
The Load Checkpoint
node reads .ckpt
or .safetensors
files that represent a pre-trained model for Stable Diffusion. It extracts and splits the components needed downstream in your workflow:
Output Slot | What it Outputs | Why it Matters |
---|---|---|
MODEL | The UNet model | Core engine for denoising and image synthesis |
CLIP | Text encoder | Translates your prompt into vector embeddings |
VAE | Decoder that turns latent data into pixels | Affects color tone, contrast, and fine detail |
These outputs are then used by nodes like KSampler
, CLIP Text Encode
, and VAE Decode
to do the heavy lifting.
⚙️ Inputs & Settings
🔽 ckpt_name
(Dropdown)
- This dropdown allows you to select from available checkpoints located in your
/models/checkpoints/
directory. - Supported formats:
.safetensors
(preferred—safe, optimized loading).ckpt
(less secure, but still works)
- Changing this sets the foundation for the aesthetic and capabilities of your generation.
Tip: Rename your models meaningfully.
epic_realism_fp16.safetensors
is easier to find thanmodel_final_v1.2.ckpt
.
🧩 Outputs (in detail)
🔸 MODEL
- This is the UNet component of Stable Diffusion.
- It processes the latent noise over several steps to create your final image.
- It is passed directly into the
KSampler
node.
📌 Important: Incompatible UNets with certain schedulers or samplers (especially experimental ones like LCM) may result in artifacts or completely non-functional outputs.
🔸 CLIP
- The CLIP model is used by
CLIP Text Encode
nodes. - It encodes your prompt (and negative prompt) into a semantic vector space.
- Different checkpoints might include CLIP variants like:
ViT-B/32
(used in SD1.4/1.5)OpenCLIP
variants (used in SD2.1 and later)
Prompting Tip: If your prompts are working inconsistently across checkpoints, blame the CLIP. It's not you. You're brilliant.
🔸 VAE
- The decoder/encoder that transforms the latent space into pixel space.
- Without this, you’re stuck in the land of latent noise—no actual image decoding can happen.
- VAEs affect:
- Skin texture
- Color accuracy
- Sharpness
- Overall image quality
Pro Tip: Some models bake their VAE inside the checkpoint. Others rely on external ones like
vae-ft-mse-840000-ema-pruned.safetensors
. Be aware of what your model needs.
✅ Recommended Use Cases
- Text-to-Image Generation (obviously)
- Image-to-Image Generation (when using inpainting or ControlNet pipelines)
- LoRA and Style Merging Workflows (needs model/clip pairing)
- Comparative Model Testing (run identical prompts across multiple checkpoints)
🧪 Workflow Setup Example
mermaid
graph TD; A["Load Checkpoint"] --> B["CLIP Text Encode"]; A --> C["KSampler"]; A --> D["VAE Decode"];
- Connect:
MODEL
to yourKSampler
nodeCLIP
toCLIP Text Encode
nodesVAE
to yourVAE Decode
node orAutoVAE
🛠️ Settings & Parameters
Parameter | Type | Description |
---|---|---|
ckpt_name | Combo Dropdown | Select the checkpoint you want to load. Reflects the files in your checkpoints folder. No path input needed. |
Other Settings | None | That’s it. It’s brutally simple by design. |
📈 Prompting Tips
- Consistency: Always use the same model and VAE if you’re comparing outputs.
- Specialized Checkpoints: Use realism-trained models like
epicRealism
for portraits andrevAnimated
for anime-style art. Don’t cross the streams unless you like weird hybrids. - Negative Prompts: Behavior is heavily influenced by the CLIP model—some checkpoints understand nuance better than others.
🔥 What-Not-To-Do-Unless-You-Want-a-Fire
Here’s the list of rookie mistakes, cursed behavior, and general chaos-summoning actions that will send your workflow spiraling into the abyss (and maybe crash your VRAM while it's at it):
❌ Load the wrong checkpoint and wonder why nothing looks right
- Using an anime-style checkpoint for photorealism? Yeah, enjoy those melted Barbie faces.
- Loading a realism checkpoint and prompting it like you're in Ghibli? That’s how you get uncanny valley nightmares.
❌ Forget to pair a VAE when your checkpoint doesn’t have one baked in
- This will result in invisible outputs, blank images, or grayscale weirdness.
- Pro tip: If you see a mostly black or blank image, check the VAE. It’s probably that.
❌ Use a checkpoint that isn’t compatible with the rest of your workflow
- If you're mixing SD1.5 checkpoints with SD2.x CLIP encoders or ControlNet inputs, congratulations—you’ve entered undefined behavior land.
- Know your version compatibility (SD1.5 = CLIP B/32, SD2.x = OpenCLIP G).
❌ Rename files without knowing what you’re doing
- That cool new
epicRealism_better_but_idk_final_final.ckpt
might not load if your filename confuses your model manager or path references. - Keep it clean. No spaces. Use underscores. It’s not just good practice—it’s survival.
❌ Download random checkpoints from sketchy sources
- This isn’t LimeWire in 2002. Your GPU has dignity.
- Always scan
.ckpt
files and prefer.safetensors
because they don’t execute arbitrary code.
❌ Ignore the console logs
- That red error message? Yeah, it's not just decoration.
- If the model didn't load properly, you'll often see it there first. Don’t blame the sampler when the checkpoint never even initialized.
❌ Assume all checkpoints include a good CLIP encoder
- Some include low-quality or mismatched encoders, which means even your beautifully-crafted prompt will turn into noise soup.
- If the prompt stops behaving, consider checking what CLIP variant the model is using.
🔥 Bonus Chaos Recipe
Want to crash your workflow in 5 seconds flat?
- Load a mismatched VAE
- Plug the wrong CLIP into the wrong text encode
- Use a 16-bit half-precision model on a GPU that doesn’t support it
- Set the batch size to 8 on a 6GB card
- Try to upscale it at the end with Ultimate SD Upscale
Boom. ComfyUI just turned into UnComfyUI.
🧼 Best Practices
- Stick to
.safetensors
: It’s faster, safer, and just plain better. - Name smart: Keep your file names descriptive so you can tell
ponyRealism_V23
fromhellspawn_final_fp32
. - Cache preload: Use the ComfyUI Manager or
preload_models
setting for performance gains.
🧩 Bonus: Pairing with VAEs
If your checkpoint doesn't have a baked-in VAE, use these:
Checkpoint Type | Recommended VAE |
---|---|
Realism-based (e.g., EpicRealism) | vae-ft-mse-840000-ema-pruned.safetensors |
Stylized / Anime | anything-v4.0.vae.pt or baked |
Hyper-detailed art | kl-f8-anime2 (if not baked) |
🧠 TL;DR
The Load Checkpoint
node is the very first brick in your generative cathedral. Choose wisely, connect faithfully, and your prompt shall manifest as pure pixelated glory. Choose poorly? Well… hope you like eyeballs on elbows.