ComfyUI 使用 ControlNet 报错 model not found 路径配置如何排查

文章导读
ComfyUI 报 ControlNet model not found 通常是因为模型文件未放入正确的 models/controlnet 目录或 extra_model_paths.yaml 配置路径无效。优先检查默认文件夹是否存在对应 .safetensors 文件,再确认配置文件是否重启生效。
📋 目录
  1. 快速处理思路
  2. 为什么会这样
  3. 分步处理
  4. 怎么验证是否生效
  5. 常见坑
  6. 常见问题
A A

ComfyUI 报 ControlNet model not found 通常是因为模型文件未放入正确的 models/controlnet 目录或 extra_model_paths.yaml 配置路径无效。优先检查默认文件夹是否存在对应 .safetensors 文件,再确认配置文件是否重启生效。

先说结论:路径配置错误或模型文件缺失是导致 ControlNet 模型加载失败的主要原因。

  • 先确认:模型文件是否位于 ComfyUI/models/controlnet 目录。
  • 先处理:检查 extra_model_paths.yaml 中的 controlnet 路径配置是否缩进正确。
  • 再验证:重启 ComfyUI 后在控制台日志查看模型加载列表。

快速处理思路

将下载的 ControlNet 模型文件直接移动到 ComfyUI 根目录下的 models/controlnet 文件夹。如果使用了多路径配置,确保 extra_model_paths.yaml 文件中 controlnet 字段指向的绝对路径正确且包含该文件。不要依赖相对路径,建议使用绝对路径减少歧义。

为什么会这样

ComfyUI 启动时扫描特定目录构建模型列表,路径不对则索引不到。节点加载器仅在预定义的搜索路径中查找文件,不会递归扫描整个硬盘。如果模型放在未注册的文件夹,加载器无法识别文件位置,从而报 model not found。

ComfyUI 使用 ControlNet 报错 model not found 路径配置如何排查

分步处理

1. 检查默认路径:打开 ComfyUI 安装目录,进入 models/controlnet 文件夹,确认目标 .safetensors 文件是否存在。
2. 检查配置文件:打开 ComfyUI 根目录下的 extra_model_paths.yaml 文件,查找 controlnet 字段,确认路径指向正确且无拼写错误。
3. 检查文件完整性:确认模型文件未损坏,文件大小与下载源一致,避免下载中断导致文件不可读。
4. 重启服务:修改配置文件或移动文件后,必须完全关闭并重新启动 ComfyUI 进程以刷新模型索引。

怎么验证是否生效

启动 ComfyUI 后观察命令行控制台日志,搜索 controlnet 关键词。如果配置生效,日志会显示加载的模型名称列表。在工作流中加载 ControlNet Loader 节点,下拉菜单中应能看到新放入的模型名称。如果日志报错或菜单为空,说明路径仍未被识别。

常见坑

1. 符号链接权限:在 Linux 或 Mac 上使用软链接共享模型时,确保 ComfyUI 进程有权限读取链接目标文件夹。
2. 模型版本混用:SD1.5 的 ControlNet 模型不能用于 SDXL 底模,反之亦然,即使路径正确也会因结构不匹配报错。
3. 配置文件缩进:extra_model_paths.yaml 是 YAML 格式,缩进错误会导致配置不生效,建议使用在线 YAML 校验工具检查格式。

ComfyUI 使用 ControlNet 报错 model not found 路径配置如何排查

常见问题

可以和 Stable Diffusion WebUI 共用模型吗

可以,需要配置 extra_model_paths.yaml。在配置文件中添加 WebUI 的模型路径到 controlnet 列表,确保路径绝对地址正确。

修改配置后需要重启 ComfyUI 吗

需要,修改配置后必须重启。ComfyUI 仅在启动阶段读取模型路径配置,运行中修改不会自动刷新索引。

模型文件放在子文件夹可以吗

不建议,模型文件应直接放在 controlnet 目录下。部分加载器不支持递归扫描子文件夹,放在子目录可能导致无法识别。