你在某个群里看到一张效果图,作者顺手分享了工作流。你把 JSON 拖进 ComfyUI,界面立刻铺开几十个节点,其中一多半亮着红色,弹窗提示:请安装缺失的包以使用此工作流。这个时候,大多数新手的第一反应是:这工具太难了,算了。
我的观点恰恰相反——ComfyUI 入门真正的门槛,从来不是“画节点”,而是缺少一套理解工作流的框架。只要搞清楚环境、节点、模型、流程这四个词,ComfyUI 反而是目前把 AI 绘画和 AI 视频做得最可控、最值得投入学习的本地工具之一。
这篇文章不追热点、不堆插件,只讲一条即便放到 2027 年依然成立的入门路径:从最小绘画工作流跑通,到视频工作流搭起,再到把零散操作沉淀成可复用流程。你会发现,真正决定你水平的不是下载了多少个工作流,而是你能不能读图、排查、改造,最后自己搭出适合需求的流程。
1. ComfyUI 真正解决的问题,不是“画图”,而是“流程可视化”
1.1 从一次红色报错说起:为什么新手总是卡在“装上”这一步
ComfyUI 的新手群里,每天都有人重复同一句话:为什么我打开工作流全是红的?
答案其实很简单:ComfyUI 不是一个普通绘图软件,而是一个节点式流程引擎。你把别人分享的工作流拖进来,等于让本机 ComfyUI 执行一张流程图。流程图里用到了什么节点、什么模型、什么依赖,本机就必须先准备好。缺一个节点、少一个模型、版本不匹配,都会以红色显示。
但很多新手并不知道这一点。他们默认“工作流文件”就像 Word 文档一样,双击打开就能用。这是一个根本性的误解。
ComfyUI 的工作流文件本质上是 JSON,里面保存的是节点位置、连线关系、参数配置和模型路径。它是“流程的配方”,不是“成品的照片”。所以别人分享工作流,通常还会附上“需要安装哪些节点”“模型放在哪”这类说明,但这些说明经常被新手忽略。
这也是我判断“入门难”的核心原因:ComfyUI 的难点不在鼠标操作,而在你能否理解一张图的执行过程。一旦理解了,后面所有功能都会变得顺理成章。
1.2 ComfyUI 和 WebUI、在线生图的本质区别
很多人接触 AI 绘画是从 WebUI 开始的,也用过一些在线生图网站。表面看,大家都能输入提示词、生成图片,但背后的交互方式完全不同。
WebUI 更像一台“傻瓜相机”。界面把模型选择、提示词、采样参数、尺寸都放在表单里,你不需要理解它们之间的顺序,只需要填写、点击。好处是门槛低,坏处是一旦出图结果不对,你很难知道是哪一步出了问题。因为整个生成过程被封装在一个黑盒里,你看不到中间状态。
在线生图网站则更像“外卖平台”。你点单、付款、等结果。平台帮你解决了环境和模型问题,但你也失去了对流程的控制。参数固定、模型固定、批量能力有限,适合尝鲜,不适合深度创作。
ComfyUI 的路线完全不同。它把 AI 绘画拆成了一个个节点:
- 加载模型是一个节点
- 写提示词是一个节点
- 设置图像尺寸是一个节点
- 采样是一个节点
- 解码保存是另一个节点
这些节点用连线串起来,数据流从左边流到右边。每一步都是可见的,你可以随时停在一个节点后面查看中间结果,也可以替换其中一个节点,观察整条链路的变化。
所以,ComfyUI 真正解决的问题不是“生成一张漂亮图”,而是让生成过程变得可控、可复用、可调试。这个价值在单次出图时感受不明显,一旦你要批量生成、做视频、做复杂控制,优势就会非常明显。
1.3 一张工作流图到底在表达什么
理解了节点思维之后,你再看工作流图,就不会觉得它是一堆密密麻麻的方块了。
一张工作流图本质上是一条生产线:
- 节点是“工序”
- 连线是“半成品传递”
- 参数是“每个工序的设定”
- 最终输出的节点是“成品出口”
比如一个最小文生图工作流,它做的事情就是:把模型加载进来,把提示词编码成模型能理解的向量,生成一个随机的初始噪声,然后通过采样器逐步去噪,最后把结果解码成图片保存。
这个过程听起来很复杂,但在 ComfyUI 里,它只是一条从左到右的连线。
这里有一个很关键的认知:ComfyUI 里的“工作流编码”,不是要你手写代码,而是要你理解“数据从哪个节点来,到哪个节点去”。你可以把它想象成画流程图,只是这张流程图是真正会被执行的。
一旦你开始用这种方式看工作流,你就不会再害怕别人分享的复杂模板,因为你总能从入口节点、中间节点、输出节点三部分去拆解它。
2. 从零搭建最小 AI 绘画工作流:先跑通,再美化
2.1 环境准备:整合包、手动部署与版本管理
在开始跑第一个工作流之前,先解决环境问题。
国内很多新手会使用社区打包的一体化整合包,比如常听到的“秋叶一键整合包”。这类整合包的好处很明显:帮你把 Python、依赖、ComfyUI 主程序、常用模型都准备好了,下载解压就能用,省去了很多部署踩坑。
但整合包也有代价。它的 Python 环境是固定的,内置的依赖版本也是固定的。你后续安装新节点时,如果节点要求更高的依赖版本,就可能出现冲突;如果你直接拉取 ComfyUI 最新代码,也可能导致原本能用的节点突然不兼容。
所以我的建议是:
- 新手起步,整合包可以,省时间。
- 但你要知道自己把 ComfyUI 装在了哪个目录,模型放在哪个目录,Python 环境是怎么启动的。
- 安装新节点前,先备份当前能用的状态。
- 不要频繁“一键更新”整个整合包。
如果你有 Python 基础,也可以手动部署。手动部署的好处是环境可控,坏处是第一次安装要处理不少细节。二选一即可,没必要两边同时折腾。
注意:环境问题没有“标准答案”。整合包和手动部署都可以用,关键是你必须知道你正在用什么环境,出了问题是环境问题还是节点问题,而不是盲目重装。
2.2 最小文生图工作流的 5 个关键节点
我建议所有新手做的第一件事,不是在网上下载复杂模板,而是从零搭一个最小文生图工作流。这个工作流只需要 5 类节点,已经足够完成一张图的生成。
以常见的 Stable Diffusion 系列模型为例,节点连接关系大致如下:
Load Checkpoint ├── Checkpoint -> CLIP Text Encode(正向提示词) ├── Checkpoint -> CLIP Text Encode(负向提示词) ├── Checkpoint -> VAE └── Checkpoint -> KSampler Empty Latent Image(设置宽高) -> KSampler KSampler -> VAEDecode -> Save Image这 5 个节点的作用分别是:
| 节点 | 作用 | 新手需要理解的点 |
|---|---|---|
| Load Checkpoint | 加载大模型 | 同一个模型文件里通常包含模型、VAE、CLIP 三部分 |
| CLIP Text Encode | 把提示词编码成模型可用的条件 | 正向提示词是你想要的,负向提示词是你不想要的 |
| Empty Latent Image | 设置生成图像的宽高 | 宽高不是越大越好,还要看显存和模型能力 |
| KSampler | 执行采样去噪 | 步数、CFG、采样器名称会影响质量,但也要看模型说明 |
| VAEDecode | 把潜空间数据解码成真实图像 | 没有这一步,你只能看到一张空白或彩噪图 |
| Save Image | 保存结果到输出目录 | 先确认输出目录的位置,方便后续查找 |
第一次运行时,参数可以保守一些。比如先用 512x512 的分辨率,步数 20,CFG 7,采样器选一个常见名称,跑通后再慢慢调整。
这里要特别强调:不同模型对步数和 CFG 的要求差异很大。如果你换了模型,不要直接沿用上一个模型的参数,最好先看模型发布页给出的推荐参数。
2.3 第一次出图后,先检查这四件事
很多人第一次跑通出图后,觉得“成功了”,就开始下载各种花哨工作流,这是错误的节奏。
我更建议:第一次出图后,先不急着追求效果,检查四件事。
第一,确认输出图是不是你预期生成的。有时候提示词写错、模型加载错,生成的图和你想要的内容完全不同。先确认最基本的输入输出正常。
第二,看控制台的日志。ComfyUI 运行时会在后台打印日志,包括每个节点的执行时间、模型加载路径、警告信息。如果哪一步特别慢,或者有 warning,可以记下来,避免以后找不到原因。
第三,观察显存占用和生成速度。同样一张图,不同参数、不同模型,速度和显存占用差异很大。养成看显存的习惯,对你后面跑视频工作流非常重要。
第四,把这个能跑通的工作流保存下来。最好给它起一个直观的名字,比如“文生图-SD1.5-基础版-0512.json”。这是你的第一个可复用资产。
单次跑通,只能说明流程没有断。真正重要的是你能把这个流程稳定复现,并能解释每一步在做什么。
3. AI 视频工作流:不是换一个软件,而是换一批节点
3.1 视频生成和图像生成在工作流上的核心差异
当你熟悉了文生图工作流,再去看 AI 视频工作流,会发现界面更复杂了,但底层思路没有变。
视频生成和图像生成最大的差异,不是“生成多张图再拼起来”,而是要处理多帧之间的一致性。简单说,视频里的每一帧都要好看,同时前后帧的运动、人物、背景还要连贯。这比单独生成一张静态图难得多。
因此在工作流上,视频生成往往需要引入额外的视频模型、时间维度处理、运动控制节点。它的输入可能是文字、一张图、一段参考视频,也可能是首帧和尾帧,输出则是一个视频文件或一组序列帧。
从工作流结构来看,视频工作流通常在“采样器”前后比文生图多出几个环节:
- 加载视频模型或运动模块
- 设置帧数和上下文长度
- 输入图像或首尾帧
- 视频解码与封装输出
你可以把视频工作流理解成“在文生图流水线中间插入了时间轴处理”。
3.2 一条视频工作流通常由哪几部分组成
不同视频模型的节点名称差异很大,但大多数工作流可以拆成几个功能块。
第一块是模型加载。视频模型通常比图像模型更大,加载后的显存占用也更高。有些视频模型还需要搭配额外的文本编码器或 VAE。
第二块是输入控制。你要告诉模型生成多少帧、以什么分辨率生成、用什么作为运动起点。常见的输入有:
- 纯文本描述
- 一张起始图
- 首帧和尾帧两张图
- 一段参考视频
第三块是采样生成。这里的参数和文生图类似,包括步数、CFG、采样器,但多了帧数、上下文窗口等视频相关参数。
第四块是输出。视频生成完成后,需要经过视频解码节点保存为视频文件,或者保存为序列帧,方便后续进入剪辑流程。
新手最容易忽略的是“帧数”这个参数。帧数越多,显存占用和推理时间增长得非常快。一个看起来很简单的视频工作流,可能因为帧数设太高,直接把自己的显卡跑爆。
所以我建议,第一次跑视频工作流,先找官方示例或作者给出的默认参数,不要急着改大分辨率和大帧数。先用小尺寸、短时长跑通,确认输出视频能正常保存,再逐步增加。
3.3 3060 这类显卡能不能跑视频工作流
很多人的显卡是 NVIDIA RTX 3060,8GB 或 12GB 显存。这个问题很现实:能不能跑 AI 视频?
可以,但你要理解“能跑”是什么意思。
8GB 显存可以跑低分辨率的短视频,比如 512x512、几十帧的量级,但生成速度不会很快,而且需要控制帧数和步数。12GB 显存会更从容,可以尝试稍高分辨率或更多帧数。
如果你只有 8GB,我建议这样开始:
- 分辨率先压到 512 附近,不要一开始就上 768 或更高。
- 帧数从 16 帧或更少开始,确认显存占用后再增加。
- 开启显存统计,观察峰值占用。
- 不要开太多后台程序,避免显存被挤占。
- 如果视频模型提供了量化版本,可以优先尝试,显存压力会小很多。
注意:视频生成是一个“宽进严出”的领域。显卡能加载模型,不代表你能在合理时间内生成满意结果。第一次跑视频,请把它当成实验结果,而不是必须交付的成品。
4. 别人分享的工作流,为什么你一运行就报错
4.1 “请安装缺失的包”到底在要求你做什么
这是新手最常见、也最容易被它劝退的一句话。完整提示通常是:请安装缺失的包以使用此工作流。要安装缺失的节点,请先在你的 Python 环境中运行……
这句话的意思是:当前工作流引用了自定义节点,但你的 ComfyUI 没有安装这些节点。
自定义节点是社区开发者写的扩展,用来补充 ComfyUI 原生功能。比如某些视频模型需要专门的节点,某些高级控制功能也需要专门节点。这些节点一般放在 ComfyUI 目录下的custom_nodes文件夹里。
报错的核心原因有几种:
- 完全没有安装对应自定义节点
- 安装了节点,但缺少节点的依赖包
- 节点版本和当前 ComfyUI 版本不兼容
- 节点需要的模型文件没有下载
很多新手看到“安装缺失的包”就直接点一键安装,装完发现还是报错,于是陷入焦虑。正确的做法是先搞清楚缺失的是哪一个节点、哪一个包,再决定安装方式。
大多数自定义节点目录下会有一个requirements.txt文件,里面列出了该节点依赖的 Python 包。常见做法是:
cd ComfyUI/custom_nodes/某个节点目录 pip install -r requirements.txt然后重启 ComfyUI。但要注意,不同整合包的 Python 环境不同,执行 pip 时请确认你用的是 ComfyUI 对应的 Python 环境,而不是系统默认 Python。
4.2 安装自定义节点:通过管理器、手动安装还是直接复制
安装自定义节点有几条路,我给一个推荐顺序。
第一优先是用 ComfyUI Manager。这是一个社区常见的插件管理工具,可以浏览缺失节点、一键安装、检查更新。对新手来说最友好,但安装后也需要重启 ComfyUI 才能生效。
第二优先是手动 git clone 到custom_nodes目录。这个方式需要本地装了 Git 和 Python 基础,但更可控。装完后记得看节点目录下有没有requirements.txt,有就安装依赖。
第三是直接下载压缩包解压到custom_nodes。这种方式最不推荐,因为你很难追踪版本,也容易被旧版本文件覆盖。
不管用哪种方式,我都会做以下几件事:
- 安装前确认节点名称和作者,尽量从可信来源获取。
- 安装后先重启 ComfyUI,再重新加载工作流。
- 如果节点升级后出现问题,能回滚到旧版本。
不要一看见“缺失节点”,就开始批量安装所有节点。装得越多,兼容性问题越复杂。
4.3 模型路径与命名:报错裡最容易被忽略的一环
如果一个工作流的节点都装好了,仍然报错,那下一个要排查的就是模型。
工作流 JSON 里保存的模型路径,通常是作者本机的绝对路径。到了你的电脑上,这个路径大概率不存在。你需要根据提示信息,把对应模型放到正确目录。
ComfyUI 的模型目录是按类型区分的:
- 大模型文件通常放在
models/checkpoints - 部分新架构模型放在
models/diffusion_models - VAE 放在
models/vae - 文本编码器放在
models/text_encoders - LoRA 放在
models/loras
报错信息通常会告诉你,它想加载哪个文件、在哪个目录找不到。你只需要把文件放到对应位置,或者修改工作流里的模型路径,指向你本机实际存在的文件。
这里还有一个容易被忽略的坑:同样是模型名,不同下载来源的版本可能不同。作者用的可能是某个版本,你下载的是另一个版本,表面兼容,实际生成结果差异很大。所以,下载模型前,最好看作者给出的模型清单,尤其是“模型名称 + 文件大小 + 版本”这三个信息。
4.4 一套稳定的排查顺序
遇到报错,不要惊慌,也不要立刻去群里问。先按下面的顺序排查,通常能解决 90% 的问题。
| 排查阶段 | 检查内容 | 常见问题 |
|---|---|---|
| 1. 现象 | 报错信息是什么,发生在哪个节点 | 红色节点会给出关键提示 |
| 2. 输入 | 工作流文件是否完整,模型路径是否存在 | 路径不存在是最常见原因 |
| 3. 环境 | Python 环境是否正确,依赖是否安装 | 装错环境导致包找不到 |
| 4. 依赖 | 自定义节点是否安装,版本是否兼容 | 节点缺失、版本冲突 |
| 5. 参数 | 分辨率、帧数、步数是否过大 | 显存不足、生成超时 |
| 6. 资源 | 显存、内存、磁盘空间是否足够 | 视频工作流特别容易吃资源 |
| 7. 工具边界 | 模型与节点是否匹配,工作流是否过期 | 新版本工作流需要新环境 |
在按表排查时,先看第一行红色节点的提示,不要逐个人工瞎猜。ComfyUI 的报错信息大多数时候是足够明确的,只是新手容易因为英文提示而跳过它。
5. 从“能出图”到“能复用”:把工作流变成自己的工具箱
5.1 先固化,再优化:不要每次从空白图开始
很多人从网上下载了一堆工作流,今天用这个,明天用那个,结果所有工作流都没有真正成为自己的工具。
这里有一个很重要的观念转变:工作的价值,不在于“用过”,而在于“可复用”。你更需要的是一个你能解释、能修改、能排查的稳定工作流,而不是一堆陌生模板。
我建议你先做“固化”。
把那个最小文生图工作流保存好,作为你的基础模板。每次需要生成图片时,都从这份模板开始,而不是重新画节点目录。当你对某个参数不理解了,就在这份模板上复制一份,改参数测试,理解后再更新回模板。
固化之后,再谈优化。优化的方向不是加更多节点,而是更稳定、更可控、更符合你的常用需求。
5.2 哪些参数应该保留,哪些应该做成可输入
工作流里的参数很多,但不是所有参数都需要每次都改。一个好的可复用工作流,应该把参数分成三层。
第一层是“几乎不变”的默认参数,比如模型路径、输出格式、采样器名称。这些参数放固定值就好,不需要每次修改。
第二层是“每次会变”的常用参数,比如正向提示词、负向提示词、图片尺寸、种子。这些参数建议放在显眼位置,方便每次调整。
第三层是“特定任务才用”的参数,比如 ControlNet 的条件图、视频帧数、批量数量。只有在特定工作流里才需要设置。
把参数分层之后,你才不会每次打开工作流都像面对一个复杂仪表盘。先关注常用参数,保持其他参数稳定,是复用的关键。
5.3 批量处理前必须做的三个小实验
当你想要批量生成一组图片,或者反复用同一个工作流处理一批素材时,请务必先做三个小实验。
第一个实验:用 1 条样本跑通。确认输入格式、输出位置、日志信息都正常。这一步最重要,绝大多数批量任务失败,都因为单次任务就没有真正稳定。
第二个实验:用 2 到 3 条样本验证稳定性。特别是当输入不是固定提示词,而是素材文件时,你要确认不同文件名、不同尺寸、不同内容都能正常处理。
第三个实验:小批量试跑,比如 20 条。观察显存增长、失败率、输出文件命名是否规范。如果失败率高于预期,先停下来排查,而不是加量继续跑。
不要一上来就把批量数和并发数拉满。先用一条样例确认输入、输出和日志都正常,这是所有自动化工作流的铁律。
5.4 工作流文件的命名、保存和版本记录
工作流文件是 JSON,它的可读性并不好。如果你保存了十几个名字都是workflow_v2_final.json,过两周你自己都会认不出来。
我建议每个正式工作流都做三件套:
- 工作流 JSON
- 一张界面截图
- 一份模型清单
模型清单里写清楚:用到了哪些模型、模型放在什么目录、模型的版本或大小、来自哪里。这个信息会在你重新部署、换电脑、分享给别人的时候救命。
命名可以简单一点,但要包含信息。比如:
文生图-SDXL-基础版-20270101.json 图生图-ControlNet-线稿-20270214.json 文生视频-首尾帧-512x512-16帧-20270301.json如果你用 Git 管理工作流文件,那就更好。每次改版提交一次,记录清楚改了什么。这个习惯看起来小,但会极大降低长期维护成本。
6. 一套从零基础到精通的长期路径
6.1 学习顺序:不要从“堆插件”开始
新手最容易犯的错误,是到处找插件、装几十个自定义节点,打开工作流后却什么都看不懂。插件只是能力的补充,不是你学习的起点。
我更建议按照下面的顺序学习:
- 先跑通文生图,理解节点、连线、模型、采样这四个基础概念。
- 再做图生图,理解输入图像如何参与生成流程。
- 接着练局部重绘和 ControlNet,理解“控制生成”的逻辑。
- 然后尝试视频工作流,理解帧、上下文、时序。
- 再考虑批量处理、自动化和 API 化。
- 最后才是自己写自定义节点或脚本。
这个顺序的核心逻辑是:每次只引入一个新变量,而不是一次性把复杂工作流铺在面前。
6.2 学会读别人的工作流,而不是只会下载
当你能跑通基础工作流后,阅读别人的工作流会是一件很有趣的事。
我的读法是这样的:先找入口节点。入口节点通常是加载模型、加载图片、加载视频的节点。再看输出节点,看看最终会保存什么。然后沿着连线从输入到输出走一遍,理解每一步发生了什么。
在这个过程中,最有效的动作是“禁用节点”。ComfyUI 允许你绕过某个节点观察结果。你可以把一个节点临时禁用,看输出发生了什么变化。这样比单纯看名称更能理解它的作用。
把一个节点改成一个不合理的参数,再跑一次,看错误如何出现。这样你就能理解参数边界在哪里。别人给你的不是成品,而是练习材料。
6.3 每个进阶阶段最值得练的课题
不同阶段,适合练习的主题不一样。下面这份清单可以作为参考:
| 阶段 | 练习目标 | 典型课题 |
|---|---|---|
| 入门 | 理解基本流程 | 文生图、图生图、修复照片 |
| 进阶 | 学会控制生成 | ControlNet、局部重绘、LoRA 使用 |
| 高级 | 处理动态内容 | 文生视频、图生视频、首尾帧动画 |
| 实践 | 工程化能力 | 批量生成、队列管理、工作流版本管理 |
| 资深 | 扩展和优化 | 自定义节点、脚本、显存优化、API 部署 |
你不需要每个阶段都精通,但最好每个阶段都留一个你能熟练演示的项目。比如,你能随时把一张线稿变成上色成品,或者把一张图生成短视频,这就是能力的证明。
6.4 ComfyUI 适合谁,不适合谁
最后说点可能不太中听的话。
ComfyUI 不适合所有人。它适合那些愿意理解流程、能接受报错、希望在可控性和自动化上做投入的人。如果你只是偶尔想生成一张头像、做一张海报,更轻量的在线工具或 WebUI 类工具体验会更好。
ComfyUI 特别适合这几类人:
- 内容创作者,需要稳定的批量生成流程。
- 设计师,需要精确控制生成的细节。
- 开发者,希望把 AI 生成能力接入自己的工作流。
- 技术爱好者,喜欢拆解工具背后的逻辑,并享受“我明白它为什么这样工作”的感觉。
它不适合这几类人:
- 不想看任何报错,想每次打开就用。
- 不想理解模型目录、依赖、环境。
- 只想快速得到结果,对过程没有好奇心。
这没有对错之分,只是选择不同。如果你属于后者,直接把 ComfyUI 换掉,不是你的问题。但如果你决定认真学它,那就请接受它“先用着麻烦、后期很顺手”的特性。
从零基础到精通,并不是一条直线。它是从“下载工作流”到“读懂工作流”,再到“搭建工作流”,最后到“设计工作流”的过程。
我建议你现在只做一件事:打开 ComfyUI,把一个最小文生图工作流跑通,保存成模板,然后关掉所有下载新插件的念头。等你能向别人讲清楚“数据从哪个节点来,到哪个节点去”的时候,你已经走在一条不会过时的路上。