ComfyUI 这两年发展速度非常快,已经从「折腾党的玩具」变成了很多团队实际生产环境里的核心工具。但新手刚接触时,最容易遇到的困境是:下载了一个整合包,打开后面对一片空白的工作区,不知道从哪里下手;好不容易加载了别人分享的工作流,结果满屏红色报错,提示缺节点、缺模型、缺依赖。本文就是一套从零开始的 ComfyUI 入门到进阶实操笔记,围绕秋叶整合包展开,涵盖安装方式、核心概念、基础工作流搭建、常用节点解析、报错排查思路和工程化建议。文章会尽量把每个步骤背后的原理讲清楚,而不只是机械地告诉你「点哪里」。
适合以下几类读者:第一次接触 ComfyUI、想系统学习工作流搭建的零基础用户;已经会用 WebUI 但想迁移到 ComfyUI 的 Stable Diffusion 用户;需要在本地部署 AI 绘画工作流、做批量出图或二次开发的开发者。读完本文后,你应该能独立完成 ComfyUI 的安装部署,理解节点式工作流的核心逻辑,搭建一个可用的文生图工作流,并掌握最常见的节点缺失和运行报错排查方法。
1. ComfyUI 是什么,为什么要学它
1.1 ComfyUI 与 WebUI 的核心差异
ComfyUI 是一个基于节点图(Node Graph)方式的 Stable Diffusion 图形界面工具。它把 AI 绘画的过程拆分成一个个独立的节点,例如「加载模型」「输入提示词」「采样器」「VAE 解码」「保存图像」,然后用连线把这些节点按顺序连接起来,形成一条完整的流水线。
传统 WebUI 的思路是「表单填写」,用户在网页上填参数、选模型、点生成;ComfyUI 的思路是「流程编排」,用户自己决定数据从哪个节点流向哪个节点。这听起来好像更复杂,但也带来了几个关键优势:
- 显存占用更低。ComfyUI 的模型加载和计算过程更精细,可以在中低端显卡上运行较大的模型。
- 流程可复用性更强。工作流可以导出为 JSON 文件分享给他人,别人直接拖入即可运行。
- 组合自由度更高。可以同时加载多个模型、多条提示词分支,甚至串联 ControlNet、LoRA、局部重绘等复杂操作。
1.2 节点图工作流的基本逻辑
理解 ComfyUI,首先要理解「节点」和「连线」这两个概念。节点是一个功能单元,比如「Load Checkpoint」负责加载大模型,「CLIP Text Encode」负责把文本变成模型能理解的条件向量,「KSampler」负责执行采样过程。连线则是数据在节点之间的传递通道。
举个生活化的例子:可以把 ComfyUI 理解成一条咖啡生产线。烘好的咖啡豆(Checkpoint 模型)先进入研磨机(VAE 编码)变成咖啡粉,然后注水(CLIP 文本编码)浸泡,最后过滤(采样器)得到一杯咖啡。每个设备就是一个节点,设备之间的传送带就是连线。如果你想换一种咖啡豆,只需要换掉「加载模型」这个节点;如果你想加奶,就在过滤之后加一个「加奶」节点。整个流程一目了然。
1.3 应用场景与学习价值
ComfyUI 的常见使用场景包括:
- 本地 AI 绘画:文生图、图生图、局部重绘、扩图。
- 批量出图:通过 API 或脚本批量生成素材,适合电商设计、新媒体配图、游戏原画前期概念图。
- 工作流分享与二次开发:从社区下载别人分享的高质量工作流,在此基础上调整参数或替换模型。
- 配合 LoRA、ControlNet、AnimateDiff 等插件,实现风格迁移、姿态控制、视频生成等进阶功能。
如果你只是想随便生成几张图,WebUI 可能更省心;但如果你需要稳定复现效果、批量处理、或者做深度定制,ComfyUI 的学习曲线是值得投入的。从职业发展角度看,AI 绘画工作流的设计能力也逐渐成为设计、内容、算法岗位的一个加分项。
2. 环境准备与安装方式
2.1 硬件与系统要求
ComfyUI 的核心依赖是 PyTorch 和 CUDA,因此显卡性能直接决定出图速度和能加载的模型大小。实际部署时,建议关注以下最低配置:
| 配置项 | 推荐要求 | 备注 |
|---|---|---|
| 操作系统 | Windows 10/11、Ubuntu 20.04+ | 本文重点讲 Windows 环境 |
| 显卡 | NVIDIA 显卡,显存 4GB 起 | 8GB 以上体验较好 |
| 内存 | 16GB 起 | 大模型加载和批量出图时内存占用较高 |
| 硬盘 | 建议预留 50GB 以上 | SD1.5 模型约 2-4GB,SDXL 模型约 7GB,LoRA 约几十到几百MB |
| Python | 3.10 - 3.11 为佳 | 整合包一般自带,不需要单独安装 |
如果你的显卡是 AMD 或 Intel 显卡,或者 Mac 电脑,ComfyUI 也有对应的支持方式,但配置步骤和依赖库不同,本文不做重点展开。下面以 Windows + NVIDIA 显卡 + 秋叶整合包为例讲解。
2.2 秋叶整合包与官方包怎么选
新手最关心的问题是:秋叶整合包和官方原版到底选哪个?
秋叶整合包是一键打包的发行版,内置了 Python 环境、PyTorch、ComfyUI 主体、常用自定义节点、模型管理器等。它的最大优点是省去了手动配置环境的步骤,下载解压即可使用,非常适合零基础用户。
官方原版则是从 GitHub 拉取的源码,需要自己创建 Python 虚拟环境、安装依赖、手动下载模型。优点是完全可控,方便二次开发和升级,但配置门槛高。
个人建议:新手先用秋叶整合包跑通全流程,理解工作流和节点概念,等有经验后再换用官方包做定制化部署。这不冲突,很多开发者都会同时保留两个环境,一个用于日常快速出图,一个用于开发测试。
秋叶整合包的使用方式很简单:下载整合包压缩包后,解压到不含中文和空格的路径中(例如D:\ComfyUI-aki),双击A绘世启动器.exe或对应的启动脚本即可。整合包通常自带模型目录和自定义节点目录,不需要自己做环境变量配置。
需要提醒的是,网络上的整合包版本非常多,发布时间也有差异。建议关注发布页面里的更新日志,选择较新且稳定的版本。具体版本号以你下载的包为准,本文的配置和操作逻辑在近几个版本中都是通用的。
2.3 官方源码安装方式(可选)
如果你后续想部署在 Linux 服务器上,或者需要二次开发,可以按以下步骤手动安装:
# 1. 克隆官方仓库 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 2. 创建 Python 虚拟环境 python -m venv venv source venv/bin/activate # Windows 下使用 venv\Scripts\activate # 3. 安装 PyTorch(以 CUDA 11.8 为例,具体以 PyTorch 官网为准) pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 4. 安装 ComfyUI 依赖 pip install -r requirements.txt # 5. 启动 python main.py启动成功后,浏览器访问http://127.0.0.1:8188即可打开 ComfyUI 界面。手动安装时最容易出错的是 PyTorch 版本与 CUDA 版本不匹配,建议先通过nvidia-smi和python -c "import torch; print(torch.cuda.is_available())"验证环境。
2.4 模型放置目录
ComfyUI 的模型目录结构比较固定,不同类型的模型放在不同位置。整合包里的目录结构通常如下:
ComfyUI/ ├── models/ │ ├── checkpoints/ # 大模型,如 SD1.5、SDXL │ ├── loras/ # LoRA 模型 │ ├── vae/ # VAE 模型 │ ├── controlnet/ # ControlNet 模型 │ ├── embeddings/ # Textual Inversion 嵌入 │ └── upscale_models/ # 放大模型,如 ESRGAN ├── custom_nodes/ # 自定义节点插件 ├── output/ # 默认输出图片目录 ├── input/ # 用于图生图等需要输入图片的操作 └── user/ # 工作流保存文件新手常犯的一个错误是把 LoRA 放到了 checkpoints 目录,或者把 VAE 文件混放在大模型目录里。虽然 ComfyUI 有时也能自动搜索到,但为了清晰管理,最好按目录放置。秋叶整合包一般都内置了模型管理器,可以在界面中自动下载模型并放到对应目录,这是非常大的便利。
3. ComfyUI 核心节点原理解析
在开始搭建工作流之前,必须先把核心节点的作用搞清楚。一个最基础的文生图工作流通常由 6 个节点组成:加载模型、文本编码(正向)、文本编码(负向)、采样器、VAE 解码、保存图像。
3.1 Load Checkpoint:加载大模型
这个节点负责加载.safetensors或.ckpt格式的大模型文件。它有三个输出端口:
- MODEL:UNet 模型,用于执行扩散过程。
- CLIP:文本编码器,用于把文字提示词转换成条件向量。
- VAE:变分自编码器,用于把图像从潜空间转换回像素空间。
理解这三个输出非常重要。如果你只想做文生图,三个端口都要连;但如果做图生图,你只需要 MODEL 和 CLIP;如果你有单独的 VAE 文件,可以用Load VAE节点替代大模型自带的 VAE。这个节点的参数只有ckpt_name,也就是选择哪个模型文件。
3.2 CLIP Text Encode:文本编码节点
正向提示词和负向提示词各接一个 CLIP Text Encode 节点。它的核心参数是text文本框,输入的内容就是写给你的提示词。输出结果是CONDITIONING(条件向量),这个向量会被送入采样器,作为生成图像的引导条件。
为什么需要区分正负提示词?在 diffusion 模型里,生成过程是一个逐步去噪的过程。正向提示词告诉模型"图像里应该包含什么",负向提示词告诉模型"图像里不应该出现什么"。例如生成一张女孩肖像,正向写a beautiful girl, detailed face, soft lighting,负向写blurry, bad anatomy, watermark, text。负向提示词不是必须的,但通常能明显提升出图质量。
3.3 KSampler:采样器节点
这是整个工作流中最核心、参数最多的节点:
seed:随机种子。固定种子值时,同样参数下出图结果可复现;不同种子产生不同随机噪声,影响生成图像的构图和纹理。control_after_generate:种子变化方式,如randomize、fixed、increment。steps:采样步数。步数越多,理论上细节越丰富,但耗时也越长。SD1.5 常用 20-30 步,SDXL 常用 25-40 步。cfg:提示词引导系数。数值越大,图像越贴近提示词,但过大容易导致色彩过饱和或伪影,常用范围 5-10。sampler_name:采样器名称,如euler、euler_ancestral、dpmpp_2m、ddim等。不同采样器对细节和速度的表现不同。scheduler:调度器,常见的有normal、karras、simple。调度器影响每步噪声的衰减方式。denoise:去噪强度。文生图时通常为 1.0;图生图和重绘时,这个值控制在 0.3-0.6 之间能保留原图结构。
新手经常纠结"哪个采样器最好",其实没有绝对答案。实践上的建议是:先用默认参数跑通流程,然后固定 seed,只改采样器和调度器对比结果,慢慢体会不同组合的差异。
3.4 VAE Decode:解码节点
扩散模型是在潜在空间(latent space)中操作的,生成的结果是一个低分辨率的潜在表示,必须通过 VAE 解码器把它还原成真实像素图像。VAE Decode 的输入是samples(来自采样器的输出),输出是IMAGE(可以被保存或作为图生图输入的图像数据)。
3.5 Save Image:保存图像节点
该节点接收IMAGE数据,把图像保存到output目录。它的filename_prefix参数决定输出文件名前缀。整合包里一般还会有Preview Image节点,可以在界面上直接预览图片而不落盘。
以上 5 个节点连起来,就是一条完整的文生图链路。理解了这条链路,后面的图生图、ControlNet、LoRA 工作流都是在这条主链上添加分支。
4. 实战:从零搭建一个文生图工作流
下面我们实际动手,在秋叶整合包里搭建一个最基础的文生图工作流。初次操作请全程跟着步骤走,不要着急加节点。
4.1 启动 ComfyUI 并打开默认工作流
双击启动器,等待黑窗口加载完成,浏览器会自动打开 ComfyUI 界面(如果没有,手动访问http://127.0.0.1:8188)。首次启动时,ComfyUI 会默认加载一个空白模板工作流,界面上可能已经存在部分节点,如果觉得乱,可以直接全选删除,然后右键选择新建节点重新搭建。
建议先点击菜单栏的「设置」,在界面语言里切换为中文(整合包通常已汉化),方便对照本文操作。
4.2 添加基础节点
在空白处双击鼠标左键(或右键呼出菜单),会弹出节点搜索框。依次搜索并添加以下 6 个节点:
Load CheckpointCLIP Text Encode(添加两次,分别用于正向提示词和负向提示词)KSamplerVAE DecodeSave Image
添加节点后,它们默认分布在不同的位置。你可以拖拽节点标题栏移动布局,在节点右侧按住连线拖动到另一个节点左侧端口建立连接。
4.3 节点连线说明
最基础的工作流连线遵循严格的数据流方向。下面逐一说明每个节点之间的连接关系:
首先,Load Checkpoint节点有三个输出端口。把MODEL输出端口连接到KSampler的model输入端口;把CLIP输出端口同时连接到正向CLIP Text Encode节点和负向CLIP Text Encode节点的clip输入端口;把VAE输出端口连接到VAE Decode节点的vae输入端口。
两个CLIP Text Encode节点各有一个CONDITIONING输出端口。正向提示词节点的输出连接到KSampler的positive输入端口;负向提示词节点的输出连接到KSampler的negative输入端口。
KSampler节点的latent_image输入端口需要接一个Empty Latent Image节点的输出。这个节点用于指定生成图像的尺寸和批次大小,是文生图链路中必不可少的一环。在搜索框中找到Empty Latent Image节点并添加,它的参数包括width、height和batch_size。比如要生成 512x768 大小的图,就在width填 512,height填 768,batch_size填 1。
KSampler的输出端口LATENT连接到VAE Decode的samples输入端口。最后,VAE Decode的输出端口IMAGE连接到Save Image节点的images输入端口。
4.4 参数设置
连线完成后,还需要设置各个节点的参数。以 SD1.5 模型为例,建议初始参数如下:
Load Checkpoint节点选择你下载好的大模型文件,例如dreamshaper_8.safetensors。
正向提示词节点输入:
a beautiful girl, detailed face, soft lighting, masterpiece, best quality负向提示词节点输入:
blurry, bad anatomy, watermark, text, low qualityKSampler节点参数:seed可以随意填一个数字(例如 12345)并保持control_after_generate为randomize;steps设为 20;cfg设为 7;sampler_name选择dpmpp_2m;scheduler选择karras;denoise保持默认 1.00。
Empty Latent Image节点参数:width512,height768,batch_size1。
这里特别注意:如果你使用的是 SDXL 模型,建议将width设为 1024,height设为 1024 或 1216,cfg可以适当降低到 5 左右。SD1.5 和 SDXL 的最优分辨率区间差异明显,使用错误分辨率容易导致构图崩坏或人物变形。
4.5 运行与验证
全部设置完成后,点击界面右侧的「执行」按钮(有些版本是「运行」或「Queue Prompt」),观察工作流执行过程。执行时,节点边框会变成绿色并依次高亮,表示正在执行中。如果一切正常,Save Image节点会输出一张图片,点击预览即可查看生成结果。
首次运行时你会注意到,加载模型需要数秒到数十秒不等,这取决于显卡性能。生成 20 步 512x768 的图像,在主流消费级显卡上通常只需要十几秒;在纯 CPU 环境下可能需要几分钟,建议尽量使用 NVIDIA 显卡运行。
如果看到红色报错节点,不要紧张,后面单独讲排查方法。现在的目标是跑通流程,理解数据流。
5. 进阶实战:图生图与局部重绘
5.1 图生图的核心区别
图生图和文生图的区别在于输入。文生图从随机噪声开始,图生图则从一张现有图片开始,通过denoise参数控制保留原图信息的程度。在图生图工作流中,原始图片先通过 VAE 编码(VAE Encode)转换到潜在空间,再输入采样器进行去噪。
5.2 搭建图生图工作流
在基础文生图工作流上做三处修改:
第一,添加Load Image节点,用来加载本地图片。把Load Image节点的IMAGE输出连接到VAE Encode节点的pixels输入端口。第二,添加VAE Encode节点,将图片编码到潜在空间。把Load Checkpoint的VAE输出连接到VAE Encode的vae输入端口。第三,将VAE Encode的LATENT输出连接到KSampler的latent_image输入端口,替换掉原来的Empty Latent Image节点。
此时KSampler节点里的denoise参数非常关键。填入 1.0 表示完全重绘,生成结果几乎不保留原图;填入 0.5 表示保留约一半原图信息;填入 0.3 以下时,相当于只对原图做轻微调整。实际场景中,img2img 的denoise通常在 0.4 到 0.7 之间最实用,太低则改动不明显,太高则容易造成原图语义丢失。
5.3 局部重绘工作流
局部重绘是在图生图基础上增加一个蒙版(mask)控制,让模型只重绘图片的特定区域,其他区域保持原样。这是电商修图、换装、修复手部等最常用的功能。
实现局部重绘的思路是:把原始图像复制一份到input文件夹,在Load Image节点中加载图片后,通过Load Mask或绘图蒙版节点标注出需要重绘的区域。ComfyUI 原生的VAE Encode (for Inpainting)节点会把原图、蒙版和潜在空间数据组合在一起,然后传入采样器。由于局部重绘涉及的蒙版工具在不同版本中差异较大,建议先使用整合包内置的蒙版示例工作流作为模板,再逐步理解其中的节点逻辑。
6. 常见报错与排查思路
新手加载工作流时,最常遇到的就是「节点在执行过程中发生错误」的红色提示。报错信息通常会提示具体是哪个节点出了问题,比如Load Checkpoint或KSampler。下面列出几个最高频的错误类型和排查方法。
6.1 缺失自定义节点或依赖包
这是一类非常典型的错误。当你从社区下载一个工作流 JSON 文件并拖入 ComfyUI 时,如果对方使用了你没安装过的自定义节点插件,界面会弹出一段黄字提示:
请安装缺失的包以使用此工作流。要安装缺失的节点,请先在你的 python 环境中运行...出现这个提示的根本原因有几个:你没安装对应的 custom node;自定义节点已经安装,但是依赖的 Python 包缺失;或者工作流是在更高版本 ComfyUI 中创建的,你当前的版本不兼容。
解决思路如下:
- 检查缺失提示中列出的节点名称,一般为
ComfyUI-xxx格式。 - 在
custom_nodes目录下查看是否已存在该文件夹。 - 如果不存在,进入该自定义节点的 GitHub 页面,按照 README 介绍的安装方式安装。秋叶整合包一般内置了「管理器(Manager)」,可以直接搜索并安装缺失节点。
- 如果节点已存在但仍然报错,进入该节点目录执行
pip install -r requirements.txt安装依赖。
在秋叶整合包中,管理器还提供了一键安装缺失节点的功能,打开管理器点击「安装缺失自定义节点」即可自动从 GitHub 拉取。需要注意网络状态的稳定性,如果多次拉取失败,可以手动到节点仓库下载压缩包解压到custom_nodes目录。
6.2 模型加载失败
报错形如ValueError: Cannot load checkpoint file或直接提示找不到文件。常见原因有两种:模型文件没有放在正确的目录下;模型文件本身损坏或不完整。排查时先确认models/checkpoints目录下存在你选择的模型文件,再确认文件大小与发布页标注一致。个别情况下,文件名包含中文或特殊字符也会导致读取异常,建议统一改为英文字母和数字组合。
| 问题现象 | 常见原因 | 解决思路 |
|---|---|---|
| 启动后打开页面空白 | 浏览器缓存或端口被占用 | 清缓存、更换端口启动 |
| 提示找不到模型 | 模型未放入 checkpoints 目录 | 检查文件位置,重命名文件 |
| 执行时报显存不足 | SDXL 大图或 batch 太大 | 降低分辨率、减少 batch_size |
| 节点一直显示排队 | 上一次任务卡死 | 重启 ComfyUI,查看控制台日志 |
| 生成图片全黑 | VAE 未连接或模型不完整 | 检查连线,重新下载模型 |
| 图片出现大量重复纹理 | CFG 过高或采样器不合适 | 降低 CFG,更换采样器 |
6.3 显存不足(Out of Memory)
报错信息中通常包含torch.OutOfMemoryError或CUDA out of memory。处理方法按优先级排序:
- 降低生成分辨率,例如从 1024x1024 降到 768x768。
- 降低
batch_size,每次只生成一张。 - 在启动器中开启显存优化选项(如
--lowvram或--medvram参数)。 - 关闭占用显存的其他程序,尤其是浏览器中打开大量标签页。
- 如果使用 SDXL 模型,考虑改用 SD1.5 模型,显存占用差距明显。
如果是秋叶整合包,在启动器界面里有显存优化设置,可以勾选「启用低显存模式」。调整后再尝试运行。
6.4 采样器参数错误
这类报错一般不多,但如果版本差异较大,某些采样器名称可能不一致。解决方法是把sampler_name切换为euler或dpmpp_2m,scheduler切换为normal,这两个组合兼容性最好,基本所有版本都能运行。
7. 最佳实践与工程化建议
7.1 保持工作流整洁
工作流本身也是代码,也需要可维护性。实际项目中,建议养成以下习惯:
- 节点重命名:双击节点标题,可以把
CLIP Text Encode重命名为「正向提示词-封面风格」这类容易识别的名称。多人协作时,这能节省大量沟通成本。 - 用不同颜色分组:ComfyUI 支持节点颜色标记,把采样、加载模型、图像处理等不同模块用不同颜色区分,方便快速定位。
- 去除冗余节点:自己实验时经常会产生一些没接线的残留节点,保存前删除它们,避免工作流文件膨胀。
- 固定关键参数:对外分享或团队复用时,把 seed、步数等参数写清楚注释,别人拿到工作流后能复现结果。
7.2 模型管理规范
随着模型越下载越多,目录混乱会严重影响工作效率。这里分享一套经过验证的目录管理方式:
在models/checkpoints下按用途分子目录,如SD15、SDXL、写实、二次元。LoRA 文件命名建议带上版本号和风格标识,例如dreamshaperXL_v21_写实.safetensors。不常用的模型移动到外部备份盘,只在需要时拷贝回来,减少启动扫描时间。
换模型时注意:不同底模改造的 LoRA 不能随意混用。SD1.5 的 LoRA 不能直接用于 SDXL,否则会报 Shape mismatch 错误。加载 LoRA 时,确保底模类型匹配。
7.3 工作流版本控制与备份
对于常用工作流,建议把 JSON 文件保存到单独的目录(如D:\workflows),并按日期和用途命名,例如20260115_电商海报_文生图.json。养成「每次大改动后保存一个新版本」的习惯,不要一直覆盖同一个文件。万一参数调乱或节点删错了,可以随时回退到以前的版本。
如果工作流中使用了外部图片(如 ControlNet 参考图、局部重绘蒙版),这些图片默认保存在input目录下。分享工作流时,必须同时把用到的图片打包发给对方,否则对方加载工作流后会发现图片丢失。
7.4 安全与合规提醒
本地部署虽有便利性,但也要注意合规问题:
- 不要使用未经授权的模型和素材,注意模型许可证。
- 企业项目中使用 AI 生成内容时,确认训练数据的版权合规性。
- 涉及肖像、品牌、商标的内容生成,注意使用边界。
- 不要尝试生成违法违规内容。
- 生产环境批量出图时,建议通过 API 方式调用,这样便于鉴权和审计,不建议直接开放公网端口。
7.5 性能优化建议
批量出图时,性能优化直接影响效率。优先从这几个方面入手:
- 固定采样器为
dpmpp_2m加karras调度器,在画质和速度之间比较均衡。 - 前几次实验用低步数(如 12-15 步)快速验证构图,确定满意后再用高步数出最终图。
- 生成大图时,先用小图生成再通过放大模型(Upscale)放大,通常比直接生成大图更能保证质量。
- ComfyUI 界面本身也会占用少量显存,批量任务跑完一批后,可以使用
Empty Latent Image的batch_size参数一次生成多张,但要注意显存上限。 - 关注秋叶整合包的更新公告,新版通常会在性能上有优化,可以每隔一段时间更新一次。
8. 学习路线与下一步
如果你已经跟着本文跑通了第一个文生图工作流,那么下一步可以按这个顺序继续深入:
第一阶段,掌握基础节点。把本文的核心节点反复拖拽、连线、调整参数,尤其是 KSampler 的采样器、调度器、CFG、seed 的搭配效果,通过固定变量法逐个理解每个参数的意义。这是所有复杂工作流的基础。
第二阶段,学习 LoRA 节点。在文生图工作流中加入Load LoRA节点,理解它是如何与大模型叠加的。试着用同一底模搭配不同 LoRA,对比风格差异。
第三阶段,学习 ControlNet。ControlNet 可以控制姿态、线稿、深度、边缘等条件,是出图从「碰运气」到「可控」的关键工具。可以先从OpenPose姿态控制和Canny边缘检测入手。
第四阶段,学习 AnimateDiff 和视频生成。AnimateDiff 可以让静态工作流动起来,生成短视频序列。这一步涉及更长的执行时间,也更考验硬件。
第五阶段,学习 ComfyUI 的 API 模式。通过http://127.0.0.1:8188的 API 接口,你可以用 Python 或 Node.js 脚本调用工作流,实现批量出图和系统集成。这是把 ComfyUI 从「本地工具」升级为「工程模块」的关键一步。
秋叶整合包里的管理器本身也内置了很多示例工作流模板,强烈建议充分利用这个资源库。先「拆解」别人的工作流——把每个节点都点开看一遍,手动删除节点看会怎样,重新连线看报什么错,这种试错式的学习方法远比看教程印象更深。
安装遇到问题很正常,工作流报错也不可怕。关键是把报错信息完整地看一遍,大多数报错提示已经告诉了你原因和位置。希望这篇文章能帮你少走一些弯路,顺利进入 ComfyUI 的世界。如果本文对你有帮助,可以收藏备用,后续遇到问题也方便回来查阅。