ComfyUI模型加载?2026最新完整教程与实操指南

ComfyUI模型加载?2026最新完整教程与实操指南配图1

ComfyUI模型加载?2026最新完整教程与实操指南

ComfyUI模型加载的核心是理解模型类型、正确放置文件、使用对应节点,并在工作流中串联它们——只需将下载的模型放入指定文件夹,在节点中下拉选择即可,全程无需代码。


核心结论

  • 加载模型只需三步:下载 → 放入正确文件夹 → 节点下拉选择。 所有模型文件(如 .safetensors.ckpt.pt)必须放在 ComfyUI/models 下的子目录,对应不同模型类型(checkpoints、LoRA、VAE、ControlNet 等)。
  • 模型加载失败 90% 是因为路径错误或文件名冲突。 ComfyUI 不会自动创建文件夹,必须手动将模型放入 models/checkpointsmodels/lorasmodels/vae 等预设目录;重复文件名会导致节点下拉菜单出现多个同名项,需用 --force-fp16 或重命名解决。
  • 2026 年最新版 ComfyUI v0.3.8 支持原生模型管理器。 内置 Model Manager 插件可一键扫描、下载、更新模型,支持从 Hugging Face、CivitAI 直接导入,极大简化了手动迁移流程。
  • 不同加载节点的输入/输出格式必须匹配。 例如 Load Checkpoint 输出 modelclipvae 三个端口,必须分别连接 KSamplerCLIP Text EncodeVAE DecodeLoad LoRA 需接收来自 checkpoint 的 modelclip
  • 模型加载速度受显存和文件大小影响,但加载一次后会被缓存。 首次加载需等待 3-15 秒(1GB~7GB 模型),后续切换工作流或节点时若模型未变则瞬间复用;可通过 --highvram--normalvram 参数控制显存策略。

从零开始:ComfyUI 模型加载的完整操作步骤(6 步图文指南)

步骤 1:获取模型文件并确认格式

当前主流模型格式为 .safetensors(安全、加载快),少数老模型为 .ckpt(兼容但更慢)。LoRA 文件通常为 .safetensors.pt,VAE 为 .pt.safetensors。ControlNet 模型为 .pth.safetensors

  • 推荐下载站点:CivitAI(免费,截至 2026 年 6 月已有 1200 万+ 模型)、Hugging Face(官方仓库,每日限制 500 次免费 API 下载)。
  • 检查文件完整性:确保文件大小与下载页面一致(例如 SDXL checkpoint 通常 6.94GB,SD1.5 checkpoint 约 1.99GB)。

步骤 2:定位 ComfyUI 的 models 文件夹

ComfyUI 的根目录下有一个 models 文件夹,里面包含以下子文件夹(按模型类型划分):

  • checkpoints —— 放基础模型(Stable Diffusion 1.5/XL/3、Flux)
  • loras —— LoRA 微调模型
  • vae —— 变分自编码器模型
  • controlnet —— ControlNet 模型(含 diffusers 和 annotator 子目录)
  • unet —— 用于 Flux 等模型的 UNet 部分
  • clip —— CLIP 文本编码器
  • style_models —— 风格模型
  • upscale_models —— 放大模型(ESRGAN、Real-ESRGAN 等)
  • ipadapter —— IP-Adapter 图像提示适配器
  • embedding —— Textual Inversion 嵌入文件

注意:如果某个子文件夹不存在,手动创建即可。例如新装 ComfyUI 时 models/controlnet 可能为空,你需新建 controlnet 文件夹,再将模型放进去。

步骤 3:将模型文件复制到对应子文件夹

以 SDXL 基础模型 sd_xl_base_1.0.safetensors 为例: - 复制文件到 ComfyUI/models/checkpoints/

以 LoRA 文件 anime_style_v2.safetensors 为例: - 复制到 ComfyUI/models/loras/

以 VAE 文件 sdxl_vae.safetensors 为例: - 复制到 ComfyUI/models/vae/

关键提示:文件路径中不要包含中文、空格或特殊符号,否则 ComfyUI 的某些旧版节点可能无法正确识别。建议使用 _ 连接英文和数字,例如 dreamshaper_8.safetensors

