ComfyUI 实用教程:从零搭建节点工作流到批量自动化出图
这次我们来看 ComfyUI。它在 AI 绘画本地部署圈里的热度已经不需要多解释但很多人第一次打开界面的时候是懵的满屏节点、一堆英文分类、不知道先拖哪个框、也不知道这些线为什么乱连。这篇 2026 实用版教程就按“从零到能自己搭工作流”的路线来写不绕弯子。ComfyUI 是什么一句话说清楚它是一套基于节点工作流的 AI 绘画操作界面。文生图、图生图、局部重绘、LoRA、ControlNet这些在传统 WebUI 里分散在不同页面的功能在 ComfyUI 里都被拆成一个一个节点用连线把它们串起来。每个节点负责一个动作比如“加载模型”“写提示词”“控制采样步数”“保存图片”整条流程一眼就能看全。和常见的 WebUI 相比ComfyUI 的核心优势可以概括为四点第一工作流可复用一个 JSON 文件就能把整套出图流程带走换机器不用重新配第二批量任务更灵活改 seed、改提示词、改分辨率不需要进多个页面反复点第三自带 API 接口可以把出图能力接进自己的脚本或工具第四插件生态丰富ControlNet、视频生成、模型管理都有社区支持。这篇教程会带你走完一条完整链路环境准备、安装启动、第一个文生图工作流、核心节点认识、图生图与局部重绘、插件安装、批量任务与接口调用、性能观察和问题排查。读完你能做两件事一是自己从头搭一套能出图的 ComfyUI 环境二是能看懂社区分享的复杂工作流知道每个模块在干什么出错时知道从哪里开始查。1. ComfyUI 核心能力速览先给一张速览表方便判断这个工具适不适合你。能力项说明项目类型基于节点工作流的 AI 绘画客户端 / 服务端核心模型支持Stable Diffusion 1.5、SDXL 等开放生态模型视频生成类模型按社区版本接入主要功能文生图、图生图、局部重绘、LoRA、ControlNet、批量出图、API 调用推荐硬件NVIDIA 显卡优先显存越高越稳CPU 也能跑但速度慢很多显存需求不同模型差异很大SD1.5 与 SDXL 门槛不同实际占用需按本机测试支持平台Windows / Linux / macOSAMD 与 Intel 环境需按官方说明适配启动方式源码命令行启动、社区一键整合包、Docker是否支持 API支持常用 /prompt、/history 等接口可接入脚本和第三方工具是否支持批量任务支持可通过脚本循环调用或在工作流内批量处理工作流复用支持导出/导入 JSONPNG 图片内也可以附带工作流信息适合场景本地 AI 绘画、批量素材生产、自动化出图、工作流研究从表里可以直接看出ComfyUI 并不是一个“双击就全自动”的工具它更强调流程控制。你需要有一定耐心去理解节点关系但一旦上手效率和可控性都比传统网页界面强很多。2. 适用场景与使用边界ComfyUI 适合谁先说人群。第一种是 AI 绘画新手愿意花一晚上搞明白工作流逻辑之后出图会非常顺手第二种是从 WebUI 转过来的老用户已经熟悉采样器、CFG、LoRA 这些概念只是想把出图过程做成可视化流程第三种是开发者和内容运营需要批量出图或把绘图能力接进自动化工具。做电商主图、封面图、概念设计、游戏原画草图都很适合。它不适合什么场景如果你完全不想看任何配置希望像傻瓜软件一样点按钮出图那 ComfyUI 的前期学习成本确实会让人劝退如果你的电脑没有 NVIDIA 显卡且不想研究 CPU 优化出图速度可能很难接受如果你只是偶尔随机玩一下不一定需要把工作流学得这么深。使用边界必须说清楚。ComfyUI 本身只是工具真正要管好的是使用方式模型文件有各自的开源许可下载前要看清楚能不能商用、要不要署名不要随意转卖整合包。训练 LoRA、使用 ControlNet 处理他人图片时要注意肖像权和版权尤其是人脸、知名角色、品牌元素。生成内容要符合平台和当地法规。不要使用宣称“无审核、无限生成”的灰色整合包或在线服务这类渠道往往伴随盗版模型、恶意脚本和隐私风险。本地服务默认监听 8188 端口。如果机器在公网请先改配置加访问限制或者只允许本机和局域网访问避免别人扫到端口直接调用你的生成服务。ComfyUI 的定位很清楚它是一个需要你掌控流程的专业工具边界越明确用起来越安全。3. ComfyUI 本地部署环境准备部署前先把环境检查一遍能省掉后面一大半报错。下面是通用检查清单具体版本以你的硬件和项目官方说明为准。3.1 操作系统与网络基础Windows 10/11 是新手最省心的选择社区整合包和教程基本都是按照 Windows 环境做的。Linux 用户可以用 Docker 或源码方式安装同样可行macOS 有原生支持但模型生态和显存能力通常不如 NVIDIA 平台。网络方面首次安装需要下载 Python 依赖包和模型文件。如果你访问国外资源不稳定建议优先使用国内模型镜像站或社区网盘获取模型不要用任何违规代理手段。凡是需要登录下载的渠道先确认来源可信。3.2 显卡驱动与 CUDA 环境ComfyUI 的绘图推理高度依赖显卡。NVIDIA 用户先确认驱动版本较新然后在命令行执行nvidia-smi看到显卡型号和显存大小同时能看到驱动对应的 CUDA 版本。注意驱动自带的 CUDA 版本和 ComfyUI 内部使用的 PyTorch CUDA 版本不是一回事一般不需要手动安装完整 CUDA ToolkitPyTorch 安装包会自带运行库。关键是驱动不要太老太老会导致新版本 PyTorch 无法识别显卡。如果你的显卡是较新发布的型号出现“识别不到显卡”或者“CUDA error: no kernel image”这类报错优先检查两件事显卡驱动是否更新以及 PyTorch 版本是否支持该型号。3.3 内存、磁盘与端口生成图片时除了显存系统内存和磁盘空间也会被大量占用。模型文件动辄几个 GB出图多的时候输出目录很快就会积累几百张 PNG建议给 ComfyUI 单独预留至少 20 到 50GB 磁盘空间。ComfyUI 默认端口是 8188。如果这个端口已经被其他程序占用启动时会出现端口绑定失败。可以在启动命令里指定新端口比如--port 8288访问地址也要跟着改成http://127.0.0.1:8288。3.4 Python 与 Git源码安装才需要如果选择源码安装需要准备 Python 和 Git。从社区常见配置看Python 3.10 或 3.11 兼容性比较稳版本太新反而可能遇到某些依赖库没有预编译包的问题。Git 用于拉取项目和部分插件源码没有的话也可以直接下载 ZIP 压缩包解压。4. 安装部署与启动方式ComfyUI 的安装方式大体有三种社区一键整合包、Git 源码安装、Docker 部署。新手建议从整合包开始想深入理解结构的老手可以直接源码安装。4.1 方式一社区一键整合包社区里常见的整合包有秋叶整合包、Aki 轻量版等它们把 Python 环境、依赖库、模型目录、常用插件打包在一起解压即用。这类整合包通常包含一键启动脚本自动设置 Python 虚拟环境。模型管理功能方便查看 checkpoints、LoRA、VAE。插件扩展安装界面。常见环境问题修复比如坏图清理、虚拟内存调整。使用步骤大致是这样的下载整合包并解压到非中文、无空格的目录例如D:\ComfyUI。双击启动脚本等控制台显示服务启动成功。浏览器访问http://127.0.0.1:8188。首次打开会进入默认工作流模板此时就可以加载模型开始测试。整合包的优点是省事缺点是版本可能滞后而且下载来源参差不齐。一定要从作者官方渠道下载不要用来路不明的二次打包版本防止被植入后门。4.2 方式二Git 源码安装源码安装更可控适合想了解项目结构和后续自己修改源码的用户。通用流程如下# 克隆项目目录名可以自己改 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 创建虚拟环境 python -m venv venv # Windows 激活虚拟环境 venv\Scripts\activate # Linux/macOS 激活虚拟环境 source venv/bin/activate # 安装依赖 pip install -r requirements.txt依赖装好后启动python main.py如果想指定端口可以加参数python main.py --port 8288低显存机器可以尝试python main.py --lowvram注意--lowvram参数需要以当前版本是否支持为准不同版本对低显存优化的实现有差异。启动后看到类似Starting server的日志就算成功了。4.3 方式三Docker 部署Linux 服务器或不想污染本地 Python 环境的用户可以走 Docker。下面是一个通用示例镜像名、挂载路径需要按实际环境调整docker run -d \ --name comfyui \ -p 8188:8188 \ -v /path/to/models:/workspace/models \ -v /path/to/output:/workspace/output \ comfyui-image:latest启动后同样通过http://127.0.0.1:8188访问。Docker 的优势是环境隔离重装系统、迁移到新机器都比较干净但如果你不熟悉 Docker 数据卷管理模型文件和输出目录时会多一层理解成本。4.4 启动后验证不管用哪种方式启动验证标准是一致的控制台没有报错退出。浏览器能打开界面。左侧工作区能看到默认节点流程。日志中出现模型加载或服务监听的提示。如果控制台正常但浏览器打不开先查端口有没有被占用再确认浏览器访问地址是否和启动端口一致。5. 第一个工作流文生图从零跑通启动成功后第一件事不是研究复杂节点而是先把一个最基础的文生图流程跑通。全部通过后你对节点之间的关系会有直观感受。5.1 认识默认工作流模板打开页面后工作区里出现的是一套完整模板。把节点按数据流方向看大概是这个顺序加载模型 → 写正向提示词 → 写负向提示词 → 设定图片尺寸 → 采样器采样 → 解码 → 保存图片。不要被节点数量吓到每个节点只做一件事。你只需要把注意力集中在几个关键位置模型选择框、两个提示词输入框、采样器参数。5.2 操作步骤按照下面步骤完成第一次出图在 CheckpointLoader 节点里选择本地已有的模型没有模型的话先下载一个标准 SD 模型放到models/checkpoints目录。在正向提示词输入框写描述例如a cute cat, best quality, masterpiece。在负向提示词输入框写不想要的内容例如blurry, lowres, bad anatomy。设置图片宽度和高度首次测试先用 512x512别直接上 1024 以上。设置采样步数新手先用 20 步。点击右侧“运行”按钮或按快捷键让任务进入队列。等待进度条走完输出窗口出现生成的图片。5.3 关键参数含义很多新手第一次接触 CFG 和 Steps理解不透。用一句话概括Steps 是采样次数次数太低图片容易粗糙太高则收益明显下降CFG 是提示词遵循程度太高会让画面过曝、色彩怪异太低会偏离主体。社区常用范围是 Steps 20 到 30CFG 4 到 8具体效果因模型而异。Seed 是随机种子固定 Seed 生成相同或相近的图换 Seed 得到新构图。5.4 判断是否成功看到一张正常图片出现并不代表工作流真的没有问题。更稳妥的判断标准是控制台没有 error 级别的报错。输出目录output里能找到对应图片文件。同一套流程重复跑一次不出现随机崩溃。6. 工作流搭建与核心节点解读入门之后你需要理解节点之间的关系才能真正开始搭自己的工作流。6.1 数据流思维ComfyUI 工作流的核心是数据流。从“模型和条件信息”进入采样器到“潜空间图像”生成再到“解码成品图”数据像水流一样在节点间传递。看工作流时不要死记每个节点先顺着线找“谁给谁输入、谁从谁取输出”。6.2 高频核心节点介绍节点名称功能CheckpointLoader加载大模型输出模型、CLIP、VAE 三个关键对象CLIPTextEncode把文字提示词编码成条件向量EmptyLatentImage指定空潜空间图像的长宽和批次数量KSampler核心采样器控制步数、CFG、采样器名称和种子VAEDecode把潜空间图像解码成可见图片VAEEecode把输入图片编码到潜空间图生图会用到LoadImage从本地加载图片SaveImage保存生成结果到输出目录新手只需要记住一句话任何一个出图流程必然有“条件输入 采样器 解码 保存”这几个部分。剩下的节点都是为了在这几个部分之间传递数据或做细化控制。6.3 模板保存、导入与分享搭好自己的工作流后直接CtrlS或从菜单导出 JSON 文件这个文件就是完整的工作流。别人拿到 JSON导入后就能看到你的全部节点与连线。还有一种常见用法是直接拖入一张 PNG 图片。ComfyUI 生成的 PNG 图片会在文件元数据里写入工作流信息拖回页面就能自动还原流程。这样分享的图片本身即是作品又是可复用的工作流。从社区下载别人分享的工作流时导入后如果出现“节点执行过程中发生错误”大概率是缺插件、模型路径不对或节点版本不兼容。这时需要根据报错信息逐个安装缺失插件再把模型文件放到对应目录。7. 进阶能力图生图、局部重绘与插件生态7.1 图生图图生图的思路非常简单用 LoadImage 把原图加载进来再用 VAEEncode 把图片编码到潜空间替换掉文生图里的 EmptyLatentImage送入 KSampler。这样采样器会基于原图进行重绘配合一个较低的 Denoise如 0.4 到 0.6可以保留原始构图Denoise 越高越偏离原图。7.2 局部重绘局部重绘Inpaint需要给出一张遮罩图标记哪些区域需要重绘。社区里通常用这类流程加载原图 → 生成或导入遮罩图 → 图像预处理 → 送入重绘采样流程 → 解码输出。ComfyUI 的插件生态里有很多专门做局部重绘的节点功能做得越来越细比如可以自动检测人脸区域、服装区域。这个能力对于电商人像修图、产品图清理背景非常实用。7.3 常用插件与 LoRA、ControlNet可玩性主要来自插件。新手建议先装这几类脚本/工作流增强类提供额外节点解决某些操作不便的问题。ControlNet 节点用姿态、线稿、深度图控制生成适合人物姿态和构图控制。LoRA 加载节点用于叠加角色风格或特定画风。提示词补全类输入关键词时自动补全提升写提示词效率。LoRA 是轻量风格化方案文件体积小叠加在底模上使用。安装 LoRA 同样要放置到models/loras目录。ControlNet 文件较大而且还要对应下载预处理器模型首次使用要花不少时间下载配置建议从单一控制类型开始试。7.4 视频生成与模型扩展ComfyUI 不只是出静态图。社区已经有很多视频生成模型接入比如围绕 minimax、LTX 等模型的整合包和节点。视频生成对显存和内存压力比出图大得多建议先确认模型官方文档里对显存的要求再决定是否硬上。不要看见“视频整合包”就直接下载很多整合包需要特定版本的 ComfyUI版本不匹配反而会拖垮原本正常的环境。8. 批量任务与接口 API 调用ComfyUI 的价值不只是手动点点点更重要的是可以用脚本批量出图甚至把它变成一个小型出图服务。8.1 接口调用原理ComfyUI 启动后自带一个 HTTP 服务。常见接口包括POST /prompt提交工作流任务。GET /history/{prompt_id}查询任务结果状态。GET /view查看输出图片。关键点在于提交给接口的 JSON 格式和你在界面上看到的 UI 工作流不完全一样。ComfyUI 提供了“API 格式”的工作流 JSON节点 ID 与输入字段都是一一对应的。你在界面开启开发者选项或使用导出功能可以生成这种 API 格式 JSON。8.2 curl 调用示例下面是一个简化示例只展示 KSampler 节点的基础参数实际提交时需要包含所有节点字段curl -X POST http://127.0.0.1:8188/prompt \ -H Content-Type: application/json \ -d { prompt: { 3: { class_type: KSampler, inputs: { seed: 42, steps: 20, cfg: 7, sampler_name: euler, scheduler: normal, denoise: 1.0 } } }, client_id: my-client }注意上面这个 JSON 是为了说明接口结构而做的省略版本直接复制不一定能跑通。你需要在界面上导出完整的 API 格式工作流再根据需求修改参数。8.3 Python 调用示例用 Python 调用更方便做批量任务。下面的代码是一个通用模板用于读取 API 格式 JSON、替换提示词、提交任务并轮询结果import json import time import requests SERVER http://127.0.0.1:8188 # 从 API 格式工作流 JSON 读取 with open(workflow_api.json, r, encodingutf-8) as f: workflow json.load(f) # 替换节点中的提示词节点 ID 以你导出的 JSON 为准 for node_id, node in workflow.items(): if node[class_type] CLIPTextEncode: if node[inputs].get(text) POSITIVE_PLACEHOLDER: node[inputs][text] a cute cat, best quality if node[inputs].get(text) NEGATIVE_PLACEHOLDER: node[inputs][text] blurry, lowres # 提交任务 response requests.post(f{SERVER}/prompt, json{prompt: workflow}) print(response.json()) prompt_id response.json().get(prompt_id) # 轮询查询任务结果 for _ in range(120): history requests.get(f{SERVER}/history/{prompt_id}).json() if history.get(prompt_id): outputs history[prompt_id][outputs] print(任务完成输出信息, outputs) break time.sleep(1)这个模板的效果是脚本读取工作流把提示词占位符替换成目标内容提交给 ComfyUI再等任务完成。跑通之后你只需要把提示词改成循环变量就能实现批量出图。8.4 批量任务设计建议做批量任务时有几个建议可以降低翻车率每个批次只改一个变量比如先固定所有参数只改 Seed再固定 Seed 只改提示词。Seed 随机化时建议记录每次任务使用的 Seed方便复现某张满意的图。增加失败重试逻辑任务接口超时或者返回错误时不要直接跳过先打印日志。输出结果按任务 ID 或日期分目录保存避免几百张图堆在一起。批量任务对显存压力更大通过 API 连续提交大量任务前先用两三个任务测试稳定性。9. 资源占用与性能观察ComfyUI 的资源占用不是简单看一个“显存占用数字”就完了需要结合模型、分辨率、步数和任务类型一起看。9.1 显存观察方法Windows 下打开任务管理器选择“性能”标签找到 GPU可以看到显存使用曲线或者继续使用nvidia-smi命令查看显存占用和显卡温度。在运行 ComfyUI 出图时显存占用会在加载模型后明显上升采样过程中一直保持高位采样结束、图片保存后回落。如果显存一直满到接近上限任务大概率会报错。9.2 不同因素对性能的影响模型体积是最直接影响因素。SD1.5 类模型对显存要求相对友好SDXL 类模型要求明显更高。分辨率的影响也很直接从 512x512 提升到 1024x1024显存占用和生成时间不是线性增长而是成倍上涨。采样步数主要影响生成时间CFG 对资源消耗影响相对小。批量任务中单次生成数量越大显存压力越大。视频生成任务则要同时关注显存和内存。视频模型不仅需要更多显存缓存中间结果还可能因为帧数太多导致系统内存吃紧。这时 Windows 虚拟内存的作用就体现出来了。9.3 降低显存占用的做法如果你的显存偏小按优先级做这几件事降低图片分辨率这是最有效的手段。减少单次批量数量不要一次生成 8 张图。使用低显存启动参数如--lowvram但效果以当前版本实测为准。关闭其他占显存的软件尤其是浏览器里的硬件加速。适当降低采样步数质量差距不一定明显。9.4 虚拟内存设置建议Windows 默认虚拟内存如果放在 C 盘遇到视频生成或大型批量任务可能会提示内存不足。建议在系统设置里将虚拟内存调整为“自动管理”或手动设置到一个剩余空间充足的磁盘。虚拟内存不能替代物理内存但能防止极端情况下进程直接崩溃。10. 常见问题与排查方法问题现象可能原因排查方式解决方案启动后页面打不开服务未启动或端口占用检查控制台日志和端口杀掉占用进程或换端口启动报错缺依赖Python 环境不完整查看报错末尾的包名按提示安装对应依赖CUDA error: no kernel image显卡驱动过旧或 PyTorch 不识别新卡更新驱动、换新版本 PyTorch按显卡型号选择兼容版本显存不足崩溃模型、分辨率或批量数过大观察显存占用降低分辨率、减少批量数、启用低显存参数节点执行过程中发生错误缺插件、节点版本不兼容、模型路径错误查看报错指令和缺失节点名安装缺失插件、更换节点版本、校正模型路径模型加载失败模型文件放置目录错误检查 models/checkpoints 目录把模型文件放到正确目录并刷新出图全黑或糊脸采样器参数不合理、VAE 异常检查 CFG、Steps 和 VAE调整参数按模型推荐配置重试API 调用返回错误API JSON 格式不对或任务队列异常先输出 response 内容用 UI 导出完整 API 格式 JSON视频生成卡死显存或内存不足查看资源占用曲线关闭其他程序、调低帧数与分辨率排查问题时最重要的习惯是看日志。ComfyUI 控制台会明确告诉你哪个节点报错、缺了哪个文件、是显存问题还是网络问题。不要一上来就重装先把报错关键行复制出来搜索大多数问题都能找到答案。11. 最佳实践与使用建议11.1 目录管理给 ComfyUI 单独建一个数据目录模型、LoRA、ControlNet、输出结果分开放。一份清晰的文件结构能让你在面对几十个模型和几百张输出图时不慌乱。11.2 保留最小可用工作流搭好自己的第一个文生图工作流后马上导出一份 JSON 备份。后面折腾插件、升级版本、尝试复杂流程时只要出现严重问题就回退到这个最小可用工作流先确认环境本身是好的再查具体节点。11.3 批量任务要有日志和重试用 API 做批量出图时给每个任务记录 prompt_id、参数、耗时和结果状态。任务失败不要默默跳过把失败参数写到日志文件里方便批量重跑。11.4 更新前先备份ComfyUI 和插件更新频率都不低。更新前备份整个models目录和关键的workflow文件避免升级导致现有工作流不可用。千万不要在有重要任务排队时升级环境。11.5 安全和合规意识模型从官方或可信镜像下载不使用来路不明的整合包涉及人脸和版权素材时先确认授权生成内容在发布或商用前要做复核。本地服务不要直接暴露公网必要的话加一层访问控制。12. 总结与下一步ComfyUI 最值得你花时间去试的点不是某一个节点而是“把出图流程变成可控程序”的思维方式。当你把文生图、图生图、ControlNet、批量任务和接口调用串起来之后ComfyUI 就不再只是一个绘画软件而是一套内容生成基础设施。第一次接触时先验证最基础的文生图流程能不能加载模型能不能正常出图能不能批次生成。这个流程跑通说明环境没问题后面所有复杂玩法都是在这个基础上加节点而已。最容易踩的坑也集中在这里模型路径放错、参数调得过大、插件版本不兼容。后续可以继续扩展的方向很明确先把 LoRA 和 ControlNet 玩熟再尝试用 API 接口接入自己的脚本最后再考虑视频生成。每一步都建立在上一步稳定运行的基础上。这篇 2026 实用版 ComfyUI 教程先到这里。建议收藏备用尤其是第一次部署的时候按环境检查、安装启动、基础工作流、批量任务、问题排查这个顺序走能少走不少弯路。
上一篇/下一篇内容由系统自动关联
返回资讯列表 →