模型文件路径速查:Checkpoint、LoRA、VAE、ControlNet 分别放哪
ComfyUI 各种模型文件应该放在哪个文件夹,避免'模型加载失败'的 90% 原因。
一句话结论
模型路径必须按“模型类型”放,不是所有 .safetensors 都放进 checkpoints。Checkpoint、LoRA、VAE、ControlNet、CLIP Vision、Upscale、Embedding 分别对应不同目录,放错目录就会出现下拉框找不到、加载失败或工作流红节点。
Windows 和 Linux 根目录区别
先找到 ComfyUI 根目录。不同安装方式根目录不同:
| 安装方式 | ComfyUI 根目录示例 |
|---|---|
| Windows Portable | D:\AI\ComfyUI_windows_portable\ComfyUI\ |
| Linux git 安装 | /home/你的用户名/ai/ComfyUI/ |
| WSL2 | /home/你的用户名/ai/ComfyUI/ |
| 云服务器 | /opt/ComfyUI/ 或 /home/ubuntu/ComfyUI/ |
本文后面写的 ComfyUI/models/... 都是相对于这个根目录。
先看图记住大方向:所有模型都在 ComfyUI/models/ 下面,但不同模型必须进不同子目录。新手不要只看文件后缀,.safetensors 可能是 Checkpoint,也可能是 LoRA。
常见模型路径总表
| 模型类型 | Windows 路径 | Linux 路径 | 常见扩展名 | 对应节点 |
|---|---|---|---|---|
| Checkpoint | ComfyUI\models\checkpoints\ | ComfyUI/models/checkpoints/ | .safetensors, .ckpt | Load Checkpoint |
| LoRA | ComfyUI\models\loras\ | ComfyUI/models/loras/ | .safetensors, .pt | Load LoRA |
| VAE | ComfyUI\models\vae\ | ComfyUI/models/vae/ | .safetensors, .pt | Load VAE |
| ControlNet | ComfyUI\models\controlnet\ | ComfyUI/models/controlnet/ | .safetensors, .pth | ControlNet Loader |
| CLIP Vision | ComfyUI\models\clip_vision\ | ComfyUI/models/clip_vision/ | .safetensors, .bin | CLIP Vision Loader |
| IPAdapter | ComfyUI\models\ipadapter\ | ComfyUI/models/ipadapter/ | .safetensors, .bin | IPAdapter Model Loader |
| Upscale Model | ComfyUI\models\upscale_models\ | ComfyUI/models/upscale_models/ | .pth, .pt | Upscale Model Loader |
| Embedding | ComfyUI\models\embeddings\ | ComfyUI/models/embeddings/ | .pt, .safetensors | 文本提示词触发 |
| Diffusion Model | ComfyUI\models\diffusion_models\ | ComfyUI/models/diffusion_models/ | .safetensors | UNet/Diffusion Loader |
| Text Encoder | ComfyUI\models\text_encoders\ | ComfyUI/models/text_encoders/ | .safetensors | CLIP/Text Encoder Loader |
注意:部分新模型工作流会使用 diffusion_models、text_encoders、vae 分离加载,不再是单个 Checkpoint。遇到 Flux、SD3、Hunyuan 等工作流时尤其要看作者说明。
具体怎么判断文件类型
1. 看下载页面标题
下载页通常会写:
Checkpoint/Base Model:放 checkpoints。LoRA:放 loras。VAE:放 vae。ControlNet:放 controlnet。Upscaler:放 upscale_models。CLIP Vision:放 clip_vision。
不要只看扩展名。LoRA 和 Checkpoint 都可能是 .safetensors。
2. 看文件大小
大致参考:
| 类型 | 常见大小 |
|---|---|
| SD1.5 Checkpoint | 2GB - 7GB |
| SDXL Checkpoint | 6GB - 13GB |
| LoRA | 10MB - 500MB |
| VAE | 100MB - 400MB |
| ControlNet | 700MB - 3GB |
| Upscale Model | 10MB - 300MB |
如果你下载到一个几 KB 的 .safetensors,大概率是网页、Git LFS 指针文件或下载失败,不是真模型。
3. 看工作流节点名称
工作流里如果节点叫:
Load Checkpoint:需要 checkpoints。Load LoRA:需要 loras。Load VAE:需要 vae。Load ControlNet Model:需要 controlnet。CLIP Vision Loader:需要 clip_vision。
节点名称就是最直接的提示。

