
这次我们直接讲 ComfyUI。如果你已经在 WebUI 里画过图或者刚听说“工作流”这个词想从零开始把 ComfyUI 真正跑起来那这篇文章就是给你准备的。ComfyUI 不是换皮界面它把 AI 绘画和 AI 视频生成的整个流程拆成一个个可视化的节点模型加载、提示词处理、采样、解码、保存每一步都摆在画布上。好处是逻辑透明、可复现性强坏处是刚接触的人容易懵节点太多了从哪开始接这篇文章的目标很明确从零搭建一条能出图的 ComfyUI 工作流再延伸到图生图、视频生成、批量任务、API 调用和问题排查。全程按实际部署思路来写不堆概念也不绕弯。读完你应该能自己判断ComfyUI 适不适合你工作流该怎么搭遇到报错去哪查。1. 核心能力速览能力项说明项目类型基于节点的 AI 绘画 / AI 视频生成图形界面工具主要功能文生图、图生图、局部重绘、ControlNet 控制、视频生成、工作流导入导出启动方式一键整合包启动 / 命令行启动硬件要求有 NVIDIA 显卡体验较好显存高低决定能跑的模型和分辨率规模显存占用不固定取决于模型类型、分辨率、步数和采样器设置支持 API支持可通过 HTTP 接口提交任务批量任务支持可配合队列或脚本串行/并行处理适合人群想精细控制出图流程、想做批量生成、想研究 AI 视频生成的用户从材料看ComfyUI 在国内最常见的部署方式是“秋叶 ComfyUI 一键整合包”这也是新手第一个要了解的东西。整合包帮你把 Python、依赖、启动器打包在一起双击就能跑大大降低安装门槛。如果你能接受命令行也可以直接拉官方仓库手动安装。两种方式本文都会讲。2. 适用场景与使用边界ComfyUI 适合谁首先是已经用过 WebUI、觉得默认界面限制太多的人。ComfyUI 的节点化设计让“重绘”“局部修改”“叠加 ControlNet”这类操作变得非常直接——每个控制条件都是一个节点接到采样器上就行。其次是批量任务需求明确的用户比如要生成几百张尺寸统一的商品图、做数据标注素材、跑人物一致性测试ComfyUI 的流程复现能力比手动操作强得多。再有就是对 AI 视频生成感兴趣的用户很多新出的视频模型会优先支持 ComfyUI工作流生态非常活跃。不适合谁如果你的需求是“开箱直出、不想理解任何细节”那 ComfyUI 的初期学习成本可能高于 WebUI。虽然整合包能一键启动但工作流搭建本身需要理解节点逻辑。另外ComfyUI 不等于“无限制生成”很多网络说法把本地部署描述成“无审核、无限制”这是不准确的。模型能力边界由模型本身决定使用场景必须符合法律和平台规则涉及人脸、肖像、版权素材时要确认授权商业发布前要做内容复核。本地部署的意义不是规避规则而是获得更高的可控性和数据隐私。3. ComfyUI 本地部署环境准备部署 ComfyUI 前先确认三件事显卡、驱动、磁盘空间。3.1 显卡与显存ComfyUI 本身不挑显卡但体验差异非常大。有 NVIDIA 显卡时CUDA 加速能明显提升采样速度显存大小决定你能否加载大模型、开高分辨率、跑视频生成。常见的 8GB 显存能流畅跑大部分 SD1.5 模型配合量化或低分辨率也可以尝试 SDXL12GB 以上会从容很多。集成显卡或纯 CPU 环境也能跑但速度会慢很多更适合做流程验证不适合常规出图。关于“3060 能跑 AI 视频生成吗”这类问题答案是能跑但要看具体视频模型的优化程度、显存占用策略和参数设置。视频生成通常需要更大的显存通常做法是降低分辨率、减少帧数、开启显存优化选项或者使用量化版本模型。实际占用必须以你本机测试为准。3.2 驱动、CUDA 与 Python驱动方面保持 NVIDIA 驱动更新即可。PyTorch 会自动匹配 CUDA 版本一般不需要手动安装完整 CUDA 工具包。如果使用整合包内置的 Python 环境是隔离的不干扰系统 Python如果手动安装建议使用独立虚拟环境避免项目之间依赖冲突。3.3 磁盘空间ComfyUI 本体很小几百 MB 级别但模型文件很大。SD1.5 模型常见 2GB 到 4GBSDXL 模型常见 6GB 到 7GB视频模型更大。建议给 ComfyUI 留出至少 50GB 可用空间理想情况是单独一个目录放模型方便备份和管理。3.4 端口准备ComfyUI 默认端口是 8188。如果本机 8188 被占用启动会失败或冲突。启动前可以用命令检查端口。# Windows PowerShell 查看 8188 端口占用 netstat -ano | findstr 8188 # Linux / macOS 查看 8188 端口占用 lsof -i :8188如果端口被占用要么关掉占用进程要么在启动命令里换一个端口。4. 安装部署与启动方式部署 ComfyUI 有两条主流路线整合包和官方仓库。新手建议先用整合包跑通再考虑手动安装。4.1 路线一整合包一键启动秋叶整合包是目前最常见的 ComfyUI 一键整合包形态。它把 ComfyUI 主程序、Python 运行时、常用插件、模型管理工具打包在一起解压后通过启动器一键拉起服务。操作流程通常是下载整合包并解压到本地目录。打开启动器选择显卡类型。点击“一键启动”。浏览器自动打开http://127.0.0.1:8188。实际启动器界面可能随版本变化但核心逻辑是一样的选择环境、启动服务、打开 WebUI。遇到启动失败优先看启动器输出的日志日志会直接告诉你是缺模型、缺依赖还是端口被占。4.2 路线二官方仓库手动部署如果你习惯用命令行或者需要在服务器上部署推荐手动安装。下面给出一套通用流程具体路径和版本请以实际项目 README 为准。# 1. 克隆 ComfyUI 仓库 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 2. 创建虚拟环境 python -m venv venv # Windows 激活虚拟环境 venv\Scripts\activate # Linux / macOS 激活虚拟环境 source venv/bin/activate # 3. 安装 PyTorch 和依赖 # 有 NVIDIA 显卡时按 PyTorch 官网指引安装 CUDA 版本 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121 # 4. 安装项目依赖 pip install -r requirements.txt # 5. 启动 python main.py# 修改监听地址和端口示例 python main.py --listen 127.0.0.1 --port 8188如果你是远程服务器部署需要把--listen改为0.0.0.0但这会暴露服务端口必须配合防火墙和访问控制不要把公网端口直接敞开。日常本机使用保持127.0.0.1就够了。4.3 模型文件放哪里启动服务后先别急着画图。ComfyUI 需要模型文件才能生成内容。模型一般放在项目目录的models/checkpoints下不同模型类型对应不同子目录ComfyUI/ └── models/ ├── checkpoints/ # 主模型 ├── loras/ # Lora 模型 ├── vae/ # VAE 模型 ├── controlnet/ # ControlNet 模型 ├── clip/ # 文本编码模型 └── unet/ # 部分视频/扩散模型下载模型时注意来源靠谱优先选择官方或社区验证过的发布渠道。模型体积大建议用支持断点续传的下载工具下载完成后校验一下文件完整性很多奇怪的出图异常都源于模型文件不完整。5. 初识 ComfyUI 工作流界面启动完成后浏览器打开 ComfyUI 默认页面。你看到的是一个空白画布而不是传统软件的按钮面板。所有功能都通过“节点”实现节点之间用连线传递数据。5.1 核心界面元素界面/操作作用画布工作流编辑区可缩放、拖拽节点一个节点完成一项任务如加载模型、编码文本连线连接节点输入输出传递数据右键菜单添加节点、分组、保存截图菜单栏加载工作流、保存工作流、查看执行队列Queue队列点击 Prompt 后排队执行任务基本操作在画布空白处双击会弹出“添加节点”搜索框按下鼠标中键或空格拖拽可以平移画布滚动滚轮缩放画布右键节点可以删除、复制、屏蔽。5.2 理解“节点连接”思维传统软件里“上传图片”“输入提示词”“点生成”是隐藏的逻辑ComfyUI 把这些逻辑直接展示出来。一张图片从模型加载开始经过文本编码、采样、解码最后保存到磁盘每一步都是节点。理解这一点后学 ComfyUI 就变成了三个问题每个节点需要什么输入。每个节点输出什么结果。节点怎么连才能形成一条完整链路。6. 从零搭建一条文生图工作流这是整篇的核心章节。我们以“文生图”为例子把一条最基础的工作流拆开讲然后你把逻辑套到其他任务上。6.1 节点拆解一条最简单的 SD 文生图工作流通常包含以下节点CheckpointLoader加载主模型加载 SD 模型输出模型、CLIP、VAE 三个分支。CLIP Text Encode正向提示词将正向提示词编码为条件向量。CLIP Text Encode负向提示词将负向提示词编码为条件向量。Empty Latent Image空潜空间图像设定生成图像的尺寸和批次数量。KSampler采样器执行扩散采样输入模型、条件、潜空间图像和采样参数。VAEDecodeVAE 解码把潜空间结果转换成像素图像。Save Image保存图像把图像保存到output目录。节点连线顺序CheckpointLoader → 模型 → KSampler → VAEDecode → Save Image CheckpointLoader → CLIP → CLIP Text Encode → KSampler CheckpointLoader → VAE → VAEDecode Empty Latent Image → KSampler6.2 操作步骤右键画布搜索CheckpointLoaderSimple添加到画布。在节点里选择你放入models/checkpoints的模型文件。添加两个CLIP Text Encode一个写正向提示词一个写负向提示词。添加Empty Latent Image设置宽度、高度和批次数量。添加KSampler连接模型、条件、潜空间图像。添加VAEDecode和Save Image。点击右侧菜单的 “Queue Prompt” 或 “运行”。6.3 参数设置建议第一次跑建议用最小参数先把流程跑通再调效果。宽度: 512 高度: 512 批次大小: 1 采样步数: 20 CFG: 7 采样器: Euler 或 Euler a 调度器: normal6.4 判断是否成功运行后画布上会出现一个预览图片节点同时output目录会生成对应的 PNG 文件。成功标志有两个没有红色报错节点、输出图片正常显示。如果某个节点变成红色把鼠标放上去看报错信息最常见的就是“模型路径不存在”和“节点输入未连接”。6.5 提示词与反提示词写法提示词直接决定内容。正向提示词写主体、画风、质量词负向提示词写想排除的东西常见包括低质量、模糊、变形的手等。ComfyUI 不限制提示词语言但底层模型训练决定它对英文的响应更稳定。建议先复制模型作者推荐的示例提示词测试熟悉后再自己组合。7. 图生图与局部重绘工作流文生图跑通后图生图就简单了。图生图的本质是“从一张已有图像开始扩散”而不是从空潜空间开始。7.1 图生图节点替换把文生图中的Empty Latent Image换成下面两个节点Load Image加载本地图片。VAE Encode把图片编码为潜空间图像。连线方式Load Image → VAE Encode → KSampler。VAE 分支从CheckpointLoader输出接入。这样KSampler 的输入就从“空潜空间图像”变成了“真实图片的潜空间编码”。denoise重绘幅度参数控制结果与原始图的差异程度denoise越接近 1结果越自由越接近 0结果越接近原图。一般图生图从 0.4 到 0.6 开始测试。7.2 局部重绘局部重绘通常用蒙版实现。常见做法是加载图片后用笔画工具画出需要重绘的区域然后通过蒙版相关节点传入采样器。这类工作流在社区分享中很常见直接下载加载比自己搭建更快。7.3 ControlNet 工作流ControlNet 是用来“控制构图”的插件机制。它能通过线稿、深度图、姿态图等额外条件约束生成结果。简单理解文生图只靠文本控制ControlNet 增加了一个图像条件控制通道。使用流程一般包括加载 ControlNet 模型、加载控制图片、预处理控制条件、把条件接入采样器。如果你下载的别人工作流里带有 ControlNet 节点务必同时下载对应的 ControlNet 模型否则加载时会提示模型缺失。8. AI 视频生成工作流方向ComfyUI 已经是很多 AI 视频生成模型的默认实验场。和图像生成相比视频工作流的节点链路更长常见包含文本条件编码。图像条件编码图生视频时。视频潜空间初始化。视频采样器。视频解码器。视频保存节点。8.1 从“能不能跑”开始验证视频生成对显存压力远大于图像。第一次测试建议用最小的配置低分辨率、少帧数、短边 256 或 384、帧数 8 到 16 帧。确认能跑通后再逐步提高分辨率和帧数。8.2 长视频与“无限生成”的真相网上经常出现“无限生成视频”的说法。实际工程中并不存在真正无限制时长的一次生成常见做法是生成多个片段再拼接。用首尾帧衔接实现内容延续。通过批量队列自动跑多段视频。这些做法本质上是任务编排正好是 ComfyUI 工作流擅长的领域。但要注意片段拼接可能产生闪烁和内容不一致需要额外的后处理步骤。另外生成和拼接视频必须使用自己拥有合法权利的素材不要用他人视频、影视片段、特定人物肖像做拼接。8.3 视频工作流常见难点显存不足降低分辨率、减少帧数、使用量化版本模型。视频内存溢出不要一次性跑太长视频。输出格式部分模型只输出帧序列或 MP4需要确认保存节点类型。模型版本视频模型更新快同一工作流在旧版本 ComfyUI 上可能无法加载。9. 工作流导入、导出与批量任务ComfyUI 最大的生态优势在于工作流文件可以分享和复现。别人搭好的复杂流程只要下载对应模型和插件加载工作流 JSON 文件就能复用。9.1 导入工作流在 ComfyUI 界面中拖入或点击加载.json文件画布会自动生成完整节点图。如果节点显示为红色或报错通常是缺少自定义节点或模型。解决办法看报错提示确认缺少的是哪个节点。通过 ComfyUI Manager 安装缺失插件。下载对应模型放入指定目录。网络热词里常出现“请安装缺失的包以使用此工作流。要安装缺失的节点,请先在你的 python 环境中运行”这提示的就是依赖缺失问题。无论使用整合包还是手动部署都要通过对应插件管理器安装缺失节点并且安装后需要重启 ComfyUI 才能生效。9.2 导出工作流导出方式很直接菜单点击“保存工作流”或“导出”会得到一个 JSON 文件。分享给他人时一定要附带模型下载说明和插件说明否则对方拿到的只是“节点骨架”跑不起来。9.3 批量任务批量任务通常有两种实现方式方式一单工作流内批次生成Empty Latent Image的batch_size参数可以大于 1一次生成多张图。这种方式简单但一次性占用显存批次过大容易爆显存。方式二外部脚本循环调用更稳妥的做法是写脚本逐次调用 API 提交任务。下面给出一段通用 Python 示例实际接口字段以你的 ComfyUI 版本为准import json import requests # 注意接口地址和请求格式需按实际项目调整 api_url http://127.0.0.1:8188/prompt workflow_path ./my_workflow.json with open(workflow_path, r, encodingutf-8) as f: workflow json.load(f) # 这里需要替换为你工作流中的节点 ID 和字段 # 类似把提示词节点里的 text 改为本次要用的提示词 def update_prompt(node_id, new_prompt): workflow[node_id][inputs][text] new_prompt for i in range(10): update_prompt(6, fa beautiful landscape, variation {i}) response requests.post(api_url, json{prompt: workflow}, timeout60) print(i, response.status_code) # 实际使用时要加延时或等待队列完成避免一次提交过多任务 time.sleep(1)批量任务必须考虑队列堆积和失败重试。建议输出信息写入日志任务完成后再核对结果。不要一次性提交几千个任务然后不管很容易出现异常堆积。10. 接口 API 调用示例ComfyUI 自带 HTTP API很多第三方工具通过这个接口把 ComfyUI 当作后端生成服务。它能把“工作流”打包成一个请求发送给服务端执行。10.1 基本流程启动 ComfyUI 服务。准备好一个工作流 JSON。通过 HTTP 接口提交工作流。轮询执行结果。这种方式适合需要自动化集成的用户比如前端应用调用 ComfyUI 生成图片或者 CMS 系统在文章发布时自动生成配图。10.2 API 调用通用模板下面是一个通用模板接口路径和参数格式需要按你的 ComfyUI 版本调整# 查看服务是否正常 curl http://127.0.0.1:8188/system_statsimport requests import json # 提交任务 resp requests.post( http://127.0.0.1:8188/prompt, json{prompt: workflow_json}, timeout30, ) print(resp.json())注意API 提交的是工作流数据不是处理后的图像文件。图像生成完成后需要通过输出目录或另一个查询接口获取结果。10.3 API 使用边界API 服务面向的是本机或内网调用。如果绑定了公网地址必须加认证和访问限制否则任何人都可能提交生成任务导致显卡被占满、磁盘被写满。最简单的做法是保持本机监听用反向代理加 Token 再做转发。11. 资源占用与性能观察这个部分直接回答“为什么我的机器跑得慢”“为什么爆显存”。11.1 如何观察显存占用Windows 下用任务管理器查看 GPU 显存。使用 NVIDIA 官方命令nvidia-smi -l 2运行生成任务时观察显存变化。如果任务执行中显存接近满载说明设置已经贴近硬件极限如果直接报 CUDA out of memory需要降低分辨率、减少 batch_size、缩小模型体积。11.2 影响性能的关键参数参数影响分辨率越高越吃显存推理时间增长明显采样步数步数越多越慢但画质不一定线性提升批次大小一次生成多张会显著提高显存占用模型版本SDXL 比 SD1.5 更吃显存视频帧数帧数翻倍显存需求几乎翻倍ControlNet额外增加一组模型的推理开销11.3 降低显存占用的通用思路开启动态显存管理或低显存模式选项中可能存在类似--lowvram的启动参数。使用量化模型如 GGUF 量化版本网上已有相关讨论。降低分辨率大图用“小图生成 高清放大”流程。减少 batch_size。关闭不必要的预览节点。视频任务先跑短片段确认效果再跑长片段。11.4 进程残留和端口问题跑完任务后如果关掉浏览器但没关服务进程端口会继续占用。下次再启动会出现端口冲突。解决办法是把旧的 ComfyUI 进程完全结束或者直接换端口启动。多次启动失败的先看一下任务管理器里有没有残留进程。12. 常见问题与排查方法问题现象可能原因排查方式解决方案启动后页面打不开端口被占用或服务未启动成功查看启动日志检查端口更换端口或重启服务节点显示红色报错节点输入未连接、参数类型不匹配阅读报错信息检查连线按节点输入要求重新连接工作流提示缺少自定义节点他人工作流用了未安装的插件查看顶部缺失节点提示用 ComfyUI Manager 安装对应插件模型文件不显示模型放错目录检查models/checkpoints路径移动模型文件到正确目录CUDA out of memory显存不足用nvidia-smi查看显存占用降低分辨率、减小 batch、使用低显存模式出图全黑或花屏VAE 缺失或模型文件损坏检查 VAE 节点是否为空加载正确 VAE重新下载模型API 调用返回错误请求格式不对或工作流 JSON 结构不匹配先打印工作流 JSON 检查节点 ID对照实际工作流调整字段批量任务卡住队列堆积或单个任务卡死查看任务队列状态检查日志增加超时重试拆小批任务画质差、肢体崩坏提示词质量差、模型版本旧、步数太少更换模型参考社区示例参数增加步数使用更成熟的模型12.1 关于“提示缺失节点”的处理这类报错是新手最容易遇到的。别人分享的工作流用了你没有安装的自定义节点加载后就会出现缺失提示。处理方法按优先级先装 ComfyUI Manager用它的 “Install Missing Custom Nodes” 功能。确认缺失节点的 GitHub 地址手动手动安装。安装完成后重启 ComfyUI再加载工作流。不要在加载报错后直接删节点那样会把工作流拆散。正确的做法是装上缺失组件完整加载后再修改。12.2 关于“模型路径不存在”加载工作流时报模型路径不存在几乎都是因为本地models目录没有对应文件。看到这种报错先检查模型是否下载完整再检查文件名是否和节点里写的一致。有些工作流里写的是分享者本机的绝对路径加载后需要重新选择模型文件。13. 最佳实践与合规提醒ComfyUI 是个工具工具本身不产生问题使用方式才决定边界。这里给出一套适合长期使用的工程化建议也把合规边界说明白。13.1 工程化建议第一次跑任何新模型先用小参数验证流程确认能出图再加大规模。保存一套最小可运行工作流遇到复杂流程跑挂了可以随时回退。模型、输入素材、输出结果分目录管理例如models、inputs、outputs、temp分开。批量任务加日志和失败重试任务状态记录到文件或数据库。接口服务只监听本机或内网必要时加 Token 认证。下载工作流和模型时选择可靠来源不要使用不明压缩包。定期备份你自己搭建的工作流 JSON 和关键配置。13.2 合规使用边界本地部署最大的价值是数据可控但不代表可以随意使用。下面几条必须注意涉及真实人物肖像、声音素材时必须确认授权。涉及版权图片、影视片段、品牌元素时不得未经许可用于商用或公开传播。生成内容不得用于欺诈、诽谤、色情、暴力等违规场景。对外提供 API 服务时要明确服务条款和审核机制防止被滥用。模型本身的许可证也要检查部分模型只允许非商用商用要考虑授权。这些不是套话而是实际使用中容易踩坑的地方。尤其在视频生成、图生视频、人物一致性这类任务里素材来源越清晰后续风险越小。14. 总结与下一步ComfyUI 最值得尝试的点是它把 AI 绘画和 AI 视频生成的流程变成了一幅可以自由修改的节点图。你不需要在几十个隐藏选项里猜每一层逻辑都能看到、都能改。对想深入控制生成效果的用户来说这套思维比任何具体操作都重要。如果你现在刚装好 ComfyUI建议按这个顺序验证先加载官方自带模型跑一条文生图工作流再尝试把Empty Latent Image替换成Load Image和VAE Encode做图生图接着去社区下载两三个热门工作流重点看别人是怎么连接节点的最后再考虑批量任务和 API 调用。最容易踩的坑集中在三处模型文件放错目录、缺少自定义节点、显存设置不合理。这三个问题占了新手报错的绝大部分。解决思路就一句话按报错信息一步步追不要盲目删节点或重装整个软件。后续可以继续扩展的方向包括ControlNet 控制、Lora 训练、视频生成工作流、API 自动化对接、模型量化优化。ComfyUI 的生态更新很快建议多关注社区分享的工作流作品看到感兴趣的结构就直接导入研究这是学习效率最高的一条路。