ComfyUI 是当前 AI 绘画和 AI 视频生成领域非常值得系统学习的工作流工具。它和普通画图软件不同,核心是节点式工作流:把加载模型、写提示词、采样、解码、保存这些步骤拆成节点,用连线串起来,组成一个可复用、可分享、可修改的流程图。这份教程按 2026 年新手入门最实用的路径来整理,目标很直接:让一个完全没用过 ComfyUI 的人,从安装开始,逐步做到自己搭文生图、图生图、局部重绘,再跑通 AI 视频生成工作流,最后能处理社区工作流最常见的“缺失节点”“缺失包”报错。
如果你之前用过 Stable Diffusion WebUI,会发现两者思路差别很大。ComfyUI 的每一步数据流更透明,报错后也更容易定位:是模型没加载成功,还是提示词没接好,还是采样参数不对。如果你是第一次接触 AI 绘画,也不用被节点图吓住。按下面这条路线走,绝大多数环境问题、模型问题、节点问题都是可预判的。
1. 先搞懂 ComfyUI 解决什么问题,再决定要不要学
1.1 为什么现在很多人从 WebUI 转向 ComfyUI
先给结论:ComfyUI 的核心优势不是单张图片画得比 WebUI 好,而是把整个生成过程变成了可视化、可复用的工作流。
WebUI 的做法是把功能都做成界面按钮,操作路径相对固定。ComfyUI 则把每个步骤拆成独立节点。比如“加载模型”是一个节点,“写正面提示词”是一个节点,“写负面提示词”是另一个节点,“采样”又是一个节点。节点之间用连线连接,数据沿着线按顺序流动。
这个差异带来的实际好处很明显:
- 改流程不用翻设置,直接换节点或改连线。
- 同一个工作流文件可以完整复现,换电脑也不怕设置丢失。
- 社区分享的工作流,拖进界面就能看到作者的完整搭建思路。
- 局部重绘、ControlNet、AI 视频生成这类复杂任务,可以更精细地控制数据流。
所以,如果你想长期用 AI 绘画做内容,或者准备接触 AI 视频生成,ComfyUI 是值得投入时间掌握的。
1.2 新手最容易理解的节点运行原理
可以把 ComfyUI 想象成一条流水线。图片不是凭空冒出来的,它先被“加载模型”节点读取,再通过“CLIP 文本编码”节点把提示词转换成模型能理解的数值,接着由“空图像”节点创建一张初始画布,然后“采样器”节点在这个画布上逐步去噪、生成图像信息,最后由“VAE 解码”节点还原成真正的图片,经过“保存图像”节点写入硬盘。
看一个工作流时,不需要把每个节点都背下来,第一步是找到数据从哪来、到哪去。只要这条链路清晰,再复杂的工作流也能看懂。
1.3 哪些人适合学,哪些人可以绕开
ComfyUI 并不适合所有人。如果你只是随手生成一张图,不想研究任何参数,直接用 WebUI 或在线工具更省事。但如果你希望把 AI 绘画和 AI 视频生成做成一套稳定、可复现、能反复调整的流程,或者想参考社区工作流做二次扩展,ComfyUI 是更合适的选择。
新手最容易被劝退的,其实不是节点数量多,而是不知道“一个节点到底要接什么”。解决这个问题最有效的办法不是看一堆理论,而是抄成熟工作流。先跑通,再理解,最后改。这是最省力的路线。
2. 安装部署:先按整合包跑通,再考虑手动搭建
2.1 硬件条件:普通显卡能玩到什么程度
运行 ComfyUI 主要依赖显卡、显存、内存和磁盘。
显卡方面,NVIDIA 显卡最省心,因为 CUDA 生态最成熟,大部分节点默认按 CUDA 设计。没有 NVIDIA 显卡也能跑,但部分自定义节点可能需要额外配置,速度也会受影响。
显存方面,如果你主要做 AI 绘画,8GB 显存是比较舒服的起点,可以稳定运行大部分文生图、图生图工作流。如果经常把分辨率拉到 1024 以上,或者同时使用 ControlNet、IPAdapter 这类辅助节点,8GB 会开始紧张。12GB 和 16GB 会更从容。
很多人会问 3060 能不能跑 AI 视频生成。以常见的本地视频生成模型为例,3060 12GB 可以跑,但需要控制分辨率和帧数。比如生成 480p 左右、几秒钟的短视频,可以尝试。如果直接生成 1080p 长视频,大概率爆显存,或者速度慢到不实用。
内存方面,16GB 是基础,32GB 更稳。因为加载模型、处理视频帧、执行局部重绘时,内存占用会明显上升。磁盘方面,模型文件普遍是几个 GB 到十几 GB,视频模型可能更大,建议预留 100GB 以上空闲空间,并尽量把模型放在固态硬盘上。否则加载模型和工作流的速度会非常影响体验。
2.2 整合包和手动部署怎么选
2026 年的新手,我建议先使用社区整合包。最常见的包括“秋叶一键整合包”这类方案。整合包的好处是:Python 环境、依赖库、ComfyUI 本体、常用模型、基础插件都已经配置好,下载解压、启动、跑默认工作流,就能直接看到效果。
整合包不是官方发布,但它解决了新手最大的痛点:依赖环境。很多人在手动部署阶段卡住,不是 ComfyUI 本身有问题,而是 Python 版本不匹配、依赖包缺失、显卡驱动对不上。整合包把这些坑提前填平了。
手动部署适合哪些人?如果你准备深度定制、要在服务器上部署、或者需要频繁切换不同实验环境,那值得学会手动部署。基本思路是克隆官方仓库,创建 Python 虚拟环境,安装依赖,再启动。手动部署更灵活,但对排错能力要求更高。
我建议的顺序是:先整合包跑通,确认自己确实需要 ComfyUI,再找时间手动部署一遍。即使手动部署失败,也不会影响学习主线。
2.3 启动后第一件事:检查模型和界面
启动完成后,第一件事不是急着搭工作流,而是先跑默认例子。ComfyUI 首次打开通常自带一个文生图工作流。你只需要确认三件事:
- 界面能正常打开。
- 默认模型能加载。
- 点击生成后能出图。
如果三点都正常,说明基础环境没问题。之后再逐步换成自己下载的模型和别人的工作流。
这里有一个容易忽略的提醒:很多新手拿到工作流文件后直接拖进去,发现一堆红色节点,或者报“请安装缺失的包以使用此工作流”。这不是 ComfyUI 坏了,而是工作流用到的自定义节点、模型或依赖本地没有。这个问题后面单独讲。先记住:看到红节点不要慌,按缺失信息一步步补。
3. 理解工作流核心:节点、连线、模型
3.1 节点怎么分类,连线怎么理解
ComfyUI 的节点可以粗略分成几类:
- 加载类:加载模型、加载图片、加载视频。
- 编码类:把文本、图像转换成模型能理解的中间表示。
- 生成类:创建潜空间图像、执行采样。
- 解码类:把潜空间数据还原成像素图。
- 保存预览类:保存图片、输出视频、预览结果。
每个节点都有输入接口和输出接口。连线就是把上一节点的输出接到下一节点的输入。可以把节点理解成标准接口的积木,只要接口类型匹配,数据就能往下传。
新手搭工作流时,最容易出现的问题是“找不到某个节点”。解决办法:双击界面空白处,输入关键词搜索。像 CheckpointLoaderSimple、CLIPTextEncode、KSampler、VAEDecode、SaveImage 这几种基础节点名,最好能记住。记不住也没关系,用多了自然熟了。
3.2 模型类型和放置目录
ComfyUI 运行时最重要的资源是模型。模型文件通常以 .safetensors 或 .ckpt 结尾,里面包含了大模型的主要能力。
常见目录结构如下:
ComfyUI/ ├── models/ │ ├── checkpoints/ # 大模型 │ ├── loras/ # LoRA 模型 │ ├── vae/ # VAE 模型 │ ├── controlnet/ # ControlNet 模型 │ └── ipadapter/ # IPAdapter 相关权重 └── custom_nodes/ # 自定义节点下载模型后放到对应目录,启动 ComfyUI 时,加载节点的下拉列表里就能看到。如果看不到,先检查目录是否正确,再检查模型文件是否下载完整。有时文件损坏或没下载完,也会导致加载失败。
3.3 如何判断一个工作流能不能直接运行
拿到一个工作流文件,先别急着点运行。按这个顺序快速检查:
- 是否有红色节点。有红节点说明缺少自定义节点或依赖,需要先补装。
- 是否有模型节点显示为空。显示为空说明本地没有对应模型,或者模型不在默认目录。
- 是否有连线断开。连线断开说明工作流不完整,或者分享者手动删除了部分节点。
- 看基础参数。分辨率、步数、批次数是否在显卡承受范围内。
以上都正常,再点运行。如果报错,优先看控制台日志。ComfyUI 的日志比 WebUI 更直接,通常会把缺失的节点名、依赖包名、模型路径都写在里面。
4. 从零搭建第一个文生图工作流
4.1 最小工作流需要哪些节点
第一次搭工作流,建议搭一个最标准、最精简的文生图流程。需要这 7 个节点:
- CheckpointLoaderSimple:加载大模型。
- CLIPTextEncode:写正面提示词。
- CLIPTextEncode:再取一个,写负面提示词。
- EmptyLatentImage:创建一张空的潜空间图像。
- KSampler:执行扩散采样。
- VAEDecode:把潜空间结果解码成图片。
- SaveImage:保存图片。
这 7 个节点组合起来,就是一个可运行的闭环。
4.2 搭建步骤和关键参数
第一步,在画布空白处双击,输入 CheckpointLoaderSimple,选择后它出现在画布上。节点下拉框会默认选中一个模型,新手阶段先用默认。
第二步,搜索 CLIPTextEncode,创建两个。一个写正面提示词,一个写负面提示词。
第三步,搜索 EmptyLatentImage,设置宽高。初学阶段建议 512x512 或 768x768,不要一上来直接 1024x1024。原因很简单:分辨率越高,采样耗时越长,显存占用越大,出问题时排查难度也越高。
第四步,搜索 KSampler,配置几个关键参数:
- seed:随机种子。每次变化种子,生成的图片不同。固定种子,配合相同提示词和参数,可以复现同一张图。
- steps:采样步数。常见范围 20 到 30。步数越高不一定质量越高,但耗时一定更长。
- cfg:提示词引导强度。常见范围 5 到 8。太高画面可能失真,太低可能偏离提示词。
- sampler_name:采样器名称。入门用默认即可,不用逐个研究。
- scheduler:调度器,同样用默认。
- denoise:文生图流程一般保持 1.0。
第五步,搜索 VAEDecode,把 KSampler 的输出接进去。
第六步,搜索 SaveImage,接到 VAEDecode 之后。
连线关系如下:
- CheckpointLoaderSimple 的 MODEL 输出,接 KSampler 的 model 输入。
- CheckpointLoaderSimple 的 CLIP 输出,分别接两个 CLIPTextEncode 的 clip 输入。
- 两个 CLIPTextEncode 的 conditioning 输出,分别接 KSampler 的 positive 和 negative 输入。
- EmptyLatentImage 的 latent 输出,接 KSampler 的 latent_image 输入。
- KSampler 的 LATENT 输出,接 VAEDecode 的 samples 输入。
- CheckpointLoaderSimple 的 VAE 输出,接 VAEDecode 的 vae 输入。
- VAEDecode 的 IMAGE 输出,接 SaveImage 的 images 输入。
4.3 第一次出图的验收标准
跑通之后,不要只看“出了一张图”就结束。建议做三个测试:
- 修改提示词,重新生成,看图片是否明显变化。
- 点击 seed 旁边的随机按钮,重新生成,看是否得到不同结果。
- 换一个模型,重新生成,确认模型切换正常。
三个测试都通过,说明基础工作流是稳定可用的。如果某个测试没通过,比如换模型后报错,优先检查模型文件是否完整。
5. 图生图、局部重绘和批量生成
5.1 图生图工作流怎么搭
图生图和文生图最大的区别:不是从空图像开始,而是从一张已有图片开始。
做法是在文生图工作流基础上,把 EmptyLatentImage 替换成 LoadImage 加 VAE Encode。流程是:
- 用 LoadImage 加载图片。
- 把图片通过 VAE Encode 转换为潜空间数据。
- 把 VAE Encode 的 LATENT 输出接入 KSampler 的 latent_image 输入。
这样 KSampler 不再从空白开始生成,而是在原图基础上加工。关键参数是 denoise,它表示在原图基础上做多大程度的修改。
- denoise 在 0.3 到 0.5 之间:轻度风格迁移、细节修复。
- denoise 在 0.6 到 0.8 之间:画面会有明显变化。
- denoise 接近 1.0:几乎等于重新生成。
新手测试图生图时,建议先把 denoise 调到 0.5 左右,看效果再决定往哪个方向调。
5.2 局部重绘的蒙版节点
局部重绘需求很常见:只改脸、改手、换背景,其余区域保持不变。
ComfyUI 里实现局部重绘有几种常见方式,最基础的是蒙版思路。先在图片上涂出需要重绘的区域,然后通过 Set Latent Noise Mask 这类节点把蒙版信息传给采样器。这样 KSampler 只重绘蒙版覆盖的区域,蒙版之外保持原样。
局部重绘对新手来说是一个明显分水岭。如果能在一个工作流里同时控制“哪些区域重绘”“denoise 调多少”“是否引入原图结构”,基本就理解了节点数据流的本质。
5.3 批量生成时要注意什么
基础工作流跑通后,批量生成是效率关键。ComfyUI 里批量生成有两种常见方式:
- 在 EmptyLatentImage 的 batch_size 中调大批量数。
- 使用队列功能,一次排队多个任务。
实际建议:不要一上来就把 batch_size 调到 8 或 16。先跑一条,确认出图稳定,再逐步增加。因为 batch_size 增大后,显存占用和处理时间都会同步上升,一旦中途爆显存,整个批次可能全部失败。
批量任务还有一个容易踩的坑:输出文件命名。如果多个任务使用同一个保存节点,文件名冲突可能覆盖之前的结果。批量任务开始前,最好设置好输出目录和文件名前缀。SaveImage 节点通常可以通过参数控制文件名格式,务必提前确认。
如果要长时间批量跑,比如连续生成几十张图,建议盯住两个指标:显存占用和日志打印速度。任务卡住时,先看显存是否被打满,再看节点是否一直没返回结果。
6. AI 视频生成工作流入门
6.1 视频生成工作流的两种常见路径
ComfyUI 里的 AI 视频生成,大致有两种方向。
第一种是图生视频。给一张起始图片,让模型根据这张图和提示词生成一段连续视频。你提供第一帧,模型补出后续帧。这类工作流对视频模型能力要求较高,分辨率、帧数、运动幅度都由模型能力决定。
第二种是动画化思路。给模型一组图片,让它生成风格统一的连贯动画帧,再合成视频。这种工作流更适合动画场景,但每一帧的稳定性要求很高,需要做帧间控制。
6.2 视频工作流需要哪些节点和模型
视频工作流比文生图复杂得多,常见节点包括:
- 视频模型加载节点:加载视频生成模型权重。
- 图像编码节点:把输入图片编码成潜空间数据。
- 帧序列处理节点:控制帧数、帧率、分辨率。
- KSampler 采样节点:类似图像采样,但输入输出变成连续帧。
- 视频解码和保存节点:把潜空间帧解码并输出成视频文件。
导入社区视频工作流时,新手最常遇到的报错就是“请安装缺失的包”。很多视频节点来自第三方插件,不在 ComfyUI 默认安装范围内。需要根据报错提示,找到对应的自定义节点仓库,安装到 ComfyUI/custom_nodes 目录,重启 ComfyUI 再加载工作流。
6.3 3060 这类中端显卡能跑到什么程度
以 3060 12GB 为代表的中端显卡,跑 AI 视频生成是可行的,但一定要控制预期。
建议的参数起点:
- 分辨率:尽量控制在 512 或 640 级别,别一开始就尝试 1080p。
- 帧数:先做 16 到 24 帧,时长只有一两秒,用来验证流程能跑通。
- 帧率:常见 8 到 12 帧每秒,生成结果看起来像连续动画。更高帧率意味着更多帧,显存压力会明显增加。
流程跑通后,再根据显存余量逐步提高分辨率或帧数。如果爆显存,优先降分辨率,因为分辨率对显存的影响比帧数更直接。
这里说实话,视频生成速度并不会太快。中端显卡生成几秒短视频,往往需要几分钟甚至更久。这不是 ComfyUI 的缺陷,而是视频模型本身计算量就大。做视频工作流,心态上要接受“等待时间较长”这个事实,先把单条视频跑通,再考虑批量。
7. 导入社区工作流:缺失节点和缺失包到底怎么解决
7.1 工作流的导入方式
社区下载的工作流文件,常见格式是 .json 或 .png。两种都可以导入。
.json 文件:打开 ComfyUI 界面后,直接把文件拖进浏览器窗口,或者通过界面菜单加载。
.png 文件:更常见。很多作者会把工作流信息嵌入到生成图片的 PNG 中。把图片拖进 ComfyUI 窗口,ComfyUI 会自动识别里面的工作流信息,并还原节点图。
不过要注意,PNG 导入还原的是“图片对应的生成参数”,不一定包含作者保存的所有节点。如果还原出来的节点不完整,可能要找作者分享的完整 JSON 文件。
7.2 “请安装缺失的包”到底是什么意思
社区工作流报“请安装缺失的包以使用此工作流”的时候,它其实在说两件事:
- 这个工作流用到了你本地没有的自定义节点。
- 自定义节点内部又依赖某些 Python 包,你本地也没有。
先处理自定义节点。ComfyUI 的自定义节点放在 ComfyUI/custom_nodes 目录下。安装方式通常是 git clone 对应的插件仓库,或者在 ComfyUI Manager 里搜索并安装。
再处理缺失的 Python 包。很多自定义节点会在自己的目录下附带 requirements.txt,报错提示会告诉你“在你的 python 环境中运行某个命令”。你需要在 ComfyUI 所在 Python 环境里执行安装命令。使用整合包时,注意要用整合包自带的 Python 解释器执行,而不是系统 Python。
一个常见的流程示例:
# 进入自定义节点目录 cd ComfyUI/custom_nodes/某个插件目录 # 激活 ComfyUI 的 Python 环境后安装依赖 pip install -r requirements.txt7.3 缺失节点和缺失模型的排查顺序
我的排查顺序比较固定:
- 先看控制台日志,找出第一个报错点。不要被后面刷屏的红字干扰,重点看最早出现的那个。
- 如果提示缺失节点,去 ComfyUI Manager 或 custom_nodes 目录补装。
- 重新启动 ComfyUI,再次加载工作流。
- 如果还报错,检查模型路径。很多工作流引用了特定模型,本地没有时加载节点会显示为红色或空。
- 模型文件补齐后再次运行。如果仍失败,看是不是依赖包版本和当前环境冲突,可以尝试在插件目录下单独执行依赖安装。
这个顺序可以解决绝大多数工作流导入问题。真正难排查的不是“缺什么”,而是“不缺东西但报错”。这类问题通常和版本兼容性有关,需要看详细报错信息中的 Python 异常原因。
8. 常见报错和性能优化
8.1 启动失败和依赖问题
启动失败集中在几个方面:
- Python 版本不兼容。ComfyUI 对 Python 版本有要求,太高太低都可能出问题。
- 缺少编译工具或 CUDA 组件。NVIDIA 显卡需要匹配的驱动和 PyTorch 版本。
- 端口被占用。ComfyUI 默认使用 8188 端口,如果被其他程序占用,启动会失败。
整合包用户遇到的启动问题通常少一些,因为环境已固定。手动部署用户遇到问题,要按日志从下往上找,看具体的 ImportError 或 ModuleNotFoundError。
8.2 显存不足和生成卡住
显存不足有两种表现。一种是在启动或加载时报torch.cuda.OutOfMemoryError,直接告诉你显存不够。另一种是生成到中途卡住,显存占用涨满后程序假死。
建议这样做:
- 把分辨率降下来。
- 把 batch_size 调到 1。
- 关闭其他占用显存的应用,包括浏览器里的硬件加速。
- 必要时通过启动参数开启低显存模式。
生成卡住时,先不要频繁点击生成按钮,那样会让多个任务排队,显存压力更大。应该先到任务队列清空排队任务,再检查资源占用。
8.3 控制台日志和参数排查
控制台日志是排查问题的最重要入口。新手遇到报错,先做基础判断:
- 红色文字的第一行,通常是错误类型,比如找不到文件、找不到模块、显存不足。
- 如果某一行出现节点名,说明是那个节点执行时报错。
- 如果是模型加载报错,检查模型是否完整、路径是否正确、是否放错目录。
一个适合多数场景的排查顺序:
- 输入输出是否正常:图片有没有加载成功,保存目录是否有权限。
- 模型是否正常:先用自己确认能跑的模型测试。
- 参数是否合理:分辨率、步数、batch_size、denoise 是否超范围。
- 环境依赖:自定义节点和 Python 包版本。
- 硬件资源:显存、内存、磁盘空间。
大多数情况下,问题不在模型本身,而在输入图片、路径、权限、依赖版本或参数范围。所以不要一报错就重装整个软件,先按这个顺序排查。
8.4 几个提升效率的习惯
最后说几个提升日常使用效率的习惯。
第一,养成维护稳定基础工作流的习惯。熟悉 ComfyUI 后,把常用模板保存下来,比如文生图模板、图生图模板、局部重绘模板、视频生成模板。每次工作从模板复制,而不是在空白画布重搭。
第二,定期清理输出目录。批量生成的图片和视频非常占空间,如果不清理,磁盘可能不知不觉就满了。建议每次批量任务结束后检查一次输出目录。
第三,学会看工作流 JSON 文件。用文本编辑器打开 .json 文件,能看到节点、连线和参数的描述。理解这个结构之后,甚至可以手工修改工作流,不一定每次都在界面里拖节点。
我个人更建议把学习分成三个阶段。第一阶段,用整合包跑通默认工作流,建立信心。第二阶段,照着经典工作流搭建文生图、图生图、局部重绘,理解节点间的关系。第三阶段,再碰视频生成和复杂插件。到这一步,你遇到的大部分问题都不再是“完全看不懂”的问题,而是可以通过日志和排查顺序解决的实际问题。踩过几次坑之后就会发现,很多问题不是工具能力不够,而是前置环境和输入材料没有处理干净。