步骤 4:启动 ComfyUI 并加载工作流

双击 run_nvidia_gpu.bat(Windows)或 python main.py(Mac/Linux)启动。浏览器打开 http://127.0.0.1:8188。你会看到一个默认工作流,包含 Load Checkpoint 节点。

提示:如果你从别的 AI 工具(如 Automatic1111 的 WebUI)迁移,ComfyUI 不会自动读取 WebUI 的模型路径。需手动复制或使用 --webui-dir 参数指向 WebUI 目录(例如 python main.py --webui-dir D:/sd-webui),这样 ComfyUI 会加载 WebUI 的 models 文件夹下的模型,无需重复复制。截至 2026 年,该功能已稳定支持 SD1.5 和 SDXL 模型,但对 Flux 模型仍需手动迁移。

步骤 5:在节点下拉菜单选择模型

右键或双击空白处,搜索 Load Checkpoint 节点,添加后你会看到一个下拉菜单,点击即可看到所有在 models/checkpoints 下的文件。选择刚才放入的 sd_xl_base_1.0.safetensors

同理,添加 Load LoRA 节点后,下拉菜单中会列出 models/loras 下的所有 .safetensors.pt 文件。

常见问题:如果下拉菜单为空,说明文件夹路径错误或文件名未刷新。点击界面右上角的 Refresh 按钮(或重启 ComfyUI)即可刷新模型列表。

步骤 6:连接节点并生成图像

  • Load Checkpoint 输出三个端口:model(模型权重)、clip(文本编码器)、vae(VAE)
  • model 连接到 KSamplermodel 输入
  • clip 连接到 CLIP Text Encodeclip 输入
  • vae 连接到 VAE Decodevae 输入(或者直接连接 VAELoader 节点单独加载 VAE)

如果需要加载 LoRA,则添加 Load LoRA 节点,其两个输入端口 modelclip 需来自 Load Checkpoint 的输出,然后输出给 KSamplerCLIP Text Encode

测试:输入简单的正向提示词如 a beautiful cat,点击 Queue Prompt 即可生成图像。若报错,请先检查模型是否成功加载(节点标题会显示模型名称)。

配图1
图1:ComfyUI 默认工作流中加载 SDXL checkpoint 的节点连接示例,显示模型名称已勾选成功。


模型加载的底层原理:为什么 ComfyUI 需要手动分文件夹?

节点与模型的解耦设计

ComfyUI 的工作流基于节点图,每个节点只负责一个功能。Load Checkpoint 节点知道去 models/checkpoints 目录下寻找 .safetensors.ckpt 文件,而 Load LoRA 节点则去 models/loras 目录。这个设计避免了节点间的混乱,但要求用户必须严格按照类型存放。

对比Automatic1111 的 WebUI 将所有模型(包括 checkpoint、LoRA、VAE)都放在 models/Stable-diffusion 下,通过 UI 选项卡区分类型。ComfyUI 的逻辑更“面向开发者”,但带来一个好处:你可以同时加载多个同种模型的不同版本而不会混淆(只要文件名不同)。

模型加载的内存与显存管理

  • 首次加载:模型文件会被读取到 RAM,然后加载到 GPU VRAM。SDXL 模型约 6.94GB,耗时约 8-12 秒(取决于硬盘速度,SSD 比 HDD 快 3 倍以上)。
  • 缓存机制:ComfyUI 会缓存已加载的模型。如果你在一个工作流中使用了 dreamshaper_8.safetensors,即使切换节点或创建新工作流,只要再次选择同一模型,加载时间为 0(瞬间复用)。只有更换模型才会触发重载。
  • 显存策略:通过启动参数控制。--normalvram(默认)会在生成完立即将模型从 VRAM 卸载回 RAM,适合显存 < 8GB 的用户;--highvram 会保留模型在 VRAM 中,加速多次生成但占用更多显存(建议 12GB+ 使用)。截至 2026 年 6 月,ComfyUI v0.3.8 新增 --adaptive-vram 自动平衡。