这张图是模型目录映射标注图。你只要记住:Checkpoint、LoRA、VAE、ControlNet 都有固定目录,放错目录时页面下拉框就会空。
如果你只记一张规则,就记这个:所有模型都进 ComfyUI/models/,但 Checkpoint、LoRA、VAE、ControlNet 必须分别放进自己的子目录。
Windows 示例
假设你的 ComfyUI 在:
D:\AI\ComfyUI_windows_portable\ComfyUI\
那么模型应该这样放:
D:\AI\ComfyUI_windows_portable\ComfyUI\models\checkpoints\realisticVision.safetensors
D:\AI\ComfyUI_windows_portable\ComfyUI\models\loras\my-character-lora.safetensors
D:\AI\ComfyUI_windows_portable\ComfyUI\models\vae\vae-ft-mse.safetensors
D:\AI\ComfyUI_windows_portable\ComfyUI\models\controlnet\control_v11p_sd15_canny.pth
放完后点击网页里的 Refresh,或者重启 run_nvidia_gpu.bat。
Linux 示例
假设你的 ComfyUI 在:
/home/ubuntu/ai/ComfyUI/
模型路径就是:
/home/ubuntu/ai/ComfyUI/models/checkpoints/model.safetensors
/home/ubuntu/ai/ComfyUI/models/loras/style.safetensors
/home/ubuntu/ai/ComfyUI/models/vae/vae.safetensors
/home/ubuntu/ai/ComfyUI/models/controlnet/controlnet.safetensors
Linux 区分大小写。models/LoRAs、models/Loras、models/loras 是不同目录。建议完全使用 ComfyUI 默认的小写目录。
文件放好但下拉框没有怎么办
按顺序检查:
- 你是否放在了当前正在运行的 ComfyUI 目录里?很多人电脑里有两套 ComfyUI。
- 文件是否还在压缩包里?必须解压成真实文件。
- 文件扩展名是否被系统隐藏,比如实际叫
model.safetensors.txt。 - 页面是否刷新了模型列表?不行就重启 ComfyUI。
- 节点类型是否正确?LoRA 不会出现在 Load Checkpoint 里。
- 控制台是否有
invalid header、metadata、shape mismatch报错?
多套模型目录怎么管理
不建议新手一开始用符号链接、网络盘或共享目录。先用默认目录跑通。
进阶用户可以用 ComfyUI 的 extra_model_paths.yaml 指向统一模型库,但要注意:
- YAML 缩进必须正确。
- Windows 路径建议用
/或转义反斜杠。 - 改完要重启 ComfyUI。
- 共享目录权限不足会导致模型读取失败。
常见错误
LoRA 放进 checkpoints
结果:Load LoRA 找不到,Load Checkpoint 加载可能报错。
处理:移动到 models/loras。
ControlNet 只装节点没放模型
结果:节点存在,但模型下拉框为空。
处理:下载对应 SD1.5 或 SDXL 的 ControlNet 模型,放 models/controlnet。
下载了 Git LFS 指针文件
表现:文件只有几 KB,内容可能是:
version https://git-lfs.github.com/spec/v1
处理:从支持大文件下载的页面重新下载,不要右键保存网页。
验证是否成功
- Checkpoint 能在 Load Checkpoint 下拉框看到。
- LoRA 能在 Load LoRA 下拉框看到。
- VAE 能在 Load VAE 下拉框看到。
- ControlNet 模型能在对应 ControlNet 节点看到。
- Queue Prompt 时不再报
file not found或invalid header。