很多新手接触 ComfyUI 工作流搭建时,最先感受到的不是“强大”,而是“乱”。打开一张下载好的工作流截图,满屏节点和连线,再遇到红色报错,第一反应就是想关掉。实际上 ComfyUI 的学习路径并不复杂,核心就是把生成图的过程拆成了可拼接的节点。你只需要掌握一套主线:装好整合包、启动默认界面、搭一条基础文生图流程、解决节点缺失、学会批量复用。我自己刚入门时也踩过不少坑,这篇文章就按这个顺序,把新手需要的部分拆开讲清楚。
1. 学 ComfyUI 之前,先把“节点式工作流”是怎么回事搞清楚
1.1 ComfyUI 和传统 Stable Diffusion 界面的核心差别
很多人第一次接触 ComfyUI,是被“节点”两个字劝退的。相比之下,传统 WebUI 界面已经把流程固定好了:输入提示词、设置参数、点击生成。所有步骤都在一个页面里完成,简单直接,但代价是灵活性有限。
ComfyUI 把生成流程拆成一个个功能节点,比如“加载模型”“写提示词”“设置图片尺寸”“采样器”“图片解码”“保存图片”。你需要自己把节点连接起来,数据从左边进、右边出,最终形成一条完整流程。这种模式的好处有三个:
- 流程完全可视化,每一步都能单独替换。
- 同一个工作流可以复制、修改、套用到不同任务。
- 复杂任务更容易拆分,例如先用一个模型构图,再用另一个模型重绘。
缺点是学习成本比 WebUI 高一点。但只要先跑通一条最简单的工作流,后面看到复杂工作流时,你会发现大部分节点都是在这条主线上扩展出来的。
1.2 一套工作流到底由哪些部分组成
如果只看最基础的文生图,一条 ComfyUI 工作流通常包含这几个关键节点:
Load Checkpoint(加载大模型) → CLIP Text Encode(正向提示词) → CLIP Text Encode(负向提示词) → Empty Latent Image(设置宽高和批量数) → KSampler(采样器) → VAEDecode(VAE 解码) → Save Image(保存图片)很多初学者第一次看到“Latent”这个词会懵。你可以先把它理解为“生成过程中的中间表示”,它还没有被解码成正常图片。要生成最终图像,必须通过 VAEDecode 这个节点把 Latent 数据还原成像素图。
这条主线看起来节点多,但逻辑很清楚:大模型负责提供生成能力,提示词负责描述内容,采样器负责实际“画”的过程,VAE 解码负责把结果可视化。先理解这条链,后面再看 ControlNet、LoRA、局部重绘等工作流,都会更顺。
1.3 为什么新手要从“能跑通”而不是“搞懂所有节点”开始
我见过不少新手,下载一个复杂工作流后,花大量时间研究每一个节点,结果越看越累,最后放弃了。更合理的顺序是:
- 先用整合包启动 ComfyUI。
- 把默认工作流或一条最简单的文生图工作流跑通。
- 得到第一张图片之后,再逐步替换模型、调整参数、加插件。
- 等基础链路熟悉了,再看别人分享的复杂工作流。
这条路径的核心是:先建立一个完整的“成功经验”,再扩展。否则你很难判断报错是模型问题、路径问题、插件问题,还是参数问题。
2. 安装方式怎么选:整合包、手动部署、远程环境
2.1 整合包适合什么人,为什么不建议一上来就纠结最新版
ComfyUI 的安装方式主要有三种:社区整合包、手动部署、远程环境。
如果你是 Windows 用户,以前没系统学过 Python 环境配置、依赖安装、CUDA 版本管理,那社区整合包是最快的起步方式。常见的“一键整合包”“秋叶整合包”这类包,通常已经内置了 Python 运行时、ComfyUI 主程序、常用插件和部分基础模型。解压之后,点启动脚本就能进入界面。
需要提醒的是,标题里写“2026最新”“最新版”这类信息,看看就好。整合包的价值不在于版本号多新,而在于内置依赖是否完整、启动脚本是否稳定、模型目录是否清晰。新版功能确实多,但自定义插件可能还没兼容,反而容易出现节点加载失败。
2.2 整合包安装后的目录结构
装好整合包后,先花几分钟认识目录结构,后面排错会快很多。一般会是这样的结构:
ComfyUI/ ├─ main.py ├─ models/ │ ├─ checkpoints/ # 大模型文件 │ ├─ loras/ # LoRA 模型 │ ├─ vae/ # VAE 模型 │ ├─ controlnet/ # ControlNet 模型 │ └─ ... ├─ custom_nodes/ # 自定义节点/插件 ├─ input/ # 输入图片 ├─ output/ # 输出图片 └─ ...不同整合包可能在目录命名上略有差异,但主流结构基本一致。你下载的模型文件,需要按类型放进 models 下的对应子目录。如果放错位置,即使在界面里下载了模型,节点下拉框也可能看不到。
2.3 启动前要确认的三件事:显卡驱动、磁盘空间、Python 环境
第一次启动前,不要急着双击脚本,先确认三件事:
- 显卡驱动是否正常识别。NVIDIA 显卡可以在系统设备管理器里查看,或通过显卡控制面板确认驱动已安装。
- 磁盘空间是否够用。ComfyUI 主程序不大,但模型文件动辄几个 GB,如果机械硬盘或剩余空间不足,启动和生成都会变慢,甚至中断。
- 整合包自带 Python 环境是否被占用。不需要你额外安装 Python,但如果你系统里装了多个 Python,注意启动脚本是否被系统环境干扰。
低显存机器也能用 ComfyUI,只是要注意控制分辨率和批量数。一般常见环境下,4GB 到 8GB 显存可以跑常规大小的图片生成,但不要一开始就开高分辨率、大批量数。
注意:如果启动时提示缺少某些依赖,不要随便用系统命令行安装。整合包有自己独立的 Python 环境,必须先确认你在哪个环境里执行命令。
3. 第一次启动:界面认识与最基础的文生图工作流
3.1 默认工作流长什么样
启动 ComfyUI 后,浏览器会自动打开一个本地页面。第一次进入时,画布上通常已经加载了默认工作流,可能是一条简单的文生图流程,也可能是几张已经提前布好的节点图。
界面核心区域:
- 节点画布:所有节点都在这里,可以拖动、缩放、连线。
- 右键菜单:在画布空白处点右键,可以新增节点。
- 队列按钮:一般叫 Queue Prompt,点击后开始执行工作流。
- 控制台窗口:显示执行日志、进度条和报错信息。
先做一次最小验证:在 Load Checkpoint 节点里选一个已经存在的大模型,在两个 CLIP Text Encode 节点里分别填写正向提示词和负向提示词,然后点击 Queue Prompt。如果一切正常,你会在 Save Image 节点看到生成结果,同时 output 目录里多了一张图片。
这一步看起来简单,但非常关键。它能确认你的整合包环境、模型路径、采样链路都是通的。
3.2 从空白画布自己搭一条文生图工作流
如果你打开的是一个空画布,可以按下面的方式从零搭一条工作流。右键新增节点,依次加入:
- Load Checkpoint:选择大模型。
- CLIP Text Encode(正向)和 CLIP Text Encode(负向):分别写提示词。
- Empty Latent Image:设置宽、高和批量数。
- KSampler:设置种子、步数、CFG 等参数。
- VAEDecode:把潜在表示解码成图片。
- Save Image:保存结果。
节点之间的连接方式,先记住最基础的对应关系:
- Load Checkpoint 的 MODEL 输出连接 KSampler 的 model 输入。
- Load Checkpoint 的 CLIP 输出连接两个 CLIP Text Encode 节点的 clip 输入。
- Load Checkpoint 的 VAE 输出连接 VAEDecode 的 vae 输入。
- 正向提示词节点输出连接 KSampler 的 positive。
- 负向提示词节点输出连接 KSampler 的 negative。
- Empty Latent Image 的 LATENT 输出连接 KSampler 的 latent_image。
- KSampler 的 LATENT 输出连接 VAEDecode 的 samples。
- VAEDecode 的 IMAGE 输出连接 Save Image 的 images。
连接好之后,点击 Queue Prompt。生成成功后,Save Image 节点会显示图片预览,output 目录里也会出现对应文件。
3.3 成功和失败的判断标准
成功有几个明确特征:
- 控制台没有报错,进度条正常推进。
- Save Image 节点出现图片预览。
- output 目录出现新的图片文件。
失败时,不同情况表现不一样:
- 完全没有输出:先看控制台有没有报错,再看是不是模型没有加载成功。
- 输出全黑或全绿:通常和 VAE 解码、模型加载有关,也可能是采样步数、CFG 参数异常。
- 进度条卡住不动:优先看资源占用,可能是显存溢出或磁盘写入卡住。
不要只盯着画布看,控制台日志才是第一手信息。任何报错信息里,往往直接写着问题出在哪一个环节。
4. 别再看到红色节点就慌:节点缺失和依赖缺失处理
4.1 “请安装缺失的包以使用此工作流”到底在说什么
新手最容易遇到的一个场景,是从网上下载了一个别人分享的工作流,打开后画布上出现红色、粉色或灰色节点,顶部有类似“missing”的提示,并伴随一句“请安装缺失的包以使用此工作流”。
这句话看起来像是在说 Python 依赖包,实际上很多时候指的是自定义节点。ComfyUI 默认只内置基础节点,但很多工作流会用额外的插件节点,比如 ControlNet 预处理器、遮罩处理、动态提示词等。你本地没有这些插件,ComfyUI 就无法识别对应的节点类型。
遇到这种情况,先别急着删节点。看提示里具体缺少哪个节点名称,然后判断它属于哪个插件项目,再决定安装方式。
4.2 使用 ComfyUI Manager 管理自定义节点
处理缺节点最方便的方式是安装 ComfyUI Manager 插件。它可以扫描当前工作流里缺失的节点,并尝试检索对应的自定义节点仓库。
安装方式通常有两种:
- 在 custom_nodes 目录下,通过 Git 拉取 Manager 仓库。
- 下载整合包时,如果内置了 Manager,直接使用。
打开 Manager 后,常见的操作路径是:找到 “Install Missing Custom Nodes” 这类选项,它会列出当前工作流缺失的节点,并尝试匹配可安装的插件。安装完成后需要重启 ComfyUI,让插件加载。
不过 Manager 不是万能的。有些工作流来自比较偏门或停止维护的插件,自动检索不到,这时就需要手动安装。
4.3 手动安装依赖和 Python 包的正确姿势
手动安装分两种情况。
一种是安装自定义节点本身。大多数自定义节点项目会以 Git 仓库形式发布,安装到 custom_nodes 目录下,然后重启 ComfyUI。例如:
cd custom_nodes git clone https://example.com/your-custom-node-repo.git另一种是安装插件所需的 Python 依赖。这类插件通常带有 requirements.txt。安装时要注意,必须使用整合包自带的 Python 环境,而不是系统里其他 Python。
常见的命令类似这样:
cd ComfyUI python.exe -m pip install -r custom_nodes/插件目录/requirements.txt重点是“在整合包对应终端里执行”。如果直接在系统命令行里安装,装上也不会被整合包使用,重启后仍然提示缺失。
注意:安装依赖后,通常要重启 ComfyUI 才能生效。如果重启后仍报错,再检查依赖名称和版本要求,不要反复重装同一个包,先看日志里到底缺什么。
5. 模型、路径和提示词,决定出图质量的三件事
5.1 模型文件放哪里:checkpoints、LoRA、VAE、ControlNet
很多生成结果不理想,不是参数问题,而是模型没选对或放错位置。ComfyUI 的模型路径相对固定,常见对应关系如下:
| 模型类型 | 放置目录 | 常见文件后缀 |
|---|---|---|
| 大模型 | models/checkpoints | .safetensors, .ckpt |
| LoRA | models/loras | .safetensors |
| VAE | models/vae | .safetensors |
| ControlNet | models/controlnet | .safetensors |
| 文本编码器等 | models/text_encoders 或对应子目录 | .safetensors |
在节点下拉框里看不到刚放入的模型,先点节点上的刷新按钮,或重启 ComfyUI,再回来确认。不要反复重新下载模型,很多时候只是目录没刷新。
另外,LoRA 不是单独使用的,它要搭配大模型一起用。基础逻辑是:先加载一个 checkpoint,再通过 LoraLoader 节点额外叠加 LoRA 权重,从而影响出图风格、人物特征或画风。
5.2 提示词节点:正向、负向两种都要写
ComfyUI 里至少有两个提示词节点:一个连接正向,一个连接负向。新手容易只写正向,负向留空,然后发现出图质量不稳定。
正向提示词主要写清楚三部分内容:
- 主体内容:例如 a girl, a cat, a landscape。
- 细节和氛围:例如 golden hour, cinematic lighting, high detail。
- 画风或质量词:例如 masterpiece, best quality, sharp focus。
负向提示词可以写你不希望出现的东西,常见的有 low quality, blurry, distorted, watermark 等。
提示词不是越长越好。如果描述过于拥挤,生成结果可能混乱。建议先写主体,再逐步放大模型细节,而不是一开始就堆几十个词。
5.3 采样器参数:步数、CFG、种子、调度器
KSampler 节点里的参数,是出图稳定性最重要的控制项。下面表格里的取值是常见范围,实际要根据模型和任务调整:
| 参数 | 常见范围 | 影响 |
|---|---|---|
| steps | 20 - 30 | 步数越多,细节通常越丰富,但超过一定值后收益下降 |
| cfg | 4 - 9 | 控制提示词与生成的吻合度,太高容易过饱和 |
| seed | 任意整数 | 固定种子后,相同参数下结果可复现 |
| sampler_name | euler, dpmpp_2m 等 | 不同采样算法,速度和细节会有差异 |
| scheduler | normal, karras 等 | 步长调度方式,影响采样的稳定感 |
我一般会先用默认参数跑一张,比如 steps 20、cfg 7。如果画面偏糊,优先增加 steps;如果提示词跟结果偏离太大,再小心调整 cfg。不要一上来就把 cfg 拉到 15,很多新手把图片颜色失真误以为是模型问题,实际是参数过激。
种子这个参数很实用。调参时固定种子,你能更清楚地看到“这次改动到底影响什么”。满意之后想继续生成不同变化,再把种子改掉或设为随机。
6. 批量出图与工作流复用:从能跑变成好用
6.1 批量数量、队列和输出命名
单张图能正常输出后,下一步通常是批量生成。ComfyUI 支持两种常见批量方式:
- 在 Empty Latent Image 节点里调大 batch_size,一次生成多张。
- 多次点击 Queue Prompt,把任务排进队列。
两者区别是:batch_size 会一次占用更多显存,提示词完全相同,适合做批量固定变体;队列方式则更灵活,可以在不同工作流之间切换排队。
低显存机器不要一开始就开大 batch_size。先让单张任务稳定,再开 2 或 4。如果看到类似显存不足、进程被杀死这类提示,优先降低 batch_size,而不是改采样器参数。
批量任务还要注意输出文件名。默认输出命名是按时间戳生成的,做了大量测试后,你会发现找图很费劲。建议在 Save Image 节点里配置文件名前缀,或在 workflow 里加一个动态文件名节点,把提示词、参数、种子信息写到文件名里。
6.2 工作流怎么保存、加载和分享
ComfyUI 工作流可以导出为 JSON 文件,也可以通过“图片内嵌”方式保存。把一张工作流图片拖回画布时,ComfyUI 会尝试恢复图片里携带的工作流信息。这个功能很实用,但它依赖一个前提:对方本地已经装了所有需要的自定义节点。
分享工作流时,不要只发一张图片。建议同时说明:
- 需要哪些大模型、LoRA、VAE 模型。
- 需要哪些自定义节点插件。
- 推荐的分辨率和参数范围。
收到别人工作流后发现缺节点,不要直接怀疑工作流有问题。先用 Manager 或手动补依赖,再按顺序检查模型路径。
6.3 批量任务卡住,先按这个顺序排查
批量任务跑多了,难免遇到卡住或中断。我常用的排查顺序是:
- 看控制台最后几行日志,定位是哪个节点报错。
- 看输出目录,确认是没开始生成,还是生成了但文件损坏。
- 看输入格式,比如批量图导入任务,确认图片路径、编码、尺寸是否符合节点要求。
- 看资源占用:显存是否被打满,内存是否接近上限,磁盘剩余空间是否不足。
- 看自定义节点:如果只是某批任务卡住,可能是某个插件节点对特殊输入不兼容,先绕开它测试。
注意:批量任务最重要的是失败可重试,而不是一次成功。如果跑了几十张后中断,检查已生成部分是否完整,再考虑断点续跑或调整批量大小。
7. 新手最容易踩的五个坑,以及我常用的排查顺序
7.1 五个高频问题
启动闪退,或者界面能打开但运行时报找不到环境。常见原因是整合包路径里有中文或特殊字符,导致某些 Python 包路径解析失败。建议把整合包放在一个纯英文目录下,例如 D:\ComfyUI。
模型加载后,节点下拉框里看不到。先按刷新按钮,再重启,最后确认文件是否放在正确的 models 子目录。
加载别人工作流后,出现大量缺失节点。先安装 ComfyUI Manager,再尝试自动匹配安装缺失的自定义节点,最后手动补剩余依赖。
生成过程中显存溢出。优先降低 batch_size、分辨率、steps,而不是直接加硬件。很多流程在低显存下通过减小参数也能跑通。
图片输出异常,比如全黑、全绿、彩色噪点。先检查 VAE 是否加载正确,再看采样器和 CFG 是否设置过激,然后换一张模型做交叉验证。
7.2 通用排查顺序
遇到 ComfyUI 问题,最忌讳的是凭感觉乱试。我推荐按这个顺序走:
- 现象判断:是启动失败、运行报错、无输出、输出异常,还是速度过慢。
- 日志确认:看控制台红色报错,确定是哪个节点、哪个文件、哪个依赖。
- 输入检查:确认模型文件、图片路径、提示词文本、输入格式都没问题。
- 环境和依赖:确认整合包自带 Python 环境、自定义节点、requirements 依赖都正常。
- 参数排查:逐步恢复默认参数,排除某个参数设置过激。
- 边界判断:确认是不是这个节点或工作流本身不支持你的输入类型,再决定替换方案。
这套顺序能覆盖绝大多数新手问题,尤其是“明明照着教程做,结果还是不对”的情况。
7.3 什么时候需要考虑换硬件或换方案
如果你已经能跑通基础工作流,但每次生成都很慢,或者经常中断,可以考虑往下游排查资源瓶颈。
- 显存不大:优先跑低分辨率小批量,不要用超大 ControlNet 输入图。
- 内存不足:关掉不用的软件,尤其浏览器标签页开太多也会占用大量内存。
- 磁盘空间不足:清理 output 目录里的大量测试图,保持模型目录整洁。
如果只是学习,整合包默认配置通常够用。如果要长期生产或跑大型任务,再考虑独立显卡、更大内存或远程调试方案。无论哪种方式,建议先把单条任务跑稳,再考虑批量、自动化和接口化。ComfyUI 学习本质上是先清楚“一条主线”,再不断扩展节点组合。把基础工作流跑通、把报错处理流程记牢,比追最新版更实用。