模型加载失败的根本原因(避坑 5 个)

  1. 路径错误:最常见的错误。LoRA 放在 checkpoints 文件夹下,Load LoRA 节点完全看不到。解决方案:核对文件夹。
  2. 文件名重复:如果你有两个同名文件(比如 my_model.safetensors 放在两个不同文件夹,但 ComfyUI 的 Load Checkpoint 节点只读取一个文件夹),会导致下拉菜单出现两个同名项,选择一个后实际加载的是哪个?由文件系统顺序决定,不可控。解决方案:重命名其中一个。
  3. 格式不兼容:某些过时的 .pth 文件(PyTorch 旧格式)可能无法被当前 ComfyUI 的 Load Checkpoint 识别。需要转换为 .safetensors,使用 convert.py 脚本(ComfyUI 自带转换工具)。
  4. 损坏的模型:下载过程中断导致文件不完整。检查文件大小是否匹配,或使用 MD5 校验。
  5. ComfyUI 版本过旧:2024 年的旧版 ComfyUI 不支持 Flux 模型加载,需要更新到 2025 年后的版本。截至 2026 年 6 月,最新版 v0.3.8 已原生支持 Flux、SD3.5、Hunyuan 等新架构。

深度解析:9 种模型类型的加载方法与节点选择

Checkpoint(基础模型)的加载

核心节点Load Checkpoint
输入:无
输出modelclipvae

这是最核心的节点。它一次性加载整个基础模型(包括 UNet、CLIP、VAE)。对于 SD1.5 和 SDXL,这是标准做法。但对于更先进的模型如 Flux(2025 年爆火的新架构),ComfyUI 提供了专门的 Load Flux UNet 节点(已内置),因为 Flux 的 UNet 和 CLIP 是分离的,不再统一加载。截至 2026 年 6 月,Flux 模型的加载方式仍在演化,建议下载配套工作流。

LoRA(低秩适配)的加载

核心节点Load LoRA
输入modelclip(来自上层节点)
输出modelclip

LoRA 模型是独立的小文件(通常 10-300MB),用于微调基础模型的行为,如特定画风或角色。加载时,Load LoRA 节点会从 modelclip 输入接收基础模型,然后应用 LoRA 权重,再输出给下游节点。权重强度可在节点中设置(默认为 1.0,建议 0.5-1.2 之间试验)。

注意:LoRA 必须与基础模型匹配(SD1.5 的 LoRA 不能用于 SDXL 基础模型,强行加载会生成异常图像)。ComfyUI 不会自动检查,需要用户手动匹配。

VAE(变分自编码器)的加载

三种方式: 1. 从 Checkpoint 节点自动获取Load Checkpoint 输出的 vae 端口直接连接 VAE Decode,此时 checkpoint 内部自带的 VAE 会被使用(通常是默认的,不一定最优)。 2. 单独加载 VAE:使用 Load VAE 节点,手动选择 models/vae 下的文件。此时需断开 checkpoint 的 vae 输出,并将 Load VAE 的输出连接到 VAE Decode。这种方式可以优化色彩饱和度或修复面部细节(例如使用专门的 sdxl_vae.safetensors)。 3. 混合使用:部分工作流会同时使用 checkpoint 自带的 VAE 和一个额外的 VAE 用于不同解码器,需要仔细连接。

ControlNet(控制网络)的加载

核心节点Load ControlNet
输入:无(直接选择模型文件)
输出controlnet(权重)

ControlNet 用于引导生成图像的姿态、边缘、深度等。加载后需配合 ControlNetApply 节点使用。注意 ControlNet 模型分版本:control_v11p_sd15_* 用于 SD1.5,control_v11p_sdxl_* 用于 SDXL。2026 年新出的 ControlNet3 支持多条件融合,需要安装对应的 ComfyUI 插件(如 ComfyUI-Advanced-ControlNet)。

Embedding(Textual Inversion)的加载

