如果你准备在 2026 年认真学 AI 出图、出视频的工作流,ComfyUI 基本是绕不开的一环。它不是普通的“填提示词点生成”页面,而是一套节点式、可视化、可以本地运行的工作流工具,适合用来搭文生图、图生图、局部重绘、批量出图以及视频生成流程。节点式界面第一次看确实有点不习惯,但弄懂节点连接逻辑之后,你会发现它的优势很明显:每一步操作都看得见,参数可复用,工作流可以保存成文件发给别人,还能通过接口提交任务。
这次这篇就按零基础到进阶的顺序来写:先判断你适不适合玩 ComfyUI,再讲本地环境怎么准备、整合包和手动部署怎么选,然后带你把模型放好、搭一个最小出图工作流、做第一次生成验证,接着就是插件安装、缺失节点排查、加载社区工作流、视频生成扩展,最后是接口 API 和批量任务。中间会穿插显存占用观察、性能优化和常见报错排查,内容偏向实操,建议收藏备用。
围绕“ComfyUI 工作流 + 本地环境部署 + 插件安装 + 节点搭建”这条主线,下面直接进入正题。
1. ComfyUI 核心能力速览
先给你一张速览表,看完基本能判断 ComfyUI 是不是你需要的东西。
| 能力项 | 说明 |
|---|---|
| 项目类型 | 节点式可视化 AI 工作流工具,支持本地部署 |
| 核心交互 | 在画布中连接不同“节点”,组成可复用的工作流 |
| 主要功能 | 文生图、图生图、局部重绘、ControlNet 控制、模型微调辅助、视频生成等 |
| 界面模式 | 浏览器 Web 界面,默认端口一般为 8188 |
| 模型支持 | 依赖 PyTorch 生态,可跑多种本地图像生成模型 |
| 插件扩展 | 通过custom_nodes目录加载社区插件 |
| 工作流复用 | 可保存为 JSON/PNG,拖动文件即可恢复画布 |
| 接口能力 | 支持通过 API 提交工作流任务,适合批量处理 |
| 批量任务 | 可将多个任务送入队列,按顺序执行 |
| 显存占用 | 没有固定值,由模型、分辨率、步数、插件共同决定 |
| 推荐硬件 | 有 NVIDIA GPU 体验最好,低显存也能跑,但需控制参数 |
| 新手友好度 | 学习曲线比一键出图工具高,但整合包能明显降低门槛 |
这里要单独说明一下“显存占用”。ComfyUI 本身不是模型,它是执行框架,吃显存的是加载到 GPU 上的图像生成模型。512 分辨率小图、轻量基础模型和一上来就开 1024/2048 分辨率、加载大模型的场景,显存占用可能是好几倍差距。所以网上看到“8G 够不够”“12G 能不能玩”这类问题,不能只看单个答案,要结合具体工作流来评估。
如果之前跑过 Stable Diffusion WebUI,你会发现 ComfyUI 能做的大部分事,WebUI 也能做到,但 ComfyUI 的优势在于流程可视化、工作流可分享、批量可控性更强。很多进阶玩家和团队,最终都把重活放到 ComfyUI 上跑。
2. 适用场景与使用边界
ComfyUI 适合谁?按我理解可以分成三类。
第一类是模型玩家。你想比较不同基础模型、LoRA、采样器、步数、CFG 对出图的影响。ComfyUI 的节点参数全部平铺在画布里,改一个采样器、换一个 LoRA 都很直观,不用在页面里反复切换设置项。
第二类是批量生产和自动化玩家。这里特指已经有明确出图规范、需要反复执行同一套流程的人。比如每天生成一批商品场景图、批量跑推荐图、把出图流程接到自己的小工具里。这种需求用 ComfyUI 很合适,工作流做一次,后面全部复用。
第三类是社区工作流学习玩家。很多设计师、AI 绘画博主会公开自己的工作流,文件可能是 PNG 或 JSON,导入 ComfyUI 就能还原整个搭建过程。你可以拆开看每个节点参数,理解别人怎么做图、怎么做视频,比视频教程更高效。
那什么场景不适合?如果你只是偶尔想点一下生成一张好看头像,不想理解任何节点逻辑,那 WebUI 或在线工具更方便。ComfyUI 的“自由度”同时意味着“复杂度”,你不能完全跳过概念去点按钮。
使用边界也必须说清楚。ComfyUI 能不能用不取决于软件本身,而是取决于你加载的模型、训练的 LoRA、使用的输入素材。模型训练素材的授权范围、输入图片是否包含他人肖像、生成视频是否涉及版权角色或品牌元素,都需要你自行确认。本地 AI 工具不等于没有侵权风险,发布、商用前一定要做来源审核。
3. 本地部署环境准备:硬件、软件与前置条件
3.1 硬件门槛怎么判断
ComfyUI 最常用的部署环境还是 NVIDIA GPU + Windows/Linux。判断门槛最简单的方式是看你之前能不能跑同级别的 PyTorch 图像生成模型。能跑,那么 ComfyUI 跑同类模型基本也在同一水平。
低显存 GPU 可以尝试跑,但要注意三点。第一,优先选择对显存友好的轻量模型,不要一上来就加载超大模型。第二,出图分辨率从小到大慢慢试,先在 512 左右验证流程能不能走通。第三,如果显存不足,就需要配合低显存启动参数或者分步处理。显存和分辨率、步数、批量大小直接相关,实际占用要以本机任务管理器或监控工具观察为准。
如果使用 AMD、Intel 显卡或纯 CPU,也能装 PyTorch 对应的运行版本,但性能和兼容性会比 NVIDIA 方案麻烦。对新手来说,除非完全没有 NVIDIA 卡,否则不建议一上来就走那条路。
3.2 软件环境
手动部署 ComfyUI 需要一个相对干净的环境。建议准备:
- 系统:Windows 10/11、主流 Linux 发行版
- Git:用于拉取 ComfyUI 仓库和插件
- Python:3.10 或以上版本,具体版本看项目 README 要求
- 显卡驱动:确保 GPU 驱动已正常安装
- CUDA/PyTorch:驱动支持的情况下安装对应 CUDA 版本的 PyTorch
如果你用的是整合包,Python、Git、PyTorch 环境一般都替你打包好了,这部分可以跳过。手动部署时,虚拟环境一定要建。很多人直接在系统 Python 里装一堆依赖,后面不同项目冲突时很难收拾。
3.3 磁盘和目录空间
下载 ComfyUI 本体占用的空间不算大,真正占空间的是模型文件。一个完整的图像生成模型常常是几个 GB 甚至几十 GB,视频模型更夸张。建议预留至少 50GB 以上空间,如果还要下载多个视频模型,100GB 以上更稳妥。
另外,ComfyUI 默认会有models、custom_nodes、input、output这类目录。平时把模型文件、工作流文件、素材和输出分开管理,后面排错会轻松很多。
4. 安装部署与首次启动:整合包和手动两条路线
4.1 路线一:整合包,适合快速入门
对从没碰过 Git、Python、虚拟环境的新手,第一套建议是整合包。标题里提到的“秋叶整合包”就是社区里比较常见的打包形式,核心价值是把 ComfyUI 主程序、运行库、启动器和部分前置依赖打包成一个完整目录。拿到后一般只需要解压,再启动对应的图形化启动器或启动脚本。
整合包也有使用注意事项:
- 来源一定要可信。解压后先看文件校验信息,别直接双击来源不明的东西。
- 杀毒软件可能对启动器报错。不要急着加信任,先确认文件来源和校验值,确认没问题再操作。
- 整合包通常带有自己的 Python 环境。之后手动安装插件依赖时,要分清当前 pip 装到了哪个环境里,否则插件会报“找不到包”。
整合包的启动流程一般是:解压到目标目录,双击启动器,选择 GPU/CPU 启动,等日志出现访问地址,再用浏览器打开。不同整合包界面差异不小,这里不展开具体按钮,以你实际下载包的说明为准。
不过整合包适合“先用起来”,不适合“永远依赖”。后期装插件报错、想升级依赖、要排查环境问题时,还是需要知道项目目录结构和 pip 逻辑。
4.2 路线二:手动部署,理解依赖关系的必经路线
手动部署没有想象中难,核心就是四步:拉代码、建虚拟环境、安装依赖、启动服务。
下面是一个通用的命令流程:
# 拉取 ComfyUI 源代码 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 创建并激活虚拟环境,Windows 和 Linux 命令有差异 python -m venv venv # Windows 激活 venv\Scripts\activate # Linux/macOS 激活 # source venv/bin/activate # 安装 PyTorch,这里以 CUDA 12.1 为例,实际按你的驱动环境选择 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 安装 ComfyUI 其余依赖 pip install -r requirements.txt这段命令里最需要关注的是 PyTorch 的 CUDA 版本。不同显卡驱动支持的最高 CUDA 版本不同,安装前可以通过nvidia-smi查看驱动版本信息,再选择匹配的 PyTorch 安装命令。如果驱动版本很老,装了新版 PyTorch 很可能出现 GPU 不可用但 CPU 能跑的情况。
依赖安装完成后,启动服务:
# 本机调试,默认只允许本机访问 python main.py --listen 127.0.0.1 --port 8188启动日志会输出当前加载到了 CPU 还是 GPU,还会提示浏览器访问地址。如果只在本机用,--listen 127.0.0.1就够了;要让局域网内其他设备访问,再考虑改成0.0.0.0,但要注意访问控制和本地防火墙。
4.3 首次启动与默认工作流
启动成功后,浏览器打开http://127.0.0.1:8188。ComfyUI 默认会加载一个基础文生图工作流。这个默认工作流通常已经连好“加载模型 -> 正向提示词 -> 负向提示词 -> 采样器 -> VAE 解码 -> 保存图片”的一整套链路。
如果你还没放任何模型,页面里的 Load Checkpoint 节点通常会报错或者模型列表为空。这不是软件坏了,而是模型目录里还没有 checkpoint 文件。把模型放进去,再点击节点上的刷新按钮或重启服务,就能在下拉列表里看到。
5. 从零开始搭工作流:模型放置、节点搭建与出图验证
5.1 模型文件放哪里
ComfyUI 的模型目录默认是项目下的models,里面又按用途区分子目录。常见的包括:
ComfyUI ├─ models │ ├─ checkpoints # 基础模型,比如常见的大模型 │ ├─ loras # LoRA 模型 │ ├─ vae # VAE 模型 │ ├─ controlnet # ControlNet 模型 │ └─ clip # CLIP / 文本编码相关 ├─ custom_nodes # 插件 ├─ input # 输入素材 └─ output # 输出结果把下载好的模型文件放入对应目录即可。比如 checkpoint 模型放到models/checkpoints,LoRA 放到models/loras。放入文件后,在 ComfyUI 里刷新节点列表或者重启,才能在对应节点下拉框里看到模型路径。
新手容易犯的错误是“模型文件名和模型实际结构对不上”。比如把大模型命名为容易记的中文名,其实没问题,但 LoRA 名称、触发词、工作流里已有的引用要保持一致,否则后续加载会失败。建议模型文件不要随便乱改名,最好保留来源信息。
5.2 “文生图”工作流需要的最小节点
先理解 ComfyUI 的节点逻辑。一个关键思路是:信息从上游节点流向后续节点,后面节点拿到的输入来自前面的节点输出。所以搭建工作流不是随意排列节点,而是沿着“模型加载 -> 条件输入 -> 采样生成 -> 解码保存”的路径连接。
最基础的文生图工作流一般包含这几类节点:
- Load Checkpoint:加载基础模型,输出模型、CLIP、VAE 三路信息。
- CLIP Text Encode:输入提示词文本,输出条件向量。一个工作流通常要两个,一个接正向提示词,一个接负向提示词。
- KSampler:接收模型、正向条件、负向条件,执行采样,输出潜空间图像。
- VAEDecode:把采样结果从潜空间解码为像素图像。
- Save Image / Preview Image:保存或预览图像。
中间有一条容易忽略的线是:KSampler 的model和positive、negative输入,分别来自 Load Checkpoint 和 CLIP Text Encode。如果节点之间没有连线,点击执行时就会提示缺少必要输入。
5.3 连接与参数填写
具体操作时,可以直接双击画布空白处打开节点搜索框,输入节点名称添加节点,也可以用默认工作流调整。下面是一个通用的测试思路:
先填正向提示词和负向提示词。刚开始建议用英文短句,中文提示词效果依赖模型是否支持。负向提示词可以填一些常见不希望出现的内容,比如模糊、低质量之类的词,但负向提示词不是万能的,不要写太长。
接着设置采样参数。分辨率先用小图,比如 512x512 或者按模型建议分辨率来。步数可以从 20 开始,CFG 从 7 左右开始。这些参数不是标准答案,因为不同模型有不同最优区间,目的只是先跑通流程。
点击执行后,ComfyUI 会进入排队状态,日志和页面状态会显示当前进度。采样步数不同,生成速度会差很多,第一次建议用较小步数先看流程是否能跑通。
5.4 出图判断标准与失败排查
判断生成成功的标准很直接:图像节点能看到输出,保存节点写出文件,工作流没有红色报错节点。
常见的第一次失败原因有三个。
第一,模型没有加载成功。检查 Load Checkpoint 里是否选择了有效的模型路径,模型是否完整放入目录。
第二,节点连线断开。KSampler 缺少 model、positive 或 negative 输入,执行时会有明显报错提示。
第三,显存不足。日志提示 CUDA out of memory,解决办法是降低分辨率、减小批次数或换轻量模型。
如果出图是黑图、花屏或明显噪点,优先检查 checkpoint 模型和 VAE 是否匹配,以及 CFG、步数是否设置得过于极端。
6. 插件安装、节点搭建进阶与社区工作流加载
6.1 插件安装的三种方式
ComfyUI 的扩展叫“自定义节点”,放在custom_nodes目录下。系统启动时会扫描该目录,把可用节点注册到画布节点的搜索列表里。
插件安装一般有三种方式。
第一种是直接把插件目录放入custom_nodes。如果插件有 Python 依赖,还要进入插件目录安装requirements.txt。
第二种是 Git clone 方式:
cd ComfyUI/custom_nodes git clone <插件仓库地址> cd <插件目录名> pip install -r requirements.txt这里的仓库地址要替换成实际的插件 Git 地址。安装完成后,重启 ComfyUI 才能加载新节点,因为插件的加载大多发生在启动阶段。
第三种是用节点管理类插件在界面内安装。社区常见的管理插件叫 ComfyUI-Manager,装好后可以在界面里浏览和管理缺失节点。但无论用什么方式,下载插件前最好先看一眼仓库更新日期、README、star 数量这些基础信息,避免安装来路不明的代码到本地环境中。
安装插件最常见的问题不是下载失败,而是把插件依赖安装到了“错误”的环境。如果你用的是整合包,打开终端后必须先切换到整合包自带的 Python 环境,再执行pip install。否则插件代码在运行,但依赖装到系统 Python,就会提示找不到模块。
6.2 加载社区工作流报缺失节点怎么处理
从社区下载的工作流,很容易在导入后出现红色节点或提示缺失节点。原因是对方安装过你没有的插件和模型。处理方法分两步。
第一步,先区分“模型缺失”和“插件缺失”。模型缺失通常表现为节点还在,但下拉列表里是空的或者模型路径变红。插件缺失则表现为整个节点变红,甚至显示Missing nodes列表。
第二步,根据报错信息安装对应插件。打开自动保存的工作流或 PNG 元数据里的提示文本,会列出缺失节点属于哪个插件。去插件管理界面搜索安装,或者进入custom_nodes目录手动克隆安装后再重启 ComfyUI。
有些社区工作流是旧版本节点,即使装了对应当前版本插件也可能因为节点名称变化而匹配不上,只能找原作者确认版本,或者根据节点输入输出逻辑用手动节点替换。
6.3 节点缺失报错通用排查
加载工作流时提示“请安装缺失的包以使用此工作流”,这通常出现在插件依赖未安装或 Python 环境不匹配。一个常见场景是:作者在一个 Python 3.10 环境运行工作流,你当前整合包用的环境可能是别的版本,插件依赖安装之后仍报错。
可以按下面顺序排查:
- 先确认当前 ComfyUI 实际使用的 Python 环境是哪一个。
- 在
custom_nodes下找到对应插件目录,查看是否有requirements.txt。 - 使用当前 ComfyUI 所在环境执行
pip install -r requirements.txt。 - 重启 ComfyUI,再看节点是否有变化。
这里不建议直接在系统全局环境里盲目装包,装多了反而容易出版本冲突。
7. 从出图到出视频:视频工作流的扩展思路与验证
标题里提到了“出视频”,这里单独说一段。ComfyUI 默认工作流是出图,但社区已经发展出很多视频生成工作流。它的本质不是“ComfyUI 自带视频功能”,而是加载特定视频生成模型,通过工作流节点生成一组连续帧或直接生成视频。
视频工作流的大致构成包括:文本条件节点或者首帧图像输入,视频生成模型节点,采样相关参数,解码输出,以及视频保存或后处理节点。具体节点名称、模型文件结构在不同视频模型之间差别很大,所以不存在“一个模板适用所有视频模型”的说法。
新手从图到视频时,最稳妥的验证方式是“先不追求效果,先追求跑通”。可以从一段 1 到 3 秒的短视频开始,分辨率不要直接拉满,帧率可以先低一些,比如 8 到 10 帧每秒。这样能快速判断模型加载是否正常、显存是否够用、输出流程是否完整。如果一开始就跑长视频、高分辨率,跑一半爆显存或者卡住,会很难判断是模型问题还是参数问题。
视频生成通常还需要把帧序列转换成 MP4。如果在工作流里没有视频编码输出节点,可以把帧序列保存到目录,再用 FFmpeg 合成:
# 示例:把 frame_00001.png 这类帧序列合成 mp4 ffmpeg -framerate 8 -i frame_%05d.png -c:v libx264 -pix_fmt yuv420p output.mp4真实使用时,需要把文件名规则、帧率、输出路径替换成你实际生成的目录。
视频生成还有一个容易被忽略的点:版权和肖像授权。视频涉及的人脸、场景、品牌元素比单张图片更敏感,别人可以轻易截帧传播。所以制作视频素材时要格外谨慎,先确认素材授权,不能拿着别人的视频、人脸或作品直接拿去生成修改内容。
8. 接口 API 调用与批量出图
ComfyUI 不只是一个可视化页面,它还带有可供外部程序调用执行工作流的接口。这一步对进阶玩家很重要,因为一旦接口能跑通,ComfyUI 就能变成你的“AI 出图后端服务”。
8.1 API 工作流准备
在页面里搭好工作流后,一般需要在设置中打开开发者模式,然后把工作流导出为 API 格式的 JSON 文件。这个格式和画布保存格式不同,它的节点结构以可调用接口的对象形式组织,会包含每个节点的 class_type 和 inputs。
拿到 API 格式 JSON 后,可以先打开文件大概看一下结构。它通常是一个对象,key 是节点编号,value 是节点类型和参数。后续提交任务时,就是把这个对象提交给服务端。
8.2 Python 调用与轮询
ComfyUI 默认提供 HTTP 接口,常见入口是/prompt和/history。下面是一个通用调用流程。
import json import time import requests server = "http://127.0.0.1:8188" # 读取 API 格式工作流 with open("workflow_api.json", "r", encoding="utf-8") as f: workflow_json = json.load(f) # 提交任务到队列 response = requests.post( f"{server}/prompt", json={"prompt": workflow_json}, timeout=30, ) response.raise_for_status() task_info = response.json() prompt_id = task_info.get("prompt_id") print("task id:", prompt_id) # 轮询任务结果 if prompt_id: while True: history = requests.get( f"{server}/history/{prompt_id}", timeout=30 ).json() if prompt_id in history: print("finished:", history[prompt_id]) break time.sleep(2)这段代码是通用模板,不一定适合所有 ComfyUI 版本。真实使用时,要以你自己导出的 workflow JSON 格式为准,并根据服务的实际返回结构调整请求字段和结果获取逻辑。
8.3 批量任务设计
跑通接口之后,批量出图的思路就顺了:只需要在 Python 循环里改提示词、图像输入或保存路径,循环提交即可。
批量任务的输出文件管理建议单独做一套规则。工作流中 Save Image 节点通常会把文件保存到 output 目录,如果你希望每批任务结果分目录存放,要考虑节点的输出目录参数设计。与其把所有文件混在一起再人工整理,不如提交任务时就把批次信息作为输入参数传递,或者任务完成后按文件名统一归档。
更稳定的批量任务推荐加“中间日志”。每提交一个任务就记录一条 prompt_id 和对应的输入参数,轮询时发现失败任务可以重试。批量任务数量较多时,ComfyUI 本身有任务队列,但不建议一次性无限制塞入大量高分辨率任务,避免把 GPU 显存长时间占满后触发不可控错误。
8.4 API 调用的稳定性注意
接口跑通的早期阶段,建议先提交一个最小任务,确认返回结果没问题后再放开批量。网络请求要设置合理超时时间,不能依赖默认超时或无限等待。服务端重启或端口变动后,客户端里的server地址要同步更新。
另外,ComfyUI 默认只监听本机地址。如果做接口服务,要先把访问权限控制好,不要随意把接口暴露到公网。
9. 资源占用、常见问题排查与最佳实践
9.1 资源占用如何观察
本地跑 ComfyUI 时,最容易踩的坑是显存不足。显存占用不仅取决于模型文件体积,也取决于实际推理时的中间状态。观察方式很简单,Windows 用户可以打开任务管理器切到“性能”,看 GPU 的“专用 GPU 内存”使用量;NVIDIA 显卡也可以用命令行:
nvidia-smi --query-gpu=memory.used,memory.total --format=csv建议在跑不同工作流时分别记录一次占用,建立自己机器的“显存基准线”。以后下载新模型、加载新工作流时,就能快速判断当前设置是否安全。
判断性能瓶颈时,别只盯着 GPU。视频生成任务往往会在内存和显存之间搬运大量隐层状态,内存不足也会导致任务卡死。
9.2 显存不足的一般解决方向
如果遇到显存不足,常见处理方向按优先级从低到高排列:
- 减小分辨率,从 1024 降到 768 或 512,通常对显存影响最直接。
- 降低批次数,一次生成 1 张而不是 4 张。
- 减少采样步数,不一定能保证质量,但能减少计算压力。
- 更新显卡驱动和 PyTorch,新版可能对显存管理更友好。