
如果你第一次打开 ComfyUI大概率会一脸懵满屏的方块被彩色连线串在一起看起来不像绘图软件更像一个给程序员准备的流程编排工具。很多人第一反应是关掉它回到 WebUI 那种“填参数、点生成”的舒适区。但 2024 年下半年以后一个绕不开的事实摆在了面前——FLUX、SD3.5、Wan 系列视频模型等大量新模型的官方示例或社区首发工作流几乎都默认选用 ComfyUI 作为载体。社交媒体上分享的 AI 视频生成教程也越来越多以“ComfyUI 界面长截图”的形式出现。这篇文章想给出的核心判断是ComfyUI 的真正价值不在于“又多了一个 AI 画图工具”而在于它把 AI 生成过程从“点一下按钮”变成了“可编排、可复用、可编程的流程”。如果你只是随手生成一张头像WebUI 就够用但如果你需要精确控制每一步参数、批量出图、把流程分享给团队或者接入自己的应用ComfyUI 几乎是绕不开的选择。这篇教程不会把每个按钮都讲一遍而是先帮你建立起节点式思维再带你从零跑通一个真实的文生图工作流包括环境安装、模型准备、工作流搭建、常见问题排查以及把 ComfyUI 接入业务系统时的工程建议。文章尽量用“场景 结论 操作”的方式展开读完你应该能判断自己到底适不适合用 ComfyUI以及第一次上手时最该注意哪些坑。1. 为什么 ComfyUI 越来越绕不开先说结论ComfyUI 正在成为 AI 图像与视频生成领域的“事实标准之一”尤其是在复杂工作流和新模型适配方面。它最初是 comfyanonymous 发布的开源项目目前由 Comfy-Org 组织维护。它的定位非常明确一个基于节点式工作流的 Stable Diffusion 前端工具。所谓“节点式”可以理解为把生成过程拆成一个个独立模块比如“加载模型”“写提示词”“采样去噪”“保存图片”然后用连线把它们串起来。每一个节点负责一件事节点之间的连线表示数据的流向。这套设计和 WebUI 有本质区别。WebUI 把生成过程封装成一个“黑盒”你只能调整固定的几个参数ComfyUI 则把黑盒拆开所有中间步骤都能看到、能修改、能替换。这也是为什么社区常说“WebUI 是相机ComfyUI 是修图工作台”。下面用一张表快速对比两者的差异对比维度WebUIComfyUI操作方式表单填写 按钮生成节点连线 可视化编排流程可见性低中间过程被封装高每个中间结果都可查看新模型适配速度相对滞后社区首发工作流通常最先在这里出现批量与自动化支持但较弱天然适合工作流可导成 API 格式学习门槛较低较高需要理解节点和数据流显存占用相对偏高通常更省显存支持局部重绘和优化适用人群新手、快速出图开发者、深度用户、对过程控制有要求的人从实际生态来看ComfyUI 的优势还在被持续放大。FLUX 模型发布后社区大量工作流第一时间出现在 ComfyUISD3.5 官方也提供 ComfyUI 版本的 workflow视频生成方向Wan、LTXV 等模型的工作流同样以 ComfyUI 为主要分享形式。可以这么说如果你想紧跟新模型和社区新玩法ComfyUI 已经不是一个“可选项”而是一个“必选项”。但这里必须说清楚适用边界。ComfyUI 适合谁适合想理解生成过程的人、适合需要批量出图的团队、适合想把 AI 能力嵌入业务系统的开发者。不适合谁如果你只是想快速生成一张图、不想折腾节点和参数那 WebUI 或者在线工具体验会友好得多。不要因为别人都在用 ComfyUI 就强迫自己切换工具是服务于场景的。2. 核心概念与工作原理在动手安装之前建议先花几分钟理解 ComfyUI 的核心概念。这部分不是理论空谈因为后面所有操作都会反复用到这些术语。2.1 节点Node节点是 ComfyUI 的基本单元。每个节点代表一个函数或一个处理步骤比如Load Checkpoint加载大模型checkpoint 文件。CLIP Text Encode把提示词编码成模型能理解的向量。Empty Latent Image创建一个空的潜空间图像相当于设定画布尺寸。KSampler执行采样去噪是生成过程的核心。VAE Decode把潜空间数据解码成像素图像。Save Image把图像保存到本地。可以这样理解ComfyUI 就是一条流水线每个节点是一个工位连线是传送带。数据从模型文件开始经过提示词编码、潜空间初始化、采样去噪、VAE 解码最终输出成品图片。2.2 连线Data Flow连线表示数据流向。每条连线的起点是某个节点的输出端口终点是另一个节点的输入端口。ComfyUI 中连接的端口类型必须匹配比如模型输出只能连接到模型输入不能把“图像”接到“模型”上。这也是新手最容易犯错的地方连线错误时节点会变成红色并提示类型不匹配。2.3 模型三件套Checkpoint、CLIP、VAE很多人第一次接触 ComfyUI 时会对“模型”这个概念感到困惑。在 WebUI 里你通常只需要把大模型放到一个目录在 ComfyUI 里一个完整的生成链路涉及三类模型文件模型类型作用常见格式Checkpoint主干模型决定图像风格和内容倾向.safetensors、.ckptCLIP文本编码器负责理解提示词通常打包在 checkpoint 内VAE图像变分自编码器负责潜空间与像素图互转.safetensors常内嵌在 checkpoint 中实际使用时Load Checkpoint节点会自动加载一个 checkpoint 文件并把内部的模型、CLIP、VAE 三个输出分别暴露出来供下游节点使用。这也是 ComfyUI 工作流里最常见的“第一块拼图”。2.4 采样器KSamplerKSampler 是决定生成质量的核心节点参数很多新手最容易在这里踩坑。简单解释几个关键参数seed随机种子。相同种子 相同参数 相同模型 相同结果。steps采样步数。步数太少细节不足太多不一定更好通常 20 到 30 步已足够。cfg提示词引导强度。数值越大越贴近提示词但过大会导致色彩过饱和或图像失真。denoise重绘幅度。图生图时常用1 表示完全重新生成0 到 0.5 表示保留原图结构做局部修改。理解这些参数后你会发现 ComfyUI 的“可控性”比 WebUI 强得多因为每一步都能独立调整而不是只靠一个“生成按钮”。3. 环境准备与前置条件开始安装前先确认你的电脑满足基本条件。ComfyUI 本质是一个 Python 应用依赖 PyTorch 和各类生成模型对硬件有一定要求。3.1 硬件要求核心瓶颈是显存和你要跑的模型直接相关跑 SD 1.5 系列模型建议 6GB 以上显存4GB 也能用但要开启优化。跑 SDXL 系列模型建议 8GB 以上显存低显存需要配合模型优化。跑 FLUX、SD3.5 等大模型建议 16GB 以上显存或者使用量化版本。跑视频生成模型显存需求更高通常建议 12GB 起步。如果没有 NVIDIA 显卡AMD 显卡或 Apple Silicon 也能跑但需要额外配置相关后端这里不再展开。操作系统方面Windows 10/11 的教程最多macOS 和 Linux 也可以部署流程类似。3.2 软件要求推荐在 Windows 上采用如下前置环境Python 3.10 或 3.11不推荐更高的版本部分依赖可能不兼容。Git用于拉取 ComfyUI 源码和后续更新。一个能正常访问模型下载站的网络环境。如果你的网络下载 PyTorch 或模型文件很慢可以提前配置国内镜像源比如 pip 使用清华源或阿里源。具体版本号以实际安装时间为准不要硬套某个固定版本。3.3 模型准备模型文件是生成图像的关键。ComfyUI 默认会在models目录下按类型查找模型models/checkpoints放主模型。models/vae放 VAE 文件。models/loras放 LoRA 模型。models/embeddings放文本反转 embedding。建议先去下载一个 SD 1.5 或 SDXL 的 checkpoint 文件放到models/checkpoints目录。具体下载渠道可以在模型社区搜索对应名称这里不做具体链接推荐。模型文件通常很大少则 2GB多则 7GB下载前先确认磁盘空间充足。4. 本地部署与启动ComfyUI 的部署方式大致有两种手动 Git 部署和整合包部署。手动部署更利于理解原理、方便后续更新整合包则省去环境配置适合新手快速体验。4.1 方式一Git 手动部署打开命令行进入你希望安装的目录执行git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI然后创建并激活 Python 虚拟环境。Windows 下命令如下python -m venv venv venv\Scripts\activate激活后安装依赖。如果电脑有 NVIDIA 显卡推荐先安装 GPU 版 PyTorch再安装 ComfyUI 其他依赖pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu124 pip install -r requirements.txt如果安装过程中网络不稳定可以使用国内镜像源pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple最后启动python main.py启动成功后控制台会显示类似Starting server的信息并给出访问地址。默认端口是 8188浏览器打开http://127.0.0.1:8188看到节点式画布界面就说明安装成功了。4.2 方式二整合包部署如果你不想折腾 Python 环境和依赖可以选择社区整合包。国内用户比较熟悉的是“秋叶一键整合包”这类方案它把 Python 环境、ComfyUI 主程序、常用插件和部分模型打包在一起解压即可用。这里要特别提醒两点第一整合包本质是“别人帮你配好的环境”适合快速体验但升级模型和插件时容易出现版本混乱建议还是要有手动部署的知识储备。第二第三方整合包来源必须可靠。安装前建议做病毒查杀不要运行来路不明的脚本。项目开源官方推荐方式永远是 Git 克隆 手动安装整合包只是入门捷径。4.3 启动参数与远程访问ComfyUI 支持多个命令行启动参数比较常用的有--listen 0.0.0.0允许局域网内其他机器访问。--port 8188自定义端口。--cuda-device 0指定使用哪张 GPU多卡机器可以分别启动多个实例。例如允许局域网访问并指定端口python main.py --listen 0.0.0.0 --port 8188注意开放局域网访问前先确认你的网络环境安全。生产环境建议不要直接暴露公网而是放到内网或加反向代理认证。这个原则后面还会再强调。5. 第一个文生图工作流从零搭建安装完成后先从一个最简单的文生图流程开始。默认打开 ComfyUI 时首页可能已经有一个默认模板为了理解原理建议新建一个空白工作流从零添加节点。5.1 清空画布并添加节点在画布空白处右键会弹出节点搜索菜单。需要依次添加以下节点Load CheckpointCLIP Text Encode正向提示词CLIP Text Encode反向提示词Empty Latent ImageKSamplerVAE DecodeSave Image节点添加后按照下面的顺序连线checkpoint 的MODEL输出 → KSampler 的model输入checkpoint 的CLIP输出 → 两个CLIP Text Encode的clip输入正向提示词节点的CONDITIONING输出 → KSampler 的positive输入反向提示词节点的CONDITIONING输出 → KSampler 的negative输入Empty Latent Image的LATENT输出 → KSampler 的latent_image输入KSampler 的LATENT输出 →VAE Decode的samples输入checkpoint 的VAE输出 →VAE Decode的vae输入VAE Decode的IMAGE输出 →Save Image的images输入连接完成后在正向提示词节点里输入a beautiful landscape, mountains and lake, sunset, highly detailed反向提示词输入low quality, blurry, watermark, text5.2 配置采样器参数在Load Checkpoint节点里选择你放入的模型文件。然后在Empty Latent Image节点中设置图片宽高例如 512x512SD 1.5 默认分辨率或 1024x1024SDXL。KSampler 节点按以下参数配置seed随意填一个数字比如 12345。steps20cfg7sampler_nameeulerschedulernormaldenoise15.3 运行工作流点击界面右侧的Queue Prompt按钮生成任务会进入队列。画布上每个节点下方会显示进度KSampler 节点会实时展示去噪过程中的预览图。生成结束后Save Image节点下方会显示最终图像同时图片会自动保存到ComfyUI/output目录。验证成功与否主要看三点所有节点没有红色报错。KSampler 有进度条并正常走完。output 目录中出现了新生成的 PNG 图片。如果节点显示红色通常是把鼠标悬停在红色节点上会看到具体的报错信息。这一步先记录下来下一章会集中排查。5.4 工作流文件结构示意如果在界面上保存工作流或导出为 API 格式你会得到一个 JSON 文件。它记录了所有节点的类型、参数和连线关系。简单结构如下节点 ID 和 UUID 以本地实际导出为准{ 1: { class_type: CheckpointLoaderSimple, inputs: { ckpt_name: v1-5-pruned-emaonly.safetensors } }, 2: { class_type: CLIPTextEncode, inputs: { text: a beautiful landscape, clip: [1, 1] } } }这里[1, 1]表示“取节点 1 的第 1 个输出端口”。理解这个结构后你就能读懂别人分享的工作流文件也能用代码动态生成工作流。6. 工作流的复用、分享与 API 接入ComfyUI 最有魅力的地方不是单个节点而是“工作流”这套可复用机制。很多用户下载一个工作流文件就能一键复现别人的出图效果。6.1 拖入图片即可加载工作流这是一个实用技巧ComfyUI 生成的 PNG 图片里默认嵌入了完整的工作流信息。把别人分享的 PNG 图片直接拖进 ComfyUI 画布它会自动还原出原图的工作流节点和参数。这个功能极大降低了复现门槛也是社区分享工作流的主要方式。需要提醒的是别人分享的工作流依赖的模型、LoRA、自定义节点可能和你本地环境不一致。加载后如果出现红色节点大概率是缺少对应的自定义节点或模型文件需要先补全。6.2 工作流格式默认格式与 API 格式ComfyUI 菜单里可以导出工作流常见的是完整 UI 格式包含画布布局信息适合人读和 API 格式精简为纯数据流适合程序调用。两者内容都包含节点和连线区别只在于是否包含界面展示信息。如果你想用代码批量提交任务推荐导出 API 格式然后通过 REST API 提交。ComfyUI 默认启动时就会开启 API 服务。6.3 通过 Python 调用 ComfyUI 生成图像ComfyUI 的 API 端点非常简洁核心接口是POST /prompt把工作流 JSON 作为prompt字段传进去即可。下面是一个最小示例import json import requests # 假设你已经导出了一个 API 格式的工作流 JSON with open(workflow_api.json, r, encodingutf-8) as f: workflow json.load(f) # 可选修改其中的提示词或种子 # workflow[2][inputs][text] a cat wearing a hat response requests.post( http://127.0.0.1:8188/prompt, json{prompt: workflow} ) if response.status_code 200: print(任务已提交, response.json()) else: print(提交失败, response.text)提交成功后ComfyUI 会返回任务的prompt_id。你可以再写一个轮询脚本去GET /history/{prompt_id}查询生成结果。这个模式可以很方便地接入业务流程。6.4 模型下载与放置规范从社区下载的模型建议按类型放到对应目录并保持命名规范。文件名最好能体现模型名称和版本例如sd_xl_base_1.0.safetensors。不要随意堆在一个目录否则工作流里选择模型时会让你找半天。对于 LoRA、VAE、embedding 这类附加模型同样要放到对应目录。如果某个工作流加载模型时报错先检查是不是文件路径或目录放错了。7. 常见问题与排查思路ComfyUI 的报错机制相对直接节点显示红色通常有提示信息。下面整理几个新手最常遇到的问题问题现象可能原因排查方式解决方案启动失败端口被占用8188 端口已被其他程序占用看启动日志中的 bind 报错改用--port指定其他端口节点红色提示模型找不到模型文件未放入正确目录查看报错中的模型文件名下载对应模型并放入models/checkpoints加载别人工作流后大量红色节点缺少自定义节点看红色节点提示的类名安装对应自定义节点或通过 ComfyUI-Manager 补全生成图片全黑或灰蒙蒙VAE 未正确连接或模型问题检查 VAE Decode 节点连线手动加载一个配套 VAE 文件接到解码节点显存不足生成中途报错 OOM图像分辨率设置过高查看日志中的 CUDA out of memory降低分辨率、减少 batch size或开启显存优化输出图像和预期差别很大seed、CFG、采样器参数不匹配检查 KSampler 参数固定 seed 并保持相同参数再复现界面是英文想汉化缺少汉化插件在 ComfyUI-Manager 中搜索中文翻译扩展安装社区汉化插件如 AIGODLIKE 系列汉化扩展其中“显存不足”是最容易确认的问题。如果日志中出现了CUDA out of memory优先把Empty Latent Image的宽度、高度调小比如从 1024 降到 512然后再试。版本兼容问题也值得单独说明。ComfyUI 更新频率很激进v0.33.1 也经历过前端和节点 API 的调整。升级主程序后老的自定义节点可能失效。稳妥的做法是升级前备份工作流和 Python 环境或者先复制一份 ComfyUI 目录做测试确认旧插件仍然兼容后再切换。8. 最佳实践与工程化建议把 ComfyUI 用起来只是第一步。如果要在团队或业务中稳定使用下面这些工程化经验建议收藏。8.1 工作流版本管理ComfyUI 的工作流本质是 JSON 文件完全可以用 Git 管理。建议一个项目对应一个目录里面至少包含workflow_ui.jsonUI 格式工作流方便人工打开查看。workflow_api.jsonAPI 格式工作流方便程序调用。requirements.txt自定义节点的依赖清单。README.md说明依赖模型、预期效果。这样团队协作时每个人 checkout 代码后都能快速复现环境。8.2 插件按需安装ComfyUI 生态中“必装插件”的说法经常变但核心建议是不要看到什么插件都装。插件越多升级冲突的概率越高启动也会变慢。两个插件建议优先考虑ComfyUI-Manager这是社区最常用的插件管理器可以搜索、安装、更新自定义节点也能一键安装缺失节点。有了它加载别人工作流时补依赖会方便很多。汉化扩展如果你不习惯英文界面可以在 Manager 中搜索中文翻译相关的插件。汉化只改界面文字不影响工作流和模型逻辑。8.3 API 接入时的并发与重试用 API 接入业务系统时要注意性能和稳定性。几个要点ComfyUI 默认是单任务排队执行。并发提交多个任务时需要自己设计队列或启动多个实例分摊压力。生成任务可能耗时几十秒甚至几分钟客户端请求要设置合理超时避免因等待而断开。任务失败要记录日志并支持重跑尤其是模型加载失败或显存不足这类瞬时错误。不要把前端 API 直接暴露在公网建议加中间层做鉴权、限流和监控。8.4 双卡与多实例部署如果机器有多张显卡可以在不同端口分别启动多个 ComfyUI 实例用--cuda-device指定各自使用的 GPU。例如python main.py --port 8188 --cuda-device 0 python main.py --port 8189 --cuda-device 1然后在上层用负载均衡或队列服务把任务分发到不同实例。这个方案比单实例内部强行并行更稳定但也更占显存需要根据实际资源规划。8.5 ComfyUI 与 LLM 是否必须同一台机器一个常见的误解是ComfyUI 和 LLM 应用必须部署在同一台电脑上。其实不需要。ComfyUI 启动后就是一个独立的 HTTP 服务LLM 应用可以通过网络请求调用它的 API。只要两台机器之间网络互通就可以分开部署GPU 机器跑 ComfyUICPU 机器跑 LLM 应用。建议的架构是LLM 负责理解用户意图、生成提示词然后通过 HTTP 调用 ComfyUI 完成任务生成。ComfyUI 本身不参与语义理解它只负责执行图形生成流程。8.6 视频生成工作流的前景与注意点当前社区最热的方向之一是视频生成工作流比如基于 Wan、LTXV 等模型的工作流。这里的“无限时长视频”需要正确理解大多数工作流不会在单次推理里直接产出无限时长的视频而是通过分段生成、关键帧衔接、再拼接的方式实现延长。真正要关注的是工作流对显存的消耗、生成速度以及拼接质量不要被营销性的表述带偏。如果想尝试视频工作流建议先跑通官方或社区的标准示例再逐步调整参数。视频生成比文生图更吃显存第一次运行前最好先看模型卡说明给出的推荐配置。9. 总结与下一步行动回到开头那个判断ComfyUI 不是又一个 AI 绘图软件而是一个 AI 生成流程引擎。它用节点图把“加载模型、编写提示词、采样去噪、解码保存”这一整条链路透明化让你能精确控制每一环也让你能把自己的参数组合变成可分享的资产。如果你决定继续深入学习下面这条路径值得参考第一步把默认模板或本文的简单文生图工作流跑通理解每个节点的作用和连线关系。第二步找一份别人分享的成熟工作流尝试加载并换用不同的模型、LoRA 和提示词观察输出变化。第三步学习自定义节点开发尝试把更多零散操作封装成一个节点。第四步把工作流导出成 API 格式接入自己的项目实现自动化或批量化生成。真正容易踩坑的地方往往不是安装而是“把 WebUI 的使用习惯带进来”。ComfyUI 的学习曲线本质是流程思维先理解你要的最终输出是什么再倒推需要哪些节点、如何连接、如何调参。在一张张工作流搭建完成后你会慢慢发现AI 生成这件事已经从“抽卡”变成了“工程设计”。建议把这篇文章收藏备用尤其是环境搭建、常见问题排查和最佳实践几个部分实际操作时大概率会回来翻。如果你在跑通第一个工作流时遇到问题先按“节点是否红色、日志有没有报错、模型目录对不对”三步排查大部分问题都能自己解决。