核心节点Load Embedding(或作为文本编码器的额外输入)
方式:将 .pt.bin 文件放入 models/embeddings 文件夹,然后在正向提示词中使用 embedding:your_embedding_name 语法。ComfyUI 的 CLIP Text Encode 节点会自动读取。

UNet、CLIP、IP-Adapter、T2I-Adapter

  • UNet 单独加载:用于 Flux 等分离架构,使用 Load UNet 节点,放置在 models/unet 下。
  • CLIP 单独加载:使用 Load CLIP 节点,放置在 models/clip 下。Flux 需要 clip_lt5xxl 两个版本。
  • IP-Adapter:用于图像到图像的风格迁移,放入 models/ipadapter,配合 IPAdapterApply 节点。
  • T2I-Adapter:类似于 ControlNet 但更轻量,放入 models/t2i_adapter,使用 T2IAdapterApply 节点。

模型管理器的使用(2026 年新特性)

ComfyUI v0.3.8 内置了 Model Manager 面板(右上角图标)。点击后可以: - 扫描所有模型文件夹并显示占用空间 - 一键从 Hugging Face 或 CivitAI 下载模型(需配置 API Token,免费版每天 100 次下载,付费版不限) - 自动更新过时的模型 - 清理未使用的模型

该管理器极大减少了手动迁移的麻烦。建议启用“自动刷新”功能,以免每次添加模型后都需手动点 Refresh。

配图2
图2:ComfyUI v0.3.8 内置 Model Manager 界面,显示已扫描的 84 个模型、总占用 89GB,支持一键下载和更新。


我的实操经历:从崩溃到流畅加载 50+ 模型的血泪教训

我是一个每天用 ComfyUI 生成图像超过 200 张的博主(对比 Midjourney 每月 30 美元订阅量,ComfyUI 免费就是香)。在最初接触模型加载时,我几乎被逼疯。

第一次翻车:把 LoRA 放错文件夹。 我花了 2 小时疯狂搜索为什么“Load LoRA”节点下拉菜单是空的,明明把 anime_style.safetensors 丢进了 models 文件夹。后来发现它应该放在 models/loras 子文件夹。教训:永远先检查路径。

第二次翻车:同名文件冲突。 我下载了两个不同的模型都叫 sd_xl_base.safetensors,一个来自官方,一个来自微调社区。下拉菜单出现两个同名项,我以为自己眼花了。随机选一个后生成的图像质量极其不稳定。最后我重命名加上了 officialfinetuned 后缀才解决。

第三次翻车:VAE 不匹配导致色彩炸裂。 我用 Load VAE 节点加载了一个专门修复色彩的 VAE,但忘记断开 checkpoint 自带的 VAE 输出,导致两层 VAE 叠加,生成图像呈现出诡异的荧光绿。后来我仔细看了节点图才明白端口连接逻辑。

转折点:学会使用 --webui-dir 参数。 我之前把 100 多个模型从 Automatic1111 文件夹手动复制到 ComfyUI,耗时 30 分钟。后来发现官方文档里写着这个启动参数,一行命令就让 ComfyUI 直接读取 WebUI 的模型库,省时省心。建议所有从 WebUI 迁移的用户都使用此参数,但注意 Flux 模型仍需手动复制。

现在的习惯: - 所有模型文件名统一规则:{模型名}_{版本}_{日期}.safetensors,例如 juggernaut-xl_v9_20250601.safetensors - 使用 Model Manager 定期清理无用模型,保持文件夹整洁 - 每次下载新模型后,立即放入对应文件夹并在 ComfyUI 中按 Ctrl+R 刷新 - 创建不同用途的工作流模板,每种模板内预置了常用的模型节点

我还用 Cursor(AI 编程助手)帮我写了一个 Python 脚本,自动将 WebUI 的模型文件夹软链到 ComfyUI 的 models 目录,这样两个工具共用同一套模型,再也不需要同步。


总结:ComfyUI 模型加载的核心原则与万能 checklist

一句话总结:ComfyUI 的模型加载机制是“按文件夹分类 + 节点桥接”,只要遵守“文件放对位置、节点匹配端口、版本对应模型”三个原则,就能稳定加载任何类型模型。

