如何修复 ComfyUI 找不到模型文件的问题
修复 ComfyUI 找不到模型、检查点、LoRA、VAE、ControlNet 或 safetensors 文件的问题:模型没下载、放错文件夹,或模型路径没有配置好。
当你运行 ComfyUI 工作流时,如果看到红色节点、模型下拉列表为空,或者提示 "Model not found" / "Checkpoint not found",意思是:ComfyUI 看不到这个工作流要用的模型文件。
这几乎不是文件损坏的问题。大多数情况只是模型还没下载、放错文件夹,或者你把文件放进了另一个 ComfyUI 安装目录。
先按你现在看到的现象选一种情况。
你现在是哪种情况?
场景 A:运行时提示模型缺失,或模型下拉列表是空的
你导入了别人分享的工作流,点击 Queue Prompt 后看到 X required models are missing、Checkpoint not found,或者加载器的模型下拉列表里没有可选项。
╭─────────────────────────╮
│ 🔴 Load Checkpoint │
├─────────────────────────┤
│ ckpt_name │
│ ╭─────────────────────╮ │
│ │ [Empty / None] ▼ │ │
│ ╰─────────────────────╯ │
╰─────────────────────────╯👉 可能原因:你根本没有下载这个模型,或者下载了但没有放进 ComfyUI 会扫描的文件夹。 🔗 跳到解法:下载并放入正确的文件夹
场景 B:你确定下载过这个模型,但 ComfyUI 还是找不到
你能在电脑里看到这个文件,但 ComfyUI 的节点下拉列表里没有它,或者运行时还是报找不到。
👉 可能原因:文件放错了模型子文件夹、放在另一个硬盘但没有配置 extra_model_paths.yaml,或者你放进了另一个 ComfyUI 安装目录。
🔗 跳到解法:检查文件夹位置与路径配置
场景 C:文件夹里能看到模型,但工作流还是失败
你打开了正确的文件夹,模型文件确实在里面,但 ComfyUI 报错 Value not in list: ckpt_name: 'xxx.safetensors' not in []。
👉 可能原因:工作流里保存的文件名和你本地文件名不一致、文件下载不完整,或者加载器需要的是另一个模型类型。 🔗 跳到解法:检查文件名匹配与文件完整性
不确定自己是不是模型问题?先看这里
先对照这张表,避免修错方向。
| 你看到的现象 | 实际含义 | 应该去哪里 |
|---|---|---|
Value not in list: ckpt_name: '...' not in [] | 加载器存在,但选中的模型文件不可见 | 就是本文,继续往下看 |
| 报错里出现 LoRA、VAE、CLIP、ControlNet、IPAdapter、checkpoint 或 safetensors 文件名 | 工作流正在请求某个模型资源 | 就是本文,继续往下看 |
红色节点提示 Unknown class_type 或 class_type not found | 节点本身没安装,不是模型文件问题 | 工作流缺失节点 |
启动日志里出现 IMPORT FAILED 或 No module named ... | 插件后端没有导入成功 | 插件导入失败 或 No module named 错误 |
| 文件夹里能看到模型,但下拉列表里看不到 | ComfyUI 可能正在扫描另一个模型文件夹 | 模型路径未检测到 |
ComfyUI 的验证错误通常长这样:
Prompt outputs failed validation:
CheckpointLoaderSimple:
- Value not in list: ckpt_name: 'model-name.safetensors' not in []场景 A:下载并放入正确的文件夹
别人分享的工作流通常不会自带模型文件。你需要先拿到对应的模型文件,再把它放到加载器会读取的位置。
Wonderful Launcher 快速方案
如果缺失的模型在 Wonderful Launcher 的模型库里,可以直接在 Launcher 里搜索并下载。Launcher 会把模型库下载的文件保存到匹配的 ComfyUI 模型文件夹里,减少你手动猜文件夹的时间。
私有模型、改过名的文件,或者模型库里没有的文件,仍然可能需要下面的手动检查。
手动步骤:
- 先确定缺哪个文件:看红色节点、验证错误,或者缺失模型通知里的文件名。例如
v1-5-pruned-emaonly.safetensors。 - 下载那个精确文件:常见来源是 Hugging Face 或 Civitai。如果工作流作者写了具体模型名,优先找同名文件。
- 放进对应的子文件夹:这一步最容易错。
常见的 ComfyUI 模型文件夹:
ComfyUI/
└── models/
├── checkpoints/ ← SD 1.5 / SDXL 检查点
├── loras/ ← LoRA 文件
├── vae/ ← VAE 文件
├── clip/ ← 部分加载器使用的 CLIP 文件
├── text_encoders/ ← 新工作流常用的文本编码器
├── controlnet/ ← ControlNet 模型
├── upscale_models/ ← ESRGAN 等放大模型
├── embeddings/ ← Textual Inversion 嵌入
├── clip_vision/ ← IP-Adapter 用的 CLIP Vision
├── ipadapter/ ← IP-Adapter 模型
├── diffusion_models/ ← 独立 diffusion / UNet 模型
├── unet/ ← 旧版或自定义节点使用的 UNet 目录
└── sams/ ← Segment Anything 模型快速判断
先看节点名。Load LoRA 通常读 models/loras/;Load Checkpoint 通常读 models/checkpoints/;ControlNet 加载器通常读 models/controlnet/。
- 刷新 ComfyUI:如果界面有模型刷新按钮,点一下;否则完全重启 ComfyUI,让它重新扫描文件夹。
你也可以用 PowerShell 检查某个目录:
dir ComfyUI\models\checkpoints\把 checkpoints 换成当前加载器对应的子文件夹。
场景 B:检查文件夹位置与路径配置
如果你确定模型已经在电脑里,先做简单检查,再考虑改配置。
Wonderful Launcher 本地文件拖拽方案
如果同时满足下面两个条件,Wonderful Launcher 通常可以帮你把文件归位:
- 当前工作流已经显示缺失模型通知。
- 你手里的本地文件名,和工作流缺失的文件名完全一致。
把下载好的模型文件拖到 Launcher 顶部通知条里的虚线区域。Launcher 会根据缺失模型信息规划目标文件夹。如果匹配不明确、路径不安全或找不到对应关系,它不会偷偷乱放。
手动检查:
第一步:确认模型在正确的子文件夹
最常见的错误是把 LoRA 放进 checkpoints/,或者把检查点放进 loras/。
✗ 错误:
ComfyUI/models/checkpoints/my_lora.safetensors
✓ 正确:
ComfyUI/models/loras/my_lora.safetensors对照场景 A 的文件夹表,把文件类型和加载器匹配起来。
第二步:确认你放进的是正在运行的 ComfyUI
如果你有多个 ComfyUI,比如便携版、Git 安装版、Launcher 管理的版本,或者其他整合包,先确认当前运行的是哪一个。
一个简单线索是看 ComfyUI 启动时控制台里显示的路径。先确认路径,再移动文件。
第三步:模型在其他硬盘?配置外部路径
只有当模型放在 ComfyUI 目录外面,比如 D:/AI/models/,才需要做这一步。
- 在 ComfyUI 根目录找到
extra_model_paths.yaml.example。 - 复制或重命名为
extra_model_paths.yaml。 - 修改路径,例如:
my_models:
base_path: D:/AI/models/
checkpoints: checkpoints/
loras: loras/
vae: vae/
controlnet: controlnet/- 保存文件,并完全重启 ComfyUI。
如果你用自定义配置路径启动 ComfyUI,要确认当前进程加载的是同一个配置文件。较新的 ComfyUI 也支持 --extra-model-paths-config 来加载一个或多个额外模型路径文件,但大多数用户先从 ComfyUI 文件夹里的 extra_model_paths.yaml 开始就够了。
场景 C:检查文件名匹配与文件完整性
如果模型在正确文件夹里,但工作流仍然失败,重点看这两件事。
1. 文件名和工作流保存的不一致
工作流里保存的是原作者当时选择的模型名。比如它要的是 sdxl_base_1.0.safetensors,但你本地文件叫 sdxl_base.safetensors,ComfyUI 会把它们当成两个不同选择。
╭─────────────────────────╮
│ 🔴 Load Checkpoint │
├─────────────────────────┤
│ ckpt_name │
│ ╭─────────────────────╮ │
│ │ sdxl_base_1.0... ▼ │ │ ← 缺的就是这个精确名字
│ ╰─────────────────────╯ │
╰─────────────────────────╯解法:打开节点的模型下拉列表,重新选中你本地实际存在的文件名。重命名文件有时也能用,但直接在节点里选择本地文件通常更稳。
2. 模型没有下载完整
模型文件很大。浏览器下载失败、代理中断,都可能留下一个很小的残缺文件。
如果一个本来应该几 GB 的模型,在你电脑上只有几 KB 或几百 MB,删掉它重新下载。不要把 Windows 的 .lnk 快捷方式当作模型文件;ComfyUI 需要真实模型文件,或者正确配置好的模型路径。
不要用 pip install 修这个问题
模型找不到,通常不是 Python 包缺失。如果问题是 .safetensors、.ckpt、.gguf、.pt、.pth、.bin 或 .onnx 文件缺失/放错位置,pip install 完全是错方向。
修好了?先确认这几件事
移动、下载或配置模型之后,先别急着收工:
- 刷新或重启 ComfyUI,让它重新扫描模型文件夹。
- 重新排队工作流,看原来的红色节点是否消失。
- 继续看下一个缺失模型。一个工作流可能缺好几个文件,修完第一个冒出第二个很正常。
- 确认模型类型匹配。如果文件出现在下拉列表里但运行仍失败,工作流可能需要另一个 checkpoint、LoRA、VAE、ControlNet、diffusion model、text encoder 或 GGUF 文件。
下次不想再手动找文件夹?
如果你经常导入工作流,然后花时间找模型、匹配目录、修外部路径,可以试试 下载 Wonderful Launcher。它不能让所有私有模型凭空出现,但对支持的工作流和模型来源,可以少掉很多手动猜路径的步骤。
相关阅读
来源参考
先按上面的步驟定位根因。还卡住时,可以下载 Wonderful Launcher 检查目前机器;启动器原生修复、任务日誌和執行階段检查会集中在一起。credits 只用於图片生成和按量工具。
下载 Wonderful Launcher查看 credits 方案这篇文件解決了你的問题嗎?
你的回饋会帮助我们優先補強真實 ComfyUI 排障文件。