The most common reason a ComfyUI workflow fails is not a bug. It is a model file sitting in the wrong folder. You download a 12 GB file, drop it into checkpoints, and the loader node shows nothing, or you get a red “value not in list” error. This cheat sheet fixes that for good. It lists every ComfyUI model folder, which loader node reads it, what kind of file goes there, and how to tell from a file name where it belongs. It also has a quick-reference table of exact paths for the popular 2026 models (Qwen Image 2.1, FLUX 3 Klein, Krea 2, MiniMax H3, MOSS-Image, Anima and more), plus GGUF files, custom node folders and how to share one model folder between several installs. Bookmark it; you will come back to it.
- Full models with everything inside (old SD 1.5 / SDXL style) go in
ComfyUI/models/checkpoints/. - Modern split models (FLUX, Qwen Image, Krea 2, MiniMax H3) use three folders:
diffusion_models,text_encodersandvae. - LoRAs go in
ComfyUI/models/loras/. Upscalers go inComfyUI/models/upscale_models/. - GGUF diffusion models go in
ComfyUI/models/unet/and need the ComfyUI-GGUF node pack. - Model not showing up? Check the folder, then press R in ComfyUI (or restart) to refresh the lists.
- Several installs? Share one model folder with
extra_model_paths.yamlinstead of copying files.
Where Is the ComfyUI Models Folder?
Every model lives under one models folder. Where that folder is depends on how you installed ComfyUI:
| Install type | Models folder |
|---|---|
| Windows portable | ComfyUI_windows_portable\ComfyUI\models\ |
| Manual install (git clone) | ComfyUI/models/ inside the folder you cloned |
| Comfy Desktop app | The models folder inside the base folder you picked during setup (Settings shows the path) |
| Linux / cloud GPU | Usually ~/ComfyUI/models/ or /workspace/ComfyUI/models/ |
In this guide, every path starts with ComfyUI/models/. On the portable build, put ComfyUI_windows_portable\ in front of it.
Master Table: Every Model Folder
These are the folders a current ComfyUI install creates or understands. The core ones come with ComfyUI itself; a few newer ones appear when you update.
| Folder | What goes in it | Example file |
|---|---|---|
checkpoints |
All-in-one models that bundle the diffusion model, text encoder and VAE (SD 1.5, SDXL and similar), plus a few special models some workflows load this way | sd_xl_base_1.0.safetensors |
diffusion_models |
The main image or video model on its own (also called the UNet or transformer) | qwen_image_2.1_int8_convrot.safetensors |
unet |
Older name for the same thing. Still read by ComfyUI; the usual home for GGUF diffusion models | flux1-fill-dev-Q4_0.gguf |
text_encoders |
Text encoders: T5, CLIP-L, Qwen, Gemma and similar | qwen3vl_8b_int8_convrot.safetensors |
clip |
Older name for text_encoders. Both are read |
clip_l.safetensors |
vae |
VAEs that turn latents into pixels (and audio VAEs for audio models) | flux2-vae.safetensors |
loras |
LoRAs and LyCORIS adapters, including step-distill and turbo LoRAs | krea2_turbo_3step_rank_64_lora_comfyui.safetensors |
upscale_models |
Pixel upscalers (ESRGAN family and similar) | 4x-UltraSharp.pth |
latent_upscale_models |
Upscalers that work on latents instead of pixels | minimax_h3_latent_upscaler_3d_conv_v1_bf16.safetensors |
controlnet |
ControlNet and T2I-Adapter models | a ControlNet union model |
model_patches |
Newer patch-style control models that load onto a model | minimax_h3_fun_controlnet_union_pruned_int8_convrot.safetensors |
clip_vision |
Image encoders used by IP-Adapter, Redux, 3D and reference workflows | dino_v3_L_naf_fp32.safetensors |
style_models |
Style models such as FLUX Redux | a Redux style model |
embeddings |
Textual inversion embeddings, used in prompts as embedding:name |
a negative embedding |
vae_approx |
Tiny preview decoders (TAESD) for fast live previews | TAESD files |
hypernetworks |
Old SD 1.5 hypernetworks (rarely used now) | |
gligen |
GLIGEN box-conditioning models (rare) | |
photomaker |
PhotoMaker models | |
diffusers |
Models in the folder-based diffusers format | a folder, not a single file |
configs |
YAML configs for old checkpoints. You rarely touch this |
If a folder in a guide does not exist on your PC, you can simply create it. ComfyUI reads any of the folder names above.
Which Loader Node Reads Which Folder
When a dropdown in a node is empty, look at which folder that node reads:
| Node | Reads from |
|---|---|
| Load Checkpoint | ComfyUI/models/checkpoints/ |
| Load Diffusion Model (UNETLoader) | ComfyUI/models/diffusion_models/ and ComfyUI/models/unet/ |
| Load CLIP, DualCLIPLoader, TripleCLIPLoader | ComfyUI/models/text_encoders/ and ComfyUI/models/clip/ |
| Load VAE | ComfyUI/models/vae/ |
| Load LoRA, LoraLoaderModelOnly | ComfyUI/models/loras/ |
| Load Upscale Model | ComfyUI/models/upscale_models/ |
| Load ControlNet Model | ComfyUI/models/controlnet/ |
| Load CLIP Vision | ComfyUI/models/clip_vision/ |
| Load Style Model | ComfyUI/models/style_models/ |
| Unet Loader (GGUF) | ComfyUI/models/unet/ (ComfyUI-GGUF pack) |
| CLIPLoader (GGUF), DualCLIPLoader (GGUF) | ComfyUI/models/text_encoders/ or ComfyUI/models/clip/ (ComfyUI-GGUF pack) |
A common mistake is putting a diffusion-only file in checkpoints and using Load Checkpoint. That fails, because the file has no text encoder or VAE inside. Use Load Diffusion Model instead.
Checkpoint vs Split Models: The Big Difference
Older Stable Diffusion models shipped as one file that held all three parts. One Load Checkpoint node gave you MODEL, CLIP and VAE outputs.
Almost every big model since FLUX ships split. The diffusion model is huge, and the text encoder is shared between many models, so they come as separate files:
ComfyUI/models/diffusion_models/ the main model (Load Diffusion Model) ComfyUI/models/text_encoders/ the text encoder (Load CLIP) ComfyUI/models/vae/ the VAE (Load VAE)
The upside is that you download a shared text encoder or VAE only once. For example, qwen_image_vae.safetensors is used by Krea 2, Anima and other models, and flux2-vae.safetensors is shared by several FLUX-family models.
How to Tell the Folder From the File Name
Model authors usually hint at the folder in the name. Use these rules when a download page does not say:
| If the name contains… | It probably goes in |
|---|---|
vae, ae.safetensors, dav |
vae |
t5, umt5, clip_l, clip_g, qwen_2.5_vl, qwen3vl, qwen_3_4b, gemma, text_encoder |
text_encoders |
lora, rank_64, r32, _steps_, turbo_8step |
loras |
4x, 2x, ESRGAN, UltraSharp |
upscale_models |
controlnet, union (as a control model) |
controlnet (or model_patches if the guide says so) |
dino, siglip, clip_vision, image_encoder |
clip_vision |
_bf16, _fp8, _int8, nvfp4 on a big model name with none of the above |
diffusion_models |
| a single 2 to 7 GB SD 1.5 or SDXL file | checkpoints |
.gguf on a diffusion model |
unet |
The precision suffix tells you nothing about the folder. bf16, fp16, fp8_scaled, int8_convrot and nvfp4 only describe how the weights are stored.
Quick Reference: Exact Paths for Popular 2026 Models
These are the paths we have used in our own model guides. Each row links to the full guide.
Image models
| Model | Files and full paths |
|---|---|
| Qwen Image 2.1 | ComfyUI/models/diffusion_models/qwen_image_2.1_int8_convrot.safetensorsComfyUI/models/text_encoders/qwen3vl_8b_int8_convrot.safetensorsComfyUI/models/vae/qwen_image_2.1_vae_bf16.safetensors |
| Krea 2 Turbo | ComfyUI/models/diffusion_models/krea2_turbo_bf16.safetensorsComfyUI/models/text_encoders/qwen3vl_4b_bf16.safetensorsComfyUI/models/vae/qwen_image_vae.safetensors |
| Anima | ComfyUI/models/diffusion_models/anima-base-v1.0.safetensorsComfyUI/models/text_encoders/qwen_3_06b_base.safetensorsComfyUI/models/vae/qwen_image_vae.safetensors |
| Z-Image Turbo | ComfyUI/models/diffusion_models/z_image_turbo_bf16.safetensorsComfyUI/models/text_encoders/qwen_3_4b.safetensorsComfyUI/models/vae/ae.safetensors |
| FLUX 3 Klein | ComfyUI/models/diffusion_models/flux3-image-klein-int8-convrot.safetensorsComfyUI/models/text_encoders/qwen3vl_4b_int8_convrot.safetensorsComfyUI/models/vae/flux2-vae.safetensors |
| MOSS-Image | See the full guide: the diffusion model, Qwen text encoder and flux2-vae_small VAE use the same three-folder layout |
Video, audio and 3D
| Model | Files and full paths |
|---|---|
| MiniMax H3 video | ComfyUI/models/diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensorsComfyUI/models/loras/minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensorsComfyUI/models/text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensorsComfyUI/models/vae/minimax_h3_video_vae_fp16.safetensorsComfyUI/models/vae/minimax_h3_audio_vae_fp32.safetensors |
| MiniMax H3 latent upscaler | ComfyUI/models/latent_upscale_models/minimax_h3_latent_upscaler_3d_conv_v1_bf16.safetensors |
| MiniMax H3 motion control | ComfyUI/models/model_patches/minimax_h3_fun_controlnet_union_pruned_int8_convrot.safetensorsComfyUI/models/checkpoints/sdpose_wholebody_fp16.safetensors |
| ACE-Step 1.5 music | ComfyUI/models/diffusion_models/acestep_v1.5_xl_turbo_bf16.safetensorsComfyUI/models/text_encoders/qwen_0.6b_ace15.safetensorsComfyUI/models/vae/ace_1.5_vae.safetensors |
| Stable Audio Open (SFX) | ComfyUI/models/checkpoints/stable-audio-open-1.0.safetensorsComfyUI/models/text_encoders/t5-base.safetensors |
| TRELLIS.2 image to 3D | ComfyUI/models/diffusion_models/trellis_2_int8_convrot.safetensorsComfyUI/models/vae/trellis_2_shape_vae_bf16.safetensorsComfyUI/models/vae/trellis_2_texture_vae_bf16.safetensorsComfyUI/models/clip_vision/dino_v3_L_naf_fp32.safetensors |
Tools
| Tool | Full path |
|---|---|
| 4x UltraSharp upscaler | ComfyUI/models/upscale_models/4x-UltraSharp.pth |
| BiRefNet background removal | ComfyUI/models/background_removal/birefnet.safetensors |
| LaMa eraser (comfyui-inpaint-nodes) | ComfyUI/models/inpaint/big-lama.pt |
| SAM 3 segmentation | ComfyUI/models/checkpoints/sam3.1_multiplex_fp16.safetensors |
| MoGe geometry (Pixal3D) | ComfyUI/models/geometry_estimation/moge_2_vitl_normal_fp16.safetensors |
Where GGUF Files Go
GGUF is a compressed format (Q8_0, Q6_K, Q5_K_M, Q4_K_M and so on) that makes big models fit on smaller GPUs. ComfyUI does not load GGUF on its own. You need the ComfyUI-GGUF pack by city96:
cd ComfyUI/custom_nodes git clone https://github.com/city96/ComfyUI-GGUF pip install -r ComfyUI-GGUF/requirements.txt
On the Windows portable build, install the requirement with the embedded Python:
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ComfyUI-GGUF\requirements.txt
Then:
- GGUF diffusion models go in
ComfyUI/models/unet/, for exampleComfyUI/models/unet/flux1-fill-dev-Q4_0.gguf. Load them with Unet Loader (GGUF). - GGUF text encoders go in
ComfyUI/models/text_encoders/(orclip), for exampleComfyUI/models/clip/t5-v1_1-xxl-encoder-Q5_K_M.gguf. Load them with CLIPLoader (GGUF) or DualCLIPLoader (GGUF). - The VAE stays a normal
.safetensorsfile inComfyUI/models/vae/.
Not sure which quant to download? Our GGUF quantization guide explains Q4_K_M vs Q5_K_M vs Q8_0 and how to match them to your VRAM, and the MiniMax H3 GGUF workflow shows a real example.
Folders Created by Custom Nodes
Many custom node packs add their own folder under ComfyUI/models/. Always check the pack’s README, but these are the usual ones:
| Folder | Used by |
|---|---|
ipadapter |
IP-Adapter packs (IP-Adapter models; the image encoder still goes in clip_vision) |
inpaint |
comfyui-inpaint-nodes (LaMa, MAT, Fooocus inpaint) |
sams, sam2 |
Segment Anything packs |
ultralytics/bbox, ultralytics/segm |
Impact Pack face and person detectors |
insightface |
Face analysis models for face swap and ID nodes |
facerestore_models |
Face restore nodes (GFPGAN, CodeFormer) |
background_removal |
BiRefNet and similar cut-out models |
LLM |
Some prompt-helper packs that run a local language model |
The custom node code itself never goes in models. It goes in ComfyUI/custom_nodes/<pack-name>/, usually by git clone or through ComfyUI Manager.
Using Subfolders to Stay Organised
You can make subfolders inside any model folder, and ComfyUI shows them in the dropdown as subfolder/file.safetensors:
ComfyUI/models/loras/
krea2/
krea2_turbo_3step_rank_64_lora_comfyui.safetensors
qwen-image/
p_q_image_2.1_6_steps_v0.2_comfyui_bf16.safetensors
minimax-h3/
minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensors
One catch: a shared workflow saves the full name, including the subfolder. If you load someone else’s workflow and the file is in a different subfolder on your PC, just pick it again in the dropdown.
Share One Model Folder Between Installs
If you run the portable build and Comfy Desktop, or ComfyUI and another app, do not keep two copies of 100 GB of models. ComfyUI can read extra folders listed in extra_model_paths.yaml.
- In your ComfyUI folder, find
extra_model_paths.yaml.example. - Copy it and rename the copy to
extra_model_paths.yaml. - Add a section that points at your shared folder:
shared:
base_path: D:/AI/models/
checkpoints: checkpoints/
diffusion_models: |
diffusion_models
unet
text_encoders: |
text_encoders
clip
vae: vae/
loras: loras/
upscale_models: upscale_models/
controlnet: controlnet/
clip_vision: clip_vision/
- Restart ComfyUI. Files from the shared folder now appear next to the local ones.
Use forward slashes in the YAML even on Windows, and keep the indentation exact. Another option on Windows is a folder link, made in an administrator Command Prompt:
mklink /D "C:\ComfyUI_windows_portable\ComfyUI\models\loras" "D:\AI\models\loras"
Delete or rename the original loras folder first, because the link needs the name to be free.
Model Not Showing Up? Checklist
- Right folder? Check the loader table above. Diffusion-only files do not work in Load Checkpoint.
- Right install? Many people have two ComfyUI folders and copy files into the one they are not running. The console shows the base path at startup.
- Refreshed? Press R in the ComfyUI window to refresh the model lists, or restart.
- Download finished? A partial download shows as a smaller file or ends in
.partor.crdownload. Compare the size with the download page. - Right extension? Files must end in
.safetensors,.ckpt,.pt,.pth,.binor.gguf. Some browsers add.txtor strip the extension. - GGUF without the pack? GGUF files only show in the GGUF loader nodes after ComfyUI-GGUF is installed.
- “Value not in list” on a shared workflow? The workflow expects an exact file name. Click the dropdown and pick your file.
- Error while deserializing header? The file is corrupt or not really a safetensors file (often an HTML error page saved with the model’s name). Download it again.
For the full list of error messages and fixes, see our ComfyUI errors and fixes guide.
FAQ
Is diffusion_models the same as unet?
Yes. unet is the older name. Current ComfyUI reads both for Load Diffusion Model. Use diffusion_models for safetensors files and unet for GGUF files to match most guides.
Is text_encoders the same as clip?
Yes, clip is the older name and both are read. New guides use text_encoders.
Where do I put a .ckpt file?
If it is a full SD 1.5 or SDXL model, in ComfyUI/models/checkpoints/. Prefer the .safetensors version when one exists, because .ckpt files can contain code.
Where do embeddings go and how do I use them?
In ComfyUI/models/embeddings/. Write embedding:filename in the prompt, without the extension.
Can I rename model files?
Yes. ComfyUI does not care about the name. But shared workflows look for the original name, so keeping it saves you re-selecting files.
Do I need to restart after adding a model?
No. Pressing R refreshes the lists. New custom node packs, however, do need a full restart.
Final Thoughts
Once you know the pattern, ComfyUI’s folders are simple: one-file models go in checkpoints, split models use diffusion_models, text_encoders and vae, add-ons go in loras, and GGUF files go in unet with the GGUF pack. Use the quick-reference tables when you set up a new model, the file-name rules when a download page is vague, and extra_model_paths.yaml once your collection outgrows one drive.
More ComfyUI guides:
- ComfyUI Errors and Fixes: The Complete List
- GGUF Quantization Explained: Which File to Download
- How Much VRAM Do You Need for ComfyUI?
- Best Open-Source Text-to-Image Models
Sources
- GitHub: ComfyUI (folder layout and
extra_model_paths.yaml.example) - GitHub: city96/ComfyUI-GGUF
- comfyart.org: Models guide (tool model folders)
- Model paths from the official model cards linked in each Freakyjolly guide above