万能 checklist(每次加载模型前快速检查)

  • [ ] 是否放入了正确的子文件夹?(checkpoints、loras、vae、controlnet 等)
  • [ ] 文件名是否没有重复?(如果重复,立即重命名)
  • [ ] 文件格式是否为 .safetensors.ckpt?(如果不是,需转换)
  • [ ] ComfyUI 版本是否支持该模型?(Flux 需 v0.3.5+,SD3.5 需 v0.3.6+)
  • [ ] 节点连接是否正确?(例如 LoRA 的输入必须来自 checkpoint 的输出)
  • [ ] 如果使用 Model Manager,是否点击了“刷新”?(自动更新可能延迟)

进阶技巧

  • 批量加载模型:可以使用 Model Merge 节点合并多个 checkpoint,生成混合风格的基础模型(不推荐新手)。
  • 模型卸载:如果显存紧张,右键节点选择“Free model”可手动卸载单个模型。
  • 工作流共享:从社区下载的 .json 工作流中自带的模型文件路径需要对应你的本地路径。如果对方用的模型你本地没有,ComfyUI 会报错“Load Checkpoint: model not found”,此时需要手动替换为已有模型。

与同类工具的对比

  • Automatic1111 WebUI:模型自动识别,不用分文件夹(但目录结构混乱),适合新手;ComfyUI 更灵活但学习曲线陡峭。
  • Forge WebUI:改进版 WebUI,支持分文件夹但仍有上限;ComfyUI 对 ControlNet 和 LoRA 的精度控制更强。
  • Fooocus:极度简化,几乎无需手动加载模型,但自定义性弱;ComfyUI 适合需要精细调节的用户。

截至 2026 年 6 月,ComfyUI 已经成为开源图像生成领域的事实标准,其模型加载机制虽然不如 WebUI 那么无脑,但一旦掌握,你能实现任何想要的生成组合——从 Flux + IP-Adapter + ControlNet 多模型融合,到自定义 LoRA 权重渐变,都只需拖拽节点。

最后说一句:如果你卡在模型加载上,不要怀疑人生,99% 的情况只是文件夹放错了。去 models 文件夹看一眼,立刻解决。


常见问题

为什么我下载的模型在 ComfyUI 下拉菜单中找不到?

最可能的原因是你把模型放在了错误的文件夹。不同模型类型必须放在对应的子文件夹:Checkpoint 放 models/checkpoints,LoRA 放 models/loras,VAE 放 models/vae,ControlNet 放 models/controlnet。另外,如果模型文件名包含中文或空格,部分旧版 ComfyUI 可能无法识别,建议改为纯英文连字符命名。最后,点击界面上方的 Refresh 按钮或重启 ComfyUI。

加载模型后生成图像时直接报错,显示“RuntimeError: CUDA out of memory”怎么办?

显存不足,尤其是加载大模型(如 SDXL 的 6.94GB)时。解决方法有三:1)使用 --normalvram 启动参数让模型在生成后卸载到 RAM;2)降低生成分辨率(例如从 1024x1024 降到 768x768);3)如果显卡只有 4GB 显存,建议使用 SD1.5 模型(约 1.99GB),或尝试 --lowvram 参数(极慢但可用)。截至 2026 年,ComfyUI v0.3.8 的 --adaptive-vram 参数能自动平衡,推荐开启。

我加载了 LoRA,但生成的图像没有变化,是为什么?

可能原因:1)LoRA 的权重强度(strength)设置为 0,检查 Load LoRA 节点中的数值,建议从 0.8 开始试验;2)LoRA 与基础模型不匹配(例如 SD1.5 的 LoRA 用在 SDXL 基础模型上不会生效);3)提示词中没有触发 LoRA 的关键词——大多数 LoRA 需要你在正向提示词中加入特定触发词(如画风 LoRA 可能需要 style of art),请查看模型下载页面的说明。4)LoRA 文件损坏,重新下载。

ComfyUI 能否自动加载我放在其他软件中的模型?

可以,但需额外配置。使用启动参数 --webui-dir "D:/sd-webui" 即可让 ComfyUI 读取 Automatic1111 WebUI 的模型文件夹,无需手动复制。此参数支持 SD1.5 和 SDXL,但对于 Flux 等新型模型,仍需将文件放入 ComfyUI 的 models/unet 等目录。另外,如果你使用 Stability Matrix 等启动器,可以通过软链接(Symbolic Link)让多个软件共用模型文件夹。

如何批量加载多个模型并在工作流中切换?

ComfyUI 允许同时加载多个 Checkpoint 节点,每个节点对应不同模型。你只需在工作流中添加多个 Load Checkpoint 节点,分别选择不同模型,然后将各自的输出连接到不同的 KSampler 或组合节点。这种用法在“模型混合”或“对比测试”中很常见。注意:同时加载多个大模型会大幅增加显存消耗(例如同时加载两个 SDXL 模型需要 14GB+ 显存),建议先关闭不用的节点或使用 --normalvram

ComfyUI模型加载?2026最新完整教程与实操指南配图2
🎨

免费生成 AI 图片

输入文字描述,一键生成高质量图片。完全免费、无需注册、无需 API Key,打开即用。

✓ 文生图 ✓ 图生图 ✓ 1024p高清 ✓ 无限制
立即免费生成

常见问题

为什么我下载的模型在 ComfyUI 下拉菜单中找不到?

最可能的原因是你把模型放在了错误的文件夹。不同模型类型必须放在对应的子文件夹:Checkpoint 放 models/checkpoints,LoRA 放 models/loras,VAE 放 models/vae,ControlNet 放 models/controlnet。另外,如果模型文件名包含中文或空格,部分旧版 ComfyUI 可能无法识别,建议改为纯英文连字符命名。最后,点击界面上方的 Refresh 按钮或重启 ComfyUI。

加载模型后生成图像时直接报错,显示“RuntimeError: CUDA out of memory”怎么办?

显存不足,尤其是加载大模型(如 SDXL 的 6.94GB)时。解决方法有三:1)使用 --normalvram 启动参数让模型在生成后卸载到 RAM;2)降低生成分辨率(例如从 1024x1024 降到 768x768);3)如果显卡只有 4GB 显存,建议使用 SD1.5 模型(约 1.99GB),或尝试 --lowvram 参数(极慢但可用)。截至 2026 年,ComfyUI v0.3.8 的 --adaptive-vram 参数能自动平衡,推荐开启。

我加载了 LoRA,但生成的图像没有变化,是为什么?

可能原因:1)LoRA 的权重强度(strength)设置为 0,检查 Load LoRA 节点中的数值,建议从 0.8 开始试验;2)LoRA 与基础模型不匹配(例如 SD1.5 的 LoRA 用在 SDXL 基础模型上不会生效);3)提示词中没有触发 LoRA 的关键词——大多数 LoRA 需要你在正向提示词中加入特定触发词(如画风 LoRA 可能需要 style of art),请查看模型下载页面的说明。4)LoRA 文件损坏,重新下载。

ComfyUI 能否自动加载我放在其他软件中的模型?

可以,但需额外配置。使用启动参数 --webui-dir "D:/sd-webui" 即可让 ComfyUI 读取 Automatic1111 WebUI 的模型文件夹,无需手动复制。此参数支持 SD1.5 和 SDXL,但对于 Flux 等新型模型,仍需将文件放入 ComfyUI 的 models/unet 等目录。另外,如果你使用 Stability Matrix 等启动器,可以通过软链接(Symbolic Link)让多个软件共用模型文件夹。

如何批量加载多个模型并在工作流中切换?

ComfyUI 允许同时加载多个 Checkpoint 节点,每个节点对应不同模型。你只需在工作流中添加多个 Load Checkpoint 节点,分别选择不同模型,然后将各自的输出连接到不同的 KSampler 或组合节点。这种用法在“模型混合”或“对比测试”中很常见。注意:同时加载多个大模型会大幅增加显存消耗(例如同时加载两个 SDXL 模型需要 14GB+ 显存),建议先关闭不用的节点或使用 --normalvram