closerAI · ComfyUI 教程0%
closerAI 出品 · 中文可视化互动教程

closerAI · ComfyUI 从零开始节点式 AI 绘图入门

像搭乐高一样组装 AI 绘图工作流。从安装、认识界面、理解节点与连线, 到亲手跑通第一次文生图——这门互动教程带你 30 分钟完成从零到一的跨越。

100%

免费开源

GPL 协议,社区驱动

0 行

代码门槛

纯可视化节点操作

19 章

循序渐进

从安装到 2026 新模型

13 个

互动组件

实验室 / 计算器 / 选择器

01

认识 ComfyUI

在动手安装之前,先搞清楚它是什么、能做什么、为什么值得一学

ComfyUI 是一个基于节点的图形界面, 用于搭建 扩散模型(Stable Diffusion、Flux 等)的生成流程。你可以把它理解成一份「菜谱编辑器」:每个节点是一条烹饪步骤连线是食材的传递路径提示词和模型是食材, 而最终生成的图片就是端上桌的菜。

与传统的表单式绘图界面不同,ComfyUI 把每一步操作都显式地摆在画布上:模型从哪里来、提示词如何被处理、图像经过哪些加工, 全部清晰可见。这种「所见即所得」的透明性,让你在排查问题、复现效果、改造工作流时 都拥有完全的掌控力——这正是它成为专业 AI 创作者首选工具的原因。

💡 小贴士

完全不想装软件?可以先用官方云服务 Comfy Cloud 体验完整功能,用 Google 账号登录后每月赠送 400 积分,本教程的所有概念在云端同样适用。
ComfyUI 工作流示例
一个真实的工作流:节点分块布置、连线传递数据,最右侧输出成品图
🧩

节点式可视化编程

把「加载模型 → 编码提示词 → 采样生成 → 保存图片」拆成一个个小方块,用连线组合成工作流。流程一目了然,想改哪步改哪步。

🔓

免费开源 · 无订阅

GPL 开源协议,代码完全公开,由庞大的社区共同维护。没有积分制、没有订阅费,你的显卡你做主。

🎬

图像 / 视频 / 音频 / 3D 全能

不只是画画:视频生成、音频处理、3D 内容(TRELLIS)都有官方模板支持,一个工具覆盖多种媒体生成。

🌍

活跃的扩展生态

数千个社区自定义节点即装即用:ControlNet 精准控图、Region 提示词、动画制作……配合 Manager 管理器一键安装。

和传统绘图界面(WebUI)有什么区别?

维度表单式界面ComfyUI 节点式
上手难度图形界面 + 表单,上手快节点有学习成本,但本教程 30 分钟带你入门
灵活性固定流程,功能受界面限制任意组装流程,同一画布可以跑完全不同的任务
复现与分享参数截图容易遗漏图片内嵌工作流,拖图即可 1:1 还原别人作品
进阶空间依赖作者更新功能生态开放,数千社区节点按需扩展
02

安装指南

四种安装方式任选其一:新手推荐桌面版,爱折腾选便携版或手动安装

📋先看看你的电脑能不能跑

🎮显卡 GPU

推荐 NVIDIA ≥ 6GB 显存;AMD / Apple Silicon / Intel 显卡亦支持

4GB 以下可用 --lowvram 模式或跑 CPU 版

🧮内存 RAM

建议 ≥ 16GB

加载大模型时内存与显存同样关键

💾硬盘空间

≥ 50GB 可用空间(推荐 SSD)

单个主模型 2~7GB,素材库会越积越多

🖥️操作系统

Windows 10+ / macOS 12+ / 主流 Linux

便携版目前仅 Windows

⚠️ 先自查网络环境

模型文件托管在 Hugging Face / GitHub 等平台,国内网络建议提前准备好代理或镜像加速, 否则安装顺利、下载模型卡住是最常见的「新手翻车点」。

⚙️选择你的安装方式

Comfy 桌面版 · Windows

推荐新手难度

Windows 10+ · 推荐 NVIDIA / AMD 显卡

官方桌面应用,安装体验最接近普通软件,内置 Python 环境与 ComfyUI Manager,默认跟踪稳定版。

  • 图形化安装向导
  • 自动管理 Python 环境
  • 内置模型/节点管理器
  • 更新通道可切换稳定版

安装步骤

  1. 1前往 GitHub Releases 页面(Comfy-Org/Comfy-Desktop)下载 Windows 安装包
  2. 2双击运行安装程序,选择安装位置(建议剩余空间 ≥ 50 GB 的磁盘)
  3. 3首次启动会自动下载并配置 ComfyUI 运行环境,等待进度完成
  4. 4启动后在设置中把界面语言切换为中文(Settings → Comfy → Locale)
  5. 5打开模板库选择 Text to Image 模板,按提示自动下载模型即可开始

💡 装不上?

90% 的安装问题源于路径包含中文或空格——请把 ComfyUI 安装在纯英文路径下,如 D:\AI\ComfyUI

💡 更新方式

桌面版内置更新按钮;便携版运行 update 脚本;手动安装执行 git pull

💡 不想安装?

直接使用云端版 cloud.comfy.org,或先在下一章的「交互实验室」里零门槛体验工作流。
03

界面导览

点击截图上的发光圆点,逐一认识 ComfyUI 界面的 9 个组成部分

ComfyUI 新版界面
👆 点击圆点查看对应区域说明
2

左侧面板入口

五个侧边栏:Assets(生成的图像/视频资产)、Nodes(节点库)、Models(已检测到的模型)、Workflows(本地保存的工作流)、Templates(内置模板)。装了新模型后按 R 刷新即可看到。

🌐 界面中文化

ComfyUI 内置包括中文在内的多种语言。点击左下角设置齿轮 ComfyLocale 选择「中文/简体」即可切换。旧版菜单仅支持英文,建议使用新版菜单。

🕰️ 新旧界面切换

老用户熟悉的浮动菜单仍可找回:设置 → Comfy → 菜单(Menu)→ 将 「Use new menu」设为 disabled。但官方推荐使用本页展示的新版界面, 功能更完整、维护也更活跃。

04

核心概念

节点、连线、工作流、模型——理解这四个词,你就理解了 ComfyUI 的全部

节点是执行任务的最小单元

在计算机科学中,节点是承载信息的单元。ComfyUI 的节点本质上是 函数算子:接收输入数据 → 内部运算 → 产出输出数据。 有的节点负责加载文件,有的负责改写数据,有的负责生成或保存结果。 节点很少孤立存在,它们通过连线组成网络,像乐高积木一样拼装出复杂功能—— 而这一切背后是编写好的 Python 逻辑,你完全不需要接触代码。

绝大多数节点同时具有输入与输出。 以最核心的 K 采样器为例:它吃进模型、正负向提示词与潜空间图像, 输出采样完成的潜空间数据,身上的参数(步数、CFG、采样方法……)则决定它的工作方式。

K 采样器节点
K 采样器节点:多个输入(左)+ 多个输出(右)+ 一排参数

节点的四种状态

识别节点状态是排错的第一步:出问题先看节点的边框颜色。

正常 Normal

节点的默认待机状态,输入输出就绪,等待工作流执行。

运行 Running

工作流执行时,正在计算的节点会高亮显示,通常伴随进度条。

错误 Error

节点输入存在问题导致执行失败,出错端口会以红色标识,需要修复对应输入。

丢失 Missing

导入别人的工作流后常见:要么 ComfyUI 版本太旧需升级,要么缺少自定义节点,用 Manager 安装即可。

🎛️ 三种运行模式(右键菜单)

  • Always —— 默认模式,输入变化即执行。
  • Bypass 绕过 —— 跳过此节点,但数据会 「原样穿透」传给下游。对比 LoRA 效果时特别好用(快捷键 Ctrl+B)。
  • Never 静默 —— 彻底不执行且不传递数据,下游会因缺输入而报错,慎用。
Never 与 Bypass 对比
同样跳过 LoRA 节点:Bypass 正常出图,Never 直接报错
05

交互实验室

这就是 ComfyUI 的运作方式——拖动节点、点击运行,零安装预演一遍文生图全流程

可拖拽节点执行动画演示参数可修改下方是官方文生图工作流的 1:1 交互模拟
模拟画布
Load Checkpoint加载检查点
MODELMODEL
CLIPCLIP
VAEVAE
ckpt_namev1-5-pruned…fp16.safetensors
CLIP Text Encode正向提示词
clipCLIP
CONDITIONINGCONDITIONING
CLIP Text Encode负向提示词
clipCLIP
CONDITIONINGCONDITIONING
Empty Latent Image空白潜空间图像
LATENTLATENT
width512
height512
batch_size1
KSamplerK 采样器
modelMODEL
positiveCONDITIONING
negativeCONDITIONING
latent_imageLATENT
LATENTLATENT
seed
steps20
cfg8.0
sampler_nameeuler
denoise1.00
VAE DecodeVAE 解码
samplesLATENT
vaeVAE
IMAGEIMAGE
Save Image保存图像
imagesIMAGE
点击 ▶ 运行工作流,观察数据的流动
🖱️

点击画布上的任意节点,这里会显示它的详细说明

你可以这样玩

  • 按住节点标题栏拖动,重新排列画布
  • 点击节点查看它的输入输出与作用
  • 修改正向提示词,再点 运行 观察数据流动
  • 🎲 随机种子 会得到 3 种不同的模拟出图
  • 观察连线颜色——同色端口才能相连

* 本实验室为纯前端模拟,用于建立直觉;实际生成速度与画质取决于你的硬件与模型

06

第一次生图

按顺序完成 6 个步骤,跑通你的第一张 AI 图片——勾选打卡,进度自动保存

学习进度0/6

STEP 1 / 6

启动 ComfyUI

完成安装后,打开 ComfyUI。默认会自动加载一个文生图工作流,画布上已经摆好了一串互相连接的节点。

  • 桌面版:双击应用图标启动;便携版:运行 run_nvidia_gpu.bat;手动安装:python main.py
  • 浏览器访问 http://127.0.0.1:8188(桌面版会自动打开窗口)
  • 首次进入建议先把界面切换成中文:设置齿轮 → Comfy → Locale → 中文

💡 小贴士

如果画布是空的,从左侧面板 Templates 标签选择「Text to Image」模板即可。
启动 ComfyUI
ComfyUI 新版界面:左侧面板 + 中央画布 + 顶部运行按钮
记住这组最重要的快捷键:Ctrl+Enter运行工作流|R装入新模型后刷新列表
07

提示词工程

模型是画家,提示词是甲方的需求单——写得越具体,交付越贴近想象

提示词是怎么变成画面的

你在「CLIP Text Encode」节点里输入的文字,会先被 CLIP 文本编码器 切成 token、翻译成向量,再以 CONDITIONING 的形式注入采样过程:正向提示词把画面「拉向」你描述的内容,负向提示词把画面「推离」 你列举的元素。所以提示词不是玄学,而是一份给模型的结构化需求单

一个万无一失的书写公式: 主体 → 风格 → 构图视角 → 光线氛围 → 质量词。 先把最重要的主体放在最前面(权重自然更高),再逐层补充氛围与质感。 写完先跑一张,再针对不满意的部分增删词组、调整权重,而不是一次堆满所有想象。

⚠️ 提示词不是越长越好

冗长重复的描述会互相干扰,模型反而抓不住重点。每句 3~8 个高质量词组往往胜过 30 个堆砌词;两个矛盾的风格词同时出现(如写实 + 像素画)会让画面两头不讨好。

📐 万能公式(从左到右权重递减)

🎯 主体是什么 / 在做什么🎨 风格艺术形式 / 流派📷 构图景别 / 视角💡 光线光源 / 氛围✨ 质量词精度增益后缀

示例

a samurai warrior, oil painting, upper body shot, dramatic rim light, highly detailed, 8k

动手拼一句提示词

🧪 互动提示词构建器点选词组 → 点击已选词调权重 → 复制去画布

画面的主角。越具体越好:是什么、在做什么、穿什么

已选 0 组 · 点击调权重

还没有选词,从左侧点几个试试

生成的正向提示词

选词后这里会自动拼出英文提示词…

权重语法:给元素加减戏

当画面「差不多但不听话」时,就用权重语法指名道姓: 想突出的加 (括号),想压制的加 [方括号]。注意 CLIP 每组最多编码 75 个 token, 权重调整在分组内生效;权重不是越大越好,超过 1.5 常出现画面撕裂。

语法效果示例
word普通权重 1.0golden hair
(word:1.3)精确加权(golden hair:1.3)
(word)加权 1.1(masterpiece)
[word]降权 0.9[big breasts]

负向提示词:反向排除清单

负向提示词节点同样重要:它告诉模型「这些统统不要」。 与其每次手打,不如备好三套预设,按场景一键复制到 Negative 节点。

预设 1通用画质

适用于几乎所有场景的保底负向词

lowres, blurry, jpeg artifacts, watermark, text, signature, worst quality, low quality

预设 2人像修正

修复面部、手部畸形的常用组合

bad anatomy, bad hands, extra fingers, missing fingers, extra limbs, deformed face, mutated hands, ugly

预设 3二次元向

动漫模型常用,去除多余元素

worst quality, low quality, bad anatomy, extra digits, jpeg artifacts, signature, username, cropped

08

参数详解

KSampler 采样器节点是工作流的心脏——读懂它的每一个参数,你就握住了画面的方向盘

KSampler 参数逐项拆解

采样是扩散模型「从噪声到图像」的迭代去噪过程:每一步,模型根据提示词预测当前噪声 并去除一点。步数决定迭代几轮,CFG决定模型多听提示词的话,采样器是去噪算法本身,seed则是初始噪声的身份证。

seed种子0 ~ 2³²

初始噪声的随机编号。固定 seed + 相同参数 = 可复现结果;点骰子换 seed 重新抽卡。

control_after_generate种子后续行为fixed / +1 / -1 / 随机

每次生成后 seed 如何变化:fixed 保持不变,randomize 自动换随机值,+1/-1 顺序递增递减。

steps采样步数建议 20 ~ 30

去噪迭代次数。太少(<15)画面浑浊,20~30 后收益递减;步数越多耗时越长。

cfg提示词引导强度建议 5 ~ 9

模型对提示词的服从程度。过低(1~3)自由发挥不听指挥,过高(>12)色彩过饱和、画面僵硬。

sampler_name采样器euler / dpmpp_2m 等

去噪求解算法,风格与速度各有千秋,详见下方采样器对比表。

scheduler调度器normal / karras / sgm_uniform

控制每一步去噪的强度节奏。karras 在低步数下细节表现更优,最常用。

denoise重绘幅度1.0 = 全新生成

文生图保持 1.0;图生图时 0.3~0.8:数值越低越贴近原图,越高改动越大。

🧪 交互参数实验室拖动滑块,观察「同一片山水」在不同参数下的表现(模拟效果)
steps 步数20
4 潦草30+
cfg 引导强度7.0
1 放飞自我14 烧焦
seed 种子882304151

种子决定初始噪声 = 画面的构图基本盘。固定 seed 调 steps/CFG,画面骨架不变、只改变刻画程度。

模拟相对耗时50%
seed: 882304151 · steps: 20 · cfg: 7.0

步数完美:正处 20~30 甜点区;CFG 在黄金区间,听指挥又不僵硬

* SVG 模拟仅用于建立参数直觉,真实效果请以实际出图为准

采样器图鉴与对比

采样器名字有规律:euler_ancestral 里的 _a 表示每步注入新噪声(不收敛),dpmpp_2m 2m 表示二阶多步算法(更快收敛)。

euler新手推荐速度

最经典的一阶采样器,简单稳定、速度快,效果中规中矩,几乎不会翻车。

适合:快速出图 / 流程验证

euler_ancestral风格多变速度

每步注入新噪声,画面细节天马行空;步数加多也不收敛,同 seed 每次结果都在变。

适合:艺术探索 / 抽卡

dpmpp_2m社区主流速度

二阶多步采样器,配 karras 调度器是公认黄金组合,20 步即出高质量图。

适合:日常主力 / 人像

dpmpp_2m_sde细节之王速度

SDE 变体,纹理细节更锐利丰富,速度略慢;固定 seed 仍会有轻微随机性。

适合:高细节出图

dpmpp_sde质感特化速度

单步 SDE,画面质感细腻独特,但速度慢且同一 seed 结果不固定。

适合:氛围/质感图

ddim老牌经典速度

早期标准采样器,行为可预测、支持复现,很多旧教程基于它;配 uniform 调度使用。

适合:复现老工作流

uni_pc后起之秀速度

高阶求解器,低步数下保持较好的画面完整性,10~15 步也有不错表现。

适合:低步数快出图

lcm极速模式速度

需搭配 LCM-LoRA 使用,4~8 步即可出图,实时预览神器,画质有所妥协。

适合:秒级预览迭代

场景速查:照抄就能用的组合

场景推荐组合
日常出图(通用首选)dpmpp_2m + karras · steps 25 · cfg 7
快速验证工作流euler + normal · steps 15 · cfg 6
极致细节精修dpmpp_2m_sde + karras · steps 30 · cfg 7.5
复现旧教程ddim + uniform · steps 30 · cfg 7
低显存 / 快速抽卡uni_pc 或 lcm · steps 8~12

💡 小贴士

记不住就先用 dpmpp_2m + karras。等熟悉了再横向对比采样器——注意切换采样器后 seed 虽然相同,画面细节也会不同,因为去噪路径变了。
09

图生图与局部重绘

不必每次从零开始——站在一张已有图片的基础上二次创作,是 ComfyUI 日常使用频率最高的玩法

图生图 img2img:给模型一张底稿

文生图是从纯随机噪声开始去噪;图生图则是先把一张真实图片 经 VAE Encode 压进潜在空间,再向它注入 部分噪声、然后去噪——注入多少、去掉多少, 由 denoise(重绘幅度)说了算。 这就是「底稿影响构图,提示词决定内容」的原理。

与文生图工作流相比只改两处:① 用 Load Image 节点 替代 Empty Latent Image,经 VAE Encode 编码后送入 KSampler;② KSampler 的 denoise 从 1.0 降到 0.4~0.8 区间。其余节点原封不动——这正是节点式工作流的优势:看懂一处,处处通用

💡 小贴士

最快的实操路径:菜单「工作流 → 浏览模板」直接加载官方 Image to Image 模板,载入自己的照片后只调 denoise 感受区别。
图生图工作流(与文生图唯一的区别标了 ★)Load Image ★IMAGE: 待改图的原图(替代 Empty Latent Image)Load CheckpointMODEL / CLIP / VAECLIP Text Encode正向 / 负向提示词VAE Encode ★IMAGE → LATENT原图压入潜在空间KSamplerdenoise < 1 ★steps / cfg / seedVAE DecodeLATENT → IMAGESave ImageIMAGE

图生图与文生图的工作流对比:仅两处改动(标 ★)

重绘幅度 denoise:一个旋钮决定「像不像原图」

同一张原图(下左)在不同 denoise 下的改写程度示意——数值越低越像,越高越「离谱」:

原图原图

不改动

VAE Encode 后直接解码,像素 1:1 保留

denoise 0.2 ~ 0.30.2 ~ 0.3

微调

最像原图

只轻微润色:构图、主体几乎不变,仅调整质感与色调。适合修复画质、统一风格。

denoise 0.4 ~ 0.60.4 ~ 0.6

重构

推荐起点

保持大致轮廓与布局的前提下重绘大部分细节,是图生图最常用区间。

denoise 0.7 ~ 0.80.7 ~ 0.8

大改

脱胎换骨

仅保留构图骨架,内容大幅改写:把草图变成成品、风格大转换都在此区间。

denoise 0.9 ~ 1.00.9 ~ 1.0

全新

≈ 文生图

几乎等于文生图,原图只贡献噪声起点;1.0 时原图信息完全不保留。

* 使用同一张图 + CSS 滤镜模拟改写程度,实际生成内容会随提示词与 seed 变化

局部重绘 Inpainting:只动该动的地方

整体重绘改写全局,而实际需求往往是「别的都好,就这只手崩了」。 局部重绘用蒙版(Mask)告诉模型:只有蒙版覆盖的区域 允许重画,其余像素原样保留。它是修手、换表情、改服装、去水印的核心手段。

  1. 1

    载入图像并打开蒙版编辑器

    用「Load Image」节点读入原图,再加「Load Image (as Mask)」或右键原图节点选择「Open in MaskEditor」。

  2. 2

    在蒙版编辑器中涂抹区域

    按住鼠标涂抹想要重绘的区域(如换一件衣服、修一只手),画笔大小可调,完成后 Save。

  3. 3

    接入 VAE Encode 进采样器

    原图经 VAE Encode 编码为潜在图像,与蒙版一起通过「Set Latent Noise Mask」送入 KSampler。

  4. 4

    调整参数执行重绘

    denoise 建议 0.5~0.8:只重画蒙版区域,其余像素原样保留;提示词描述「想要变成什么」。

MaskEditor 蒙版编辑器(右键图片节点 → Open in MaskEditor)🖌️ 画笔工具笔刷大小调节涂抹 = 需要重绘右键擦除蒙版透明度可调SaveCancel

蒙版编辑器示意:红色区域 = 允许重绘的范围

⚠️ 蒙版边缘生硬?

重绘区域与保留区域的接缝容易「贴图感」。解决:① KSampler 前加 Grow Mask 节点把蒙版向外扩 10~30 像素,让过渡带参与生成;② 提高一点 denoise; ③ 用「VAE Encode (for Inpainting)」节点自带的 grow_mask_by 参数。

🖼️ 文生图

  • ·Empty Latent Image 起点
  • ·denoise = 1.0
  • ·构图完全由 seed 决定

🔄 图生图

  • ·整张图都是「底稿」
  • ·denoise 0.4~0.8
  • ·构图继承原图骨架

🎯 局部重绘

  • ·蒙版圈定重画范围
  • ·denoise 0.5~0.8
  • ·蒙版外像素 1:1 不动
10

LoRA 与 ControlNet

两大进阶神器:LoRA 管「画成什么风格」,ControlNet 管「构图放在哪里」

LoRA:给模型外挂一个「风格滤镜」

LoRA(Low-Rank Adaptation)是一种轻量微调权重文件: 它不改主模型,只在推理时「叠加」少量参数,就能让画面带上特定画风、角色长相或服装概念。 单个文件仅 10~500 MB,下载成本远低于动辄数 GB 的 Checkpoint,是社区分享创意的主力格式。

接法很简单:LoraLoader 节点插在 Load Checkpoint 与 KSampler 之间,MODEL 与 CLIP 两条线都要经过它(LoRA 会同时影响画面与文本理解); VAE 线则直接绕过。节点上有两根滑杆——model strength 管画风浓度、clip strength 管 触发词敏感度,通常保持一致即可。

🎚️ 强度(strength)怎么调

0.6~0.8 是安全起点:效果不明显再升,超过 1.2 容易出现画面撕裂、肢体崩坏。两段式节点里 model 和 clip 强度通常保持一致。

🧅 多 LoRA 叠加

把多个 LoraLoader 串联:上一个的 MODEL/CLIP 输出接下一个的输入。建议总强度控制在 2.0 以内,风格冲突时逐个 Bypass 排查。

🗝️ 触发词(Trigger Words)

很多 LoRA 需要在提示词里加入特定触发词才能生效(如角色名、风格 tag),下载页面会注明,务必照写。

🔬 找 LoRA 的地方

Civitai 是最大的分享社区,按模型筛选配套 LoRA;Hugging Face 则偏官方与训练资源。下载后放进 models/loras 并按 R 刷新。

Load CheckpointMODEL / CLIP / VAELoraLoader 风格strength_model 0.8strength_clip 0.8LoraLoader 角色strength_model 0.7strength_clip 0.7KSampler…其余参数VAEDecodeMODELMODELMODELCLIPLATENTVAE串联口诀:上一个的 MODEL / CLIP 输出 → 下一个的输入;VAE 直连解码器不经过 LoRA

多 LoRA 串联:想要「赛博朋克画风 + 特定角色」?串两个就完事

⚠️ LoRA 与模型版本要匹配

SD1.5 的 LoRA 不能直接用在 SDXL / Flux 模型上——底座架构不同,权重形状对不上。 下载页面会标注适用底模,认准 SD 1.5 / SDXL / Flux 标签再下载。

ControlNet:指哪画哪的构图遥控器

提示词能描述「画什么」,却很难说清「怎么摆」。ControlNet 通过一张控制图(线稿、深度图、姿态骨架…)给扩散过程注入 空间约束信号,让生成结果严格遵循你给的构图框架,同时保留模型的细节创造力。

核心节点是 Apply ControlNet:它吃进 正向 CONDITIONING 与选定的 ControlNet 模型,再从 Load Image 接入控制图, 输出「被约束过的」CONDITIONING 送入 KSampler——相当于给提示词加上了空间 GPS。 strength(0.5~1.0)控制约束强度,end_percent 控制约束在采样前中后段何时松手。

🧷 接入三步(口诀)

  1. Load Image:载入控制图(照片/线稿/骨架图)
  2. Load ControlNet Model:加载对应控制模型(与类型同名)
  3. Apply ControlNet:串进正向提示词 → KSampler 的线路
Canny

边缘线稿 —— 把照片转成同构图的插画

提取精确的物体轮廓边缘线,构图 1:1 还原,是最常用的控制方式。

💡 小贴士

别被一堆 ControlNet 模型吓到:一个类型 = 一个模型文件,放进 models/controlnet 即可。新手先玩 OpenPose(控制人物动作)和 Canny(1:1 转绘), 这两个能覆盖 80% 的需求。
11

效率技巧

记住这些快捷键与高手习惯,操作效率翻倍

运行当前工作流

Mac 使用 ⌘ + Enter

Ctrl+Enter

插入到队列最前

Ctrl+Shift+Enter

取消所有正在执行的任务

Ctrl+C

刷新节点定义与模型列表

装入新模型后必备

R

平移画布

空格 + 拖动

缩放画布

Ctrl+滚轮

将视图居中到选中节点

.

打开节点搜索框

输入名字快速添加节点

双击画布

全选节点

Ctrl+A

复制 / 粘贴节点

Ctrl+C / V

撤销 / 重做

Ctrl+Z / Shift+Z

Bypass 选中的节点(旁路)

临时跳过该节点但保留连线

Ctrl+B

Mute 选中的节点(静默)

彻底不执行、数据也中断

Ctrl+M

删除选中节点

Delete

保存/导出工作流 JSON

Ctrl+S

打开工作流文件

Ctrl+O

加载图片内嵌的工作流

社区作品通用玩法

拖拽图片入画布

重命名节点

双击节点标题

* 不同版本快捷键可能略有差异,可点击底部工具栏的快捷键面板查看你当前版本的完整列表。

五个值得养成的高手习惯

🧪

用 Bypass 做 A/B 对比

想对比加不加某个 LoRA / 放大节点的效果?选中节点按 Ctrl+B 旁路掉再跑一次,比删节点快得多,连线也不会乱。

🎯

固定 seed 再调提示词

先把 seed 固定住,只改提示词观察变化,才能确认是提示词在起作用而不是随机性。满意后再随机抽卡。

🖼️

拖图即得工作流

在任何 ComfyUI 作品图上按住拖进画布,工作流与全部参数自动还原。学别人流程最快的路径。

🗂️

一个画布多组工作流

把不同方案分区块摆放在同一画布,用框选 + Ctrl+M 静默切换要跑的那组,方便横向对比。

🧱

复杂流程用子图收纳

选中一组节点 → 右键转成子图(Subgraph),画布立刻清爽;常用组合还能发布成模板复用。

💡 小贴士

卡住的时候,先看底部工具栏 → 控制台的运行日志——90% 的报错信息都会明确指出是哪个节点、缺哪个模型或文件。
12

视频与动画工作流

让画面动起来:AnimateDiff 外挂模块、图生视频模型与帧率背后的门道

从图到视频,变了什么?

视频生成的本质仍是「去噪」,只是画布从一张图变成了一叠图: 模型在潜在空间中同时处理数十帧,并通过帧间注意力保证相邻帧内容连贯。以 AnimateDiff 为例,它是一个在大量视频片段上预训练的 「运动模块」,像外挂插件一样插在 SD 模型的 UNet 之间——主模型负责画得好, 运动模块负责动得顺,两者互不干扰。

工作流层面,你在第 06 章学的文生图流程几乎原封不动:Checkpoint → 提示词编码 → KSampler → VAE Decode,只是需要多加两块——AnimateDiff Loader(在采样前挂载运动模块)和Video Combine(把解码出的帧序列编码成 mp4/webm)。 SVD、Wan、混元等「原生视频模型」则把运动能力内置在权重里,接线更短但风格不可换。

Load CheckpointSD 模型AnimateDiff Loader运动模块KSampler逐帧去噪VAE Decode解码帧序列Video Combine合成 mp4/webmmm_sd_v15_v2.ckpt运动模块「插入」UNet ↔ KSampler 前挂上即可 · 末尾 Video Combine 负责编码输出
🎬 交互帧率播放器同一段动画:拖动 fps 感受「幻灯片 → 丝滑」的差别
fps 帧率16 fps
2 幻灯片32 丝滑
motion 运动强度0.70
0 静止1 狂野

帧序列(当前帧高亮)

frame 1 / 48 · 16fps = 播放一轮 3s

👍 接近流畅:再往上补帧就非常顺滑了

frame 1 · 16fps · motion 0.70

* 帧率越低,小球位置在帧间「瞬移」越明显——这正是低 fps 视频卡顿感的来源

* 帧率播放器为前端模拟,用于建立「补帧」直觉

主流视频模型怎么选

AnimateDiff动态扩散模块外挂模块

底模:基于任意 SD1.5 Checkpoint · 帧数:16 帧窗口(可滑窗拼接)

优势 风格随主模型随意换,社区生态成熟,与 LoRA/ControlNet 兼容

短板 分辨率受主模型限制,长视频需滑窗容易衔接痕迹

SVDStable Video Diffusion图生视频

底模:SVD / SVD-XT 独立模型 · 帧数:14~25 帧

优势 以单图驱动生成视频,I2V 自然度高,适合让照片动起来

短板 无原生音频、运动可控性一般,显存要求较高

Wan 2.1万相实验室开源新贵

底模:1.3B / 14B(支持 FP8 / GGUF 量化) · 帧数:81 帧级长镜头

优势 中文提示词友好,T2V/I2V 双模式,开源权重可商用

短板 14B 全量对显存要求高,低配建议量化版

HunyuanVideo混元视频高质量

底模:13B(FP8 量化可低配运行) · 帧数:5~10 秒级

优势 大参数量带来更自然的运动与物理感,质感出众

短板 显存门槛最高,生成速度慢,适合有卡人群

frames / length帧数
16 ~ 81

视频总帧数。AnimateDiff 一次窗口默认 16 帧,Wan 等模型常以 4n+1(33/49/81)取值。

fps / frame_rate帧率
8 ~ 24 fps

每秒播放帧数。AI 原生多为 8~16fps,配合 RIFE 插帧到 32fps 观感丝滑。

motion_scale运动强度
0 ~ 1

控制画面运动的幅度:太低近乎静止,太高肢体扭曲、画面漂移。

context_length上下文窗口
8 ~ 24 帧

AnimateDiff 长视频的核心参数:窗口越大越连贯但显存越高,滑窗重叠帧保证衔接。

💡 长视频的正确姿势

AnimateDiff 一次只「看」得动 16 帧左右的窗口。想要更长的镜头,用 Context Options / 滑窗重叠:把长视频切成多个带重叠帧的窗口分批采样再拼接, 重叠部分保证动作衔接自然。

⚠️ 显存警告

视频生成的显存开销 ≈ 图生成 × 帧数。512×512×16 帧就可能吃满 8GB 显卡, 建议从「低分辨率 + 短帧数」起步验证,再逐步加码;量化版视频模型是低配救星(见第 15 章)。
13

新一代模型实战

2026 开源三大新王:FLUX.2 Klein 秒级出图 · LTX-2.5 音画视频 · MiniMax H3 全模态参考生成

2026 年是开源模型「卷王互殴」的一年:Black Forest Labs 在 1 月把 Flux 家族压缩出 8GB 显存 + 1 秒出图的 Klein 系列; Lightricks 的 LTX-2.5 在 8 月拿到 ComfyUI 零日支持,原生 4K HDR、50fps、音画同步一次到位; MiniMax 则在 7 月底开源了海螺家族第一个开放权重模型 H3——文本、图像、视频、音频在同一个上下文里互相理解, 用几张参考图就能锁定角色与画风。它们全都原生内置于 ComfyUI:更新到新版本后, 模板库(Template Library)里直接就能找到对应工作流,不再需要拼第三方节点。

这一章带你把三个模型各自的定位、版本选择、模型下载与核心参数一次理清。 建议先记住一句话:Klein 管「图快」、LTX 管「片美」、H3 管「像谁」——三者并不互斥,很多创作管线是 Klein 出图 → LTX 或 H3 动起来的接力关系。

FLUX.2 [Klein]最快 Flux

Black Forest Labs · 2026 年 1 月开源

图像 · 文生图 + 编辑

招牌 蒸馏版约 1.2s 出图,文生图与图像编辑统一在紧凑架构里

参数量:4B / 9B(各含 Base 与 Distilled)

显存门槛:8.4GB 起(FP8)

音频:

许可:Apache 2.0(9B 扩散模型需在 BFL 仓库接受协议)

LTX-2.3 / 2.5开源视频旗舰

Lightricks · 2026 上半年 / 2026-08 零日支持

视频 + 同步音频

招牌 原生 4K HDR · 最高 50fps · 音画同步 · 一次生成多镜头

参数量:22B(Gemma 3 / 4 12B 文本编码器)

显存门槛:官方建议 32GB+,INT8 量化可下探

音频:同步生成(对白/音效/配乐)

许可:开放权重(HF gated,需申请访问)

MiniMax H3全模态开源首发

MiniMax 海螺 AI · 2026-07-31 发布 · 08-03 开源

全模态视频生成

招牌 参考驱动 R2V:最多 9 图 + 3 视频 + 3 音频锁定角色/风格/声音

参数量:33.1B 单流全模态 Transformer + Qwen3-VL-32B

显存门槛:门槛高:INT8 主模型 19.5GB + 文本编码器 14.6GB

音频:原生 32kHz 立体声,一次前向生成

许可:H3 社区许可(本地商用需商业授权)

FLUX.2 [Klein]:把 Flux 塞进 8GB 显存

图像 · 4B / 9B

Klein 是 Flux 家族目前(2026 年 1 月)最快的成员, 定位是交互式工作流、即时预览与低延迟场景:蒸馏版本端到端推理只要约 1 秒 (RTX 5090 实测 1.2s、占用 8.4GB 显存),并且把文生图与图像编辑统一在一个紧凑架构里—— 你不再需要为「改图」单独搭 Kontext / Fill 那样的第二套工作流。 它沿用了 Flux.2 的 Qwen 文本编码器路线,中文提示词也能直接理解,文字渲染依旧可靠。

版本选择遵循「规模 × 蒸馏」的二维决策:4B 适合 8GB 级显卡与速度优先场景, 9B 换来更高的画质上限与更稳的多参考合成;Base 保留微调空间, Distilled 用 4 步换秒级速度。下面拨一拨选择器,四种组合的显存、速度与下载清单一目了然。

🎨 风格转换把参考图的材质与画风迁移到目标图上🗣️ 语义编辑用一句自然语言描述改动,无需蒙版🔄 物体替换 / 移除换掉画面里的商品或去掉多余元素🧩 多参考合成多张图各取所长合成一张(商品 + 场景 + Logo)♻️ 迭代式编辑在上一轮结果上继续改,边聊边修
🧭 Klein 版本选择器规模 × 蒸馏共 4 种组合:显存、速度与下载清单一次看清

参数规模

蒸馏版本

Base 与 Distilled 的区别

Base 是「完整的学生」:每张图老老实实去噪 20~28 步,保留全部微调潜力; Distilled 是「抄近道的学霸」:把几十步的路径蒸馏进 4 步内完成, 代价是几乎不留给微调的空间。日常出图选 Distilled,想训练再碰 Base。

FLUX.2 Klein 4B · Distilled 蒸馏(4 步)显存 8.4GB约 1.2s(RTX 5090 基准)4 步直出

擅长 速度优先:交互式工作流、即时预览、批量抽卡的首选

适合谁 绝大多数人的第一张 Klein:8GB 显存 + 秒级反馈,先跑通再谈其他

需要下载的文件(模型存放路径见第 04 章目录规则)

flux-2-klein-4b-fp8.safetensorsdiffusion_models/
qwen_3_4b.safetensorstext_encoders/
flux2-vae.safetensorsvae/

💡 Klein 工作流去哪找

确保你的 ComfyUI 已更新到最新版本,然后打开「工作流模板」搜 Klein: 4B / 9B 的文生图与图像编辑(Base / Distilled)模板全部内置。 加载时若提示节点缺失,多半是版本太旧或启动时有节点导入失败—— 升级到最新版(含每夜版)即可。9B 扩散模型托管在 BFL 仓库,需先接受协议再下载。

⚠️ 别拿 Klein 当万能引擎

Klein 的强项是「快 + 编辑」,但画风广度与细节极限仍以 FLUX.2 [dev] 全量版更高; 社区 LoRA 生态也仍在向 Klein 迁移的路上。出图要求极致质感且不赶时间时, 大模型仍是第一选择——把 Klein 当作日常草稿机与编辑器,才是它的正确打开方式。

LTX-2.3 → 2.5:开源视频的音画旗舰

视频 · 音画同步 · 22B

LTX 是「开箱即用」的典范:所有工作流原生内置 ComfyUI, 无需任何自定义节点。LTX-2.3 在 LTX-2 的基础上重做了潜空间与 VAE, 让纹理、竖屏 9:16、音频对白与 I2V 一致性全面进步,并带来六种原生模板—— 其中 IA2V(图 + 音频驱动对口型)、IC-LoRA(深度 / 姿态 / 边缘控制)与 ID-LoRA(参考图 + 声音生成同一角色的个性化视频)把「控制类」玩法补齐了。

LTX-2.5 则把重点转向画质与叙事: Diffusion Fidelity Rendering 管线先铺高保真关键帧网格再补算细节, 原生多镜头让一次生成产出多个镜头分切且角色 / 环境 / 光线 / 声音跨镜头连续, Gemma 4 12B 编码器让长段复杂提示词里的多主体、动作与运镜都被记住, Auto duration 甚至会在扩散开始前根据描述的动作自动推断合适的片长。 输出端支持原生 4K HDR、最高 50fps,为专业后期留了 RAW 工作流接口。

LTX-2.3上代旗舰 · 仍完全支持2026 上半年发布

权重:22B dev(FP8 单文件 checkpoint)+ 蒸馏 LoRA 1.1 加速

编码器:Gemma 3 12B

模板:T2V / I2V / FLF2V / IA2V 图音驱动 / IC-LoRA 控制 / ID-LoRA 个性化,共 6 种原生模板

  • 全新潜空间与 VAE:纹理更锐、边缘更净、竖屏 9:16 质量大幅提升
  • 音频更干净、对白增强,I2V 运动一致性与提示词理解全面改进
  • IC-LoRA(深度/姿态/边缘控制)与 ID-LoRA(角色个性化)目前仅此版本提供

什么时候选它 需要运动/角色控制类工作流,或想在 2.3 微调生态上继续深耕

LTX-2.5当前旗舰 · ComfyUI 零日支持2026-08-11 官宣

权重:22B distilled(INT8 convrot,比 2.3 省去蒸馏 LoRA)

编码器:Gemma 4 12B(长提示词多主体保持更好)

模板:T2V / I2V / FLF2V 共 3 种原生模板

  • Diffusion Fidelity Rendering:关键帧优先的高保真渲染管线,按场景复杂度分配算力
  • 原生多镜头:一次生成多镜头分切,角色 / 环境 / 光线 / 声音跨镜头保持一致
  • Auto duration 自动根据动作推断时长;可选 prompt enhancer 扩写提示词(约 5GB,加时 1~2 分钟)
  • 原生 4K HDR、最高 50fps,RAW 工作流对接专业后期

什么时候选它 追求最高画质、音画同步与多镜头叙事的日常主力

LTX-2.5 模型清单(T2V / I2V / FLF2V 共用一套)托管在 HF gated 仓库:先申请访问,审批通过后才能下载
ltx-2.5-22b-distilled-transformer-comfy-int8-convrot.safetensorsdiffusion_models/主模型(T2V / I2V / FLF2V 共用)
gemma4-12b-with-proj-ltx-2.5-comfy-int8-convrot.safetensorstext_encoders/文本编码器
gemma4_e2b_it_int8_convrot.safetensorstext_encoders/可选:仅 prompt enhancer 需要
ltx-2.5-video-vae-bf16.safetensorsvae/视频 VAE
ltx-2.5-audio-vae-bf16.safetensorsvae/音频 VAE(音画同步的关键)
ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensorslatent_upscale_models/潜空间 2x 放大器(FLF2V 不需要)

💡 LTX 提示词的正确写法

T2V 把镜头类型、场景、动作、角色、运镜写进一段连贯的描述,再单独描述 场景需要的声音与对白——音频是和画面一起生成的;I2V 只写「接下来发生什么」 (运动、运镜、声音),不要重复描述画面里已有的内容,并用 「以提供的起始图为第一帧」这类措辞锚定首帧;FLF2V 则聚焦两帧之间的过渡过程, 两张帧图的宽高比保持一致才能平滑插值。

⚠️ 硬件预期要放平

LTXVideo 官方对完整体验的建议是 32GB+ 显存(另有 100GB+ 磁盘空间用于模型全家桶)。 INT8 convrot 量化与低分辨率 + prompt enhancer 关闭的组合可以把门槛拉低不少, 但 4K HDR / 50fps 这类满血输出依然是高端卡的领域——低配用户建议 先用 768p 级别验证分镜与提示词,再按第 15 章的优化手段逐步加码。

MiniMax H3:全模态「参考驱动」生成

视频 · 全模态 · 33.1B

H3 是 MiniMax 海螺视频线第一个开放权重模型(2026-07-31 发布,08-03 开源,当天 ComfyUI 即原生支持)。 它的底座是 33.1B 的单流全模态 Transformer(另有 13B adaLN 分支), 配 Qwen3-VL-32B 文本编码器:文本、图像、视频、音频被放进同一个上下文里理解, 对白、音效、配乐与画面在一次前向中同步生成, 而不是先出无声视频再事后配音。输出为 24fps、最长约 15 秒、 默认 768px 短边画布,另可通过 H3-Regenerate-2K 模块在上下文内再生成 2K 版本。

真正让它出圈的是参考驱动(R2V): 以前「让这条视频里的角色换成我的 OC、画风换成吉卜力、声音换成参考音频」 要 ControlNet + IPAdapter + 音色迁移一大套管线,H3 把它压缩成 一个 MiniMaxH3ReferenceToVideo 节点——最多塞进 9 张图、3 段视频、3 段音频, 用自然语言描述每个参考与目标镜头的关系即可。角色一致性视频的门槛被大幅拉低。

T2V 文生视频

MiniMax H3 基础节点

纯文本直接出片:一个提示词块里先交代场景,再按时序分镜描述动作、运镜与对白 / 音效 / 配乐,音视频在一次前向中同步生成。

实战提示 默认 20 步;追求运动质量可加到 25 步

I2V 图生视频(FL2VA)

MiniMaxH3ImageToVideo

输入图驱动生成,并可选首帧 / 尾帧控制:接 first_frame 变首帧驱动,同时接 first_frame 与 last_frame 就升级成首尾帧补间(FL2VA)。

实战提示 分辨率不变时动得越少越稳,大幅改构图交给提示词

R2V 参考生成(Ref2VA)

MiniMaxH3ReferenceToVideo

H3 的杀手锏:最多 9 张参考图 + 3 段视频 + 3 段音频(合计 12 个文件),锁定角色长相、画风、动作、运镜乃至声音,再用自然语言描述它们与目标镜头的关系。

实战提示 替换角色 / 换装 / 换风格不再依赖 ControlNet 全套管线

📐 H3 分辨率 / 时长实验台复刻官方 Resolution Selector 的算法:比例 + 兆像素 → 32 取整 → 面积上限校验

画面比例

兆像素 Megapixels0.98 MP
0.30 预览快0.98 甜点1.20 危险
时长档位 k(17k+5 帧网格)k = 4
5 帧345 帧 ≈ 14.4s
1344×768
实际 1.03 MP短边 768px面积上限 安全

正是 H3 的原生甜点画布:短边 768px(16:9 即 1344×768)。画质与速度的最佳平衡。

733.0 秒 @24fps17 × 4 + 5

H3 的时长输入会自动吸附到 17 帧一块的网格(17k+5), 填别的帧数会被取整到最近的档位;上限约 15 秒。

MiniMax H3 模型清单(T2V / I2V / R2V 共用一套)托管在 HF 的 Comfy-Org/MiniMax-H3 仓库,ComfyUI 0.30.0+ 原生支持
minimax_h3_fl2va_pruned_int8_convrot.safetensorsdiffusion_models/主模型(约 19.5GB)
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensorstext_encoders/Qwen3-VL-32B 文本编码器(约 14.6GB)
minimax_h3_video_vae_fp16.safetensorsvae/视频 VAE
minimax_h3_audio_vae_fp32.safetensorsvae/音频 VAE(32kHz 立体声)
minimax_h3_fl2v_turbo_8step_v1.0_comfyui_bf16.safetensorsloras/Lightning 加速 LoRA:turbo_mode 8 步直出
minimaxh3_art_is_explosion.safetensorsembeddings/官方风格 embedding

💡 turbo_mode:8 步出片

模板默认 20 步采样;开启 MiniMax H3 节点的 turbo_mode 并挂上随工作流附带的 Lightning LoRA(fl2v_turbo_8step)即可 8 步直出,速度大幅提升, 代价是音频与运动质量略有下降。推荐的节奏是:草稿阶段用 turbo 抽卡, 选定 seed 后关掉 turbo、把步数加到 25 出成品。

⚠️ 商用许可与显存门槛

H3 采用社区许可:本地生成若要商用,需要通过 Comfy(官方唯一分销商)购买 MiniMax 商业授权;Comfy Cloud 上的生成则已包含商用权益。 另外它也是三者中显存门槛最高的:INT8 主模型 19.5GB + 14.6GB 文本编码器, 24GB 卡才能从容加载;低显存可关注社区的分块推理与分块放大方案(见第 15 章)。

三大新模型速查表

模型类型参数量显存门槛一招记住它许可注意
FLUX.2 [Klein]图像 · 文生图 + 编辑4B / 9B(各含 Base 与 Distilled)8.4GB 起(FP8)蒸馏版约 1.2s 出图,文生图与图像编辑统一在紧凑架构里Apache 2.0(9B 扩散模型需在 BFL 仓库接受协议)
LTX-2.3 / 2.5视频 + 同步音频22B(Gemma 3 / 4 12B 文本编码器)官方建议 32GB+,INT8 量化可下探原生 4K HDR · 最高 50fps · 音画同步 · 一次生成多镜头开放权重(HF gated,需申请访问)
MiniMax H3全模态视频生成33.1B 单流全模态 Transformer + Qwen3-VL-32B门槛高:INT8 主模型 19.5GB + 文本编码器 14.6GB参考驱动 R2V:最多 9 图 + 3 视频 + 3 音频锁定角色/风格/声音H3 社区许可(本地商用需商业授权)

三者共同的新习惯是「原生支持 + 模板起步」:升 ComfyUI → 模板库点开对应工作流 → 按弹窗下载模型 → 跑通后再改提示词与参数。closerAI 更多教程入口:Klein 4B 指南·LTX-2.5 工作流示例·MiniMax H3 工作流。模型迭代很快,下载前建议对照官方页核对文件名——本节数据整理自官方文档(2026-08)。

💡 Gated 仓库是新手最常卡住的一步

LTX-2.5 与 H3 的模型托管在 Hugging Face 的 gated 仓库: 打开仓库页面 → 登录 → 接受模型许可 → 等待访问申请通过,审批没下来之前 ComfyUI 内的模型下载会一直失败。 建议下载前先确认 ComfyUI 版本满足要求(H3 要求 0.30.0+), 磁盘预留足够空间(LTX 全家桶 100GB+、H3 单文本编码器就有 14.6GB)。
14

API 与自动化

把工作流变成后端引擎:一次 POST 入队、WebSocket 盯进度、/view 取图

三步把工作流接入程序

ComfyUI 本身就是一个 HTTP 服务(默认 127.0.0.1:8188)。 菜单里开启 开发者模式选项 后, 「工作流 → 导出(API)」会得到一份以节点 ID 为索引的 JSON——它就是任务接口的通用语言。 把这份 JSON 包进 {"prompt": ...} POST 到 /prompt,任务即进入队列, 之后的进度推送与取图全程无需人守在界面旁。

① 导出 API 格式

设置 → 启用开发者模式 → 工作流菜单 → 导出(API)

② POST /prompt 入队

改 JSON 里的提示词 / seed,循环提交即批量抽卡

③ WS 监听 + /view 取图

progress 事件刷进度条,执行完按文件名下载输出

💡 小贴士

想让局域网里其他设备调用你的 ComfyUI?启动时加 --listen 0.0.0.0 即可对外监听; 公网部署务必套反向代理并加鉴权,API 本身没有安全校验。
🛰️ 交互请求实验室改参数 → 看请求 JSON 变化 → 模拟入队执行
steps(节点 3)20
seed9527
等待提交…
{
  "prompt": {
    "3": {
      "inputs": {
        "seed": 9527,
        "steps": 20,
        "cfg": 7,
        "sampler_name": "dpmpp_2m",
        "scheduler": "karras",
        "denoise": 1,
        "model": [
          "4",
          0
        ],
        "positive": [
          "6",
          0
        ],
        "negative": [
          "7",
          0
        ],
        "latent_image": [
          "5",
          0
        ]
      },
      "class_type": "KSampler"
    },
    "5": {
      "inputs": {
        "width": 512,
        "height": 512,
        "batch_size": 1
      },
      "class_type": "EmptyLatentImage"
    },
    "6": {
      "inputs": {
        "text": "a cat astronaut, oil painting",
        "clip": [
          "4",
          1
        ]
      },
      "class_type": "CLIPTextEncode"
    },
    "9": {
      "inputs": {
        "filename_prefix": "ComfyUI",
        "images": [
          "8",
          0
        ]
      },
      "class_type": "SaveImage"
    }
  },
  "client_id": "tutorial-demo"
}

这就是 API 格式:外层按节点 ID 索引,inputs 里用 ["节点ID", 输出口索引] 引用其他节点的连线—— 与界面上保存的普通工作流 JSON 结构完全不同。

常用端点速查

方法路径
POST/prompt
GET/queue
GET/history/{prompt_id}
GET/view?filename=...
WS/ws?clientId=...
POST/interrupt

三种语言接入示例

# 1) 把 workflow_api.json 作为任务体提交
curl -X POST http://127.0.0.1:8188/prompt \
  -H "Content-Type: application/json" \
  -d '{"prompt": <API格式工作流JSON>, "client_id": "demo"}'
# 返回: {"prompt_id": "a1b2c3...", "number": 2}

# 2) 查看队列 / 查询结果 / 取图
curl http://127.0.0.1:8188/queue
curl http://127.0.0.1:8188/history/<prompt_id>
curl -o out.png "http://127.0.0.1:8188/view?filename=ComfyUI_00001_.png&type=output"

自动化能玩出什么

🎰

批量抽卡

循环替换 seed / 提示词,一次提交几十个任务入队,睡一觉醒来挑图。

🤖

接入聊天机器人

机器人收到消息 → 组装提示词 → POST /prompt → 完成后把 /view 图片链接回贴到群里。

📡

Web 进度条

前端连 WebSocket 监听 progress 事件,实时展示采样步数与预览图,体验对标商业产品。

定时自动化

crontab / 系统计划任务定时提交工作流:每天早上自动生成今日海报、批量跑 Lora 训练集预览。

15

性能优化与显存

显存不够、速度太慢?从启动参数到量化模型,一套低配生存指南

显存去哪儿了

出图时的显存主要由三部分构成:模型权重(Checkpoint 加载进来就常驻,SDXL 约 7GB、Flux FP16 约 12GB)、采样中间值(潜在图像与注意力运算,随分辨率和 batch 成倍增长)、以及 VAE 解码(把潜在数据解回像素的瞬间最吃显存,高分辨率下常是 OOM 的元凶)。 ComfyUI 的聪明之处在于智能显存管理: 它会自动探测显卡容量,在层与层之间按需换入换出——这正是它比许多竞品更适合低配机器的原因。

优化思路优先级:先量化、再降参、后换模式。 FP8 / GGUF 量化把权重体积砍半甚至更多,画质损失很小,是性价比最高的一步; 分辨率与 batch 直接决定采样峰值,512 起步再放大远比硬吃 1536 划算; 最后才轮到 --lowvram / --novram 这类「用时间换空间」的启动参数。

💡 参数怎么加

启动参数跟在启动命令后面即可:便携版改 run_nvidia_gpu.bat python main.py 后追加;手动安装直接在命令行输入;桌面版可在设置界面调整 VRAM 管理模式,不必改脚本。
🧮 显存计算器选模型、调分辨率,估算出图要吃多少显存

① 选择模型

FP16 · 权重 ≈ 6.9GB · 画质飞跃,8GB 是舒适线

② 出图分辨率

③ batch 批次数1

估算峰值占用权重 6.9 + 采样/解码 2.7

9.6 GB

08G16G24G28G

12GB 显卡(RTX 3060 12G / 4070)的舒适区

RTX 4060 8G RTX 3060 12G RTX 4070 12G RTX 5080 16G RTX 3090 24G RTX 4090 24G

* 估算值基于社区经验公式,实际占用随模型结构、后端(PyTorch 版本/注意力实现)浮动

启动参数档位表

从上到下「空间换时间 → 时间换空间」,按显存压力逐级降档即可。

默认(无需参数)满血

模型整体驻留显存,速度最快。显存充裕时的最佳选择。

--lowvram省显存

ComfyUI 自动把模型分层、按需加载换入换出:显存占用大降,速度约慢 10%~30%。

--novram极限

几乎不常驻显存,每步现取现用:低到 2GB 也能出图,但速度明显变慢。

--cpu无卡

全 CPU 计算(仅 CLIP/VAE 或整模型):一张图几分钟起步,只建议应急。

--reserve-vram 0.9稳定性

给系统/浏览器预留显存,缓解与桌面程序抢显存导致的崩溃与驱动超时。

六大优化手段

🧱

Tiled VAE 解码

VAE Decode 对大分辨率图非常吃显存,换 VAE Decode (Tiled) 分块解码,4K 出图不再 OOM。

🗜️

量化模型

FP8 / GGUF 版本把权重体积砍半,配合 Unet Loader (GGUF) 节点使用,画质损失很小。

📉

小图起步再放大

先以 512~768 出图定构图,再接 Upscale Model + 图生图精修:比直接出大图又快又稳。

注意力加速

安装 xformers 或使用 PyTorch 2.x 自带 sdpa,采样速度可提升 15%~30%,属免费午餐。

🧹

善用节点缓存

ComfyUI 自动跳过未变更的节点:只改 KSampler 参数时,前面加载模型等步骤不会重跑,改参数比重开队列划算。

🚚

模型放 SSD

每次换 Checkpoint 都要从硬盘读 GB 级文件,NVMe SSD 能明显缩短首次生成前的加载等待。

⚠️ 一个反直觉的坑

显存「够用」不代表越满越好:Windows 系统与浏览器本身也吃显存,把 8GB 卡塞满模型后 桌面容易崩溃。给系统留 1~2GB 余量(或加 --reserve-vram), 稳定性会好很多。
16

自定义节点开发入门

从用节点到造节点:30 行 Python 写出你的第一个扩展,并发布给全世界

为什么自己写节点

当你发现每张图都要重复「改 5 个参数 → 点 3 次队列」,或者想调用一个 ComfyUI 没有的 API(自研模型、公司内部服务),写一个自定义节点就是最优雅的答案。 节点本质上是一个 Python 类: 声明输入控件与输出类型,再写一个 run 方法处理输入—— 界面渲染、连线校验、缓存调度全部由 ComfyUI 代劳,你只管业务逻辑。

ComfyUI 启动时会扫描 custom_nodes/ 目录下的每个文件夹,导入其中的 __init__.py, 并读取两个「契约」: NODE_CLASS_MAPPINGS 注册节点内部名(API 格式 JSON 引用的就是它),NODE_DISPLAY_NAME_MAPPINGS 决定你在画布上看到的显示名。理解了这两行字典,就理解了整个插件体系的入口。

Python 基础

函数 / 字典 / 类

必要的门槛

无前端技能

可选 JS 扩展界面

纯后端节点零 JS

30 行起步

一个回声节点就 30 行

半小时能跑通

💡 小贴士

右侧生成器输出的是「能直接运行」的最小骨架。进阶玩法:在目录下加 web/js/ 目录放 JS 扩展,可以给节点加自定义控件、 右键菜单甚至整个侧边栏面板——官方文档 custom-nodes 篇有完整示例。
🧬 节点定义生成器勾一勾,生成一份能直接跑的节点模板

斜杠分层级:右键菜单 → Add Node 会按「/」逐级展开

输入控件(可多选)

输出类型

class MyNode:
    """我的节点:在 run 方法里写你的核心逻辑"""

    @classmethod
    def INPUT_TYPES(cls):
        return {
            "required": {
                "text": ("STRING", {"multiline": True, "default": "hello"}),
                "steps": ("INT", {"default": 20, "min": 1, "max": 100, "step": 1}),
            },
        }

    RETURN_TYPES = ("STRING",)
    FUNCTION = "run"
    CATEGORY = "my/utility"

    def run(self, text, steps):
        # TODO: 在这里处理输入,返回值类型必须与 RETURN_TYPES 对应
        return (text, )


NODE_CLASS_MAPPINGS = {"MyNode": MyNode}
NODE_DISPLAY_NAME_MAPPINGS = {"MyNode": "我的节点"}

把代码存为 custom_nodes/你的节点/__init__.py,重启 ComfyUI 即可在分类路径下找到它——这就是自定义节点的全部骨架。

从零到发布的六步

1

建目录

在 ComfyUI 的 custom_nodes 下新建文件夹,__init__.py 是 ComfyUI 识别插件的入口。

custom_nodes/comfy-tutorial-node/
├── __init__.py        # 节点定义 + 注册表
└── (可选) web/        # JS 前端扩展
2

定义输入

INPUT_TYPES 返回的字典就是节点面板上的控件:STRING/FLOAT/INT/BOOLEAN,或引用其他类型实现连线。

@classmethod
def INPUT_TYPES(cls):
    return {
        "required": {
            "text": ("STRING", {"multiline": True}),
            "strength": ("FLOAT", {
                "default": 1.0, "min": 0.0,
                "max": 2.0, "step": 0.05}),
        },
    }
3

声明输出与执行

FUNCTION 指向真正干活的方法,返回值顺序与 RETURN_TYPES 对应;CATEGORY 决定右键菜单里的分类路径。

RETURN_TYPES = ("STRING",)
RETURN_NAMES = ("result",)
FUNCTION = "run"
CATEGORY = "tutorial"

def run(self, text, strength):
    return (text * int(strength),)
4

注册节点

两个大写常量是插件与 ComfyUI 的契约:前者定义类名映射(API 格式会用到),后者定义界面显示名。

NODE_CLASS_MAPPINGS = {
    "TutorialEchoNode": TutorialEchoNode,
}
NODE_DISPLAY_NAME_MAPPINGS = {
    "TutorialEchoNode": "📣 教程回声节点",
}
5

重启验证

重启后看启动日志确认导入成功;双击画布搜索节点名,或右键 Add Node 按分类路径找到它。

python main.py --listen 8188
# 日志出现:
# Import times for custom nodes:
#   0.05s: comfy-tutorial-node
6

发布分享

把节点包推上 GitHub,再到官方节点注册表登记,别人就能在 Manager 里一键搜到并安装。

git init && git remote add origin <你的仓库>
# 推送后在 registry.comfy.org
# 提交「Publish nodes」登记仓库地址

⚠️ 调试技巧

节点没出现?第一现场永远是启动日志:Import failed 说明 Python 依赖缺失,按提示 pip install 即可; 节点出现了但执行报错,在 run 方法里加 print()—— 输出会实时出现在启动 ComfyUI 的终端窗口里,这是最快的老派调试法。
17

进阶之路

三阶段路线图 + 模型选型 + LoRA 训练入门 + 30 天成长计划——把「会出图」变成「会创作」

01

入门夯实 · 第 1~2 周

目标:装好、跑通、能复现

完成安装并跑通第一张图

桌面版最省心;「出图后按 R 刷新模型列表」的习惯从第一天就养成。

看懂节点与连线的数据流

盯着 MODEL / CLIP / VAE 的连线颜色读懂一条链路,比背节点名重要得多。

吃透提示词与采样参数

固定 seed 只改一个变量(步数 / CFG / 采样器),观察画面变化——最快的理解方式。

02

进阶控图 · 第 3~4 周

目标:从「抽卡」到「指哪画哪」

图生图与局部重绘

修手、换装、去水印三大刚需场景各练一遍,蒙版外扩也要会。

LoRA 风格叠加

学会多 LoRA 串联与强度搭配,开始建立自己的风格库。

ControlNet 精准控图

从 Canny 起步,再按需求扩展姿态骨架 / 深度 / 直线检测。

03

高阶创作 · 第 2 个月起

目标:效率化、视频化、产品化

效率化:快捷键 + 子图 + 节点缓存

把常用流程打包成子图,复用比重画快十倍;理解缓存机制少做无用功。

视频生成

AnimateDiff 起步,显存充足再上 Wan / LTX / H3;先短帧数后长镜头。

上手 2026 新模型

FLUX.2 Klein 秒级出图、LTX-2.5 音画视频、H3 参考生成——挑一个跑通模板工作流。

API 接入与自动化

把工作流交给程序:批量抽卡、聊天机器人、定时任务。

训练自己的 LoRA / 造节点

让模型学会你独有的画风(见下方训练入门四步),缺功能就自己写。

主流模型家族一览

家族显存

SD 1.5

生态:最丰富

细节与肢体表现弱,512 分辨率上限

3~4GB

SDXL

生态:丰富

比 SD1.5 慢约一倍

7~9GB

Flux.1 dev

生态:快速增长

大而慢;提示词用自然语言而非 tag

12~16GB(FP8 约 7GB)

SD 3.5

生态:中等

生态规模小于 SDXL / Flux

9~12GB

Pony / Illustrious

生态:二次元专用

写实方向偏弱

7~9GB

FLUX.2 Klein

生态:快速增长

发布时间短,LoRA 生态仍在起步

8.4GB 起(FP8)

视频模型(Wan / LTX / H3)

生态:快速发展

速度慢、显存压力大

8~32GB

💡 小贴士

「全都要」是新手最常见的坑:同时下 5 个大模型,结果每个都没吃透。选定一个主力模型, 把第 07~10 章的玩法全部过一遍,再横向切换,进步速度快得多。
🎯 模型选型决策器答两题,直接告诉你该装谁

① 你的显存

② 主要想做什么

推荐主力模型

Flux.1 dev FP8 / SDXL / Klein 9B

搭配:Tiled VAE 解码

💡 要质感选 Flux、要速度与编辑选 Klein、要生态选 SDXL

训练自己的 LoRA(入门四步)

用别人的 LoRA 终究是「借来的风格」;当你想让模型学会自己画风的、自家 IP 角色、 统一品牌感的商品图时,就该自己动手训练了。别被「训练」吓到——它不需要写代码, 一张 8GB 显卡 + 半天时间就能跑出第一个可用版本。

1

准备数据集

20~50 张统一风格 / 同一角色的图:分辨率一致(512 或 768),构图与背景尽量多样;剪裁干净、去水印、删废图。

2

打标(Tagging)

用 WD14 Tagger / BLIP 自动生成描述,再人工修正:保留固定特征词(角色名、画风 tag),删掉随机出现的元素描述。

3

选工具并配置

kohya_ss 与 OneTrainer 最主流。基础配置:rank 8~32、学习率 1e-4、显存小开梯度检查点;新手直接用工具预设再微调。

4

训练与验收

1500~3000 步起步,每 500 步存一版;用 X/Y Plot 节点横向对比各版本出图,挑「不崩坏、还原度最高」的那一版。

参数推荐值

dataset

数据集

20~50 张

rank / dim

网络维度

8 ~ 32

learning rate

学习率

1e-4

steps

训练步数

1500 ~ 3000

batch size

批大小

1 ~ 4

⚠️ 过拟合警报

出图「只会」数据集里的姿势、其他提示词全被无视,就是训练过头了——降低步数或 rank、增大学习率间隔重训。好的 LoRA 是「保留风格,保留泛化」。

照着做:你的第一个月

每周 3 个小任务,全部可勾选打卡——一个月后回头看,你已经越过大多数人卡住的那道坎。

🗓️ 30 天成长计划进度自动保存在本地浏览器
0/12

第 1 周

从零到首图

第 2 周

提示词与参数

第 3 周

二次创作

第 4 周

创作自由

🧩 插件生态:这 6 个先装

ComfyUI-Manager必备

装节点、更新、修复缺失的一站式管理器——装完 ComfyUI 第一件事就是装它。

KJNodes效率

图像 / 蒙版 / 条件处理等几十个高频实用节点合集,几乎人人装。

Essentials效率

批处理、采样扩展等基础设施级补充,补齐原生节点的短板。

VideoHelperSuite视频

视频帧加载与合成输出,玩视频工作流的标配搭档。

GGUF加载

让低显存显卡也能跑量化大模型,配合 FP8 / Q4 权重使用。

Impact Pack修复

FaceDetailer 自动检测并修复面部 / 手部,人像工作流救星。

🚀 想更上一层楼?

ComfyUI 是开源项目,前端、文档、节点生态都欢迎社区贡献。你可以: 在 GitHub 提 Issue 反馈问题、参与文档翻译、开发自定义节点并发布到官方注册表, 甚至把好用的工作流蓝图发布到节点库供全社区使用。

学习开发自定义节点 →
18

术语表

AI 绘图圈的「黑话」速查——看教程、逛社区、读报错时随查随用

🔍

34 条术语 · 当前显示 34 条 · 点击卡片展开详细解释

🧠 一张图记住数据流

把这些术语串成一句话:提示词(Prompt)经 CLIP 编码成条件(Conditioning),与潜在空间(Latent)里的噪声一起交给采样器(Sampler) 按 CFG 引导、分步(Steps)去噪,模型(Checkpoint / UNet)负责算,最后由 VAE 解码成像素图。所有工作流——文生图、图生图、局部重绘、视频——都是这条主链的排列组合。

19

常见问题

新手最常踩的坑都在这里——遇到报错先来翻翻,能省下大量搜索时间

说明 ComfyUI 没有检测到任何模型。依次检查:① 模型文件是否放在 models/checkpoints 子目录(注意不是安装根目录);② 按 R 键刷新节点定义;③ 仍不行就重启 ComfyUI;④ 桌面版用户确认路径:主菜单 → 帮助 → 打开文件夹 → 打开模型文件夹。

最常见原因是放错了子文件夹——主模型必须进 checkpoints,LoRA 进 loras,VAE 进 vae。其次是文件未下载完整(.safetensors 文件应达到 GB 级别)。放好后按 R 刷新或重启即可。使用 extra_model_paths.yaml 外部路径的用户还需检查配置缩进是否正确。

自动下载默认从 Hugging Face 拉取文件,部分地区网络无法直连。建议:从缺失模型详情面板复制下载链接,使用下载工具或镜像站手动下载,然后把文件放入 models/checkpoints,重启或按 R 刷新。

橙色表示节点缺失,两种可能:① 工作流使用了新版内置节点而你的 ComfyUI 版本较旧——升级到最新版;② 使用了第三方自定义节点——在 Manager(管理器)中按提示搜索安装缺失节点包。红色边框通常表示节点执行报错,检查对应端口的输入是否正确。

原生不支持。需要安装社区自定义节点(如 ComfyUI-GGUF)才能加载 GGUF 量化模型。低显存用户常用 GGUF 量化版 Flux 来节省显存,配合 --lowvram 等启动参数效果更佳。

两者都会跳过节点执行,区别在数据是否继续传递:Bypass(旁路)会让数据“绕过”节点直接传给下游(如跳过某个 LoRA 继续跑);Never(静默)则像把节点删掉,下游收不到数据会直接报错。调试工作流对比效果时,优先用 Bypass。

可以尝试:① 降低生成分辨率(如 512×512 起步);② 换用 SD1.5 等小模型或 GGUF 量化版;③ 启动参数加 --lowvram 或 --novram;④ 关闭其他占用显存的程序;⑤ 桌面版可在设置中调整 VRAM 管理模式。另外减少 batch 数量、关闭 PyTorch 内存碎片也有帮助。

两种方式:① 直接分享生成的 PNG 图片——工作流已内嵌其中,对方拖入画布即可还原(最方便);② 菜单 工作流 → 导出,保存为 JSON 文件分享。注意:使用自定义节点的工作流,对方也需要安装相同节点包才能正常运行。

这是扩散模型的经典问题,组合拳解决:① 负向提示词加入 bad hands, extra fingers, deformed 等;② 提高 CFG 或调整步数;③ 换更高质量的模型(SDXL / Flux 的肢体表现远好于 SD1.5);④ 使用 ADetailer / FaceDetailer 类自定义节点自动修复面部与手部;⑤ 局部重绘(Inpainting)手动修复问题区域。

没有全能冠军,但有公认好用组合:① 追求稳定快出图:euler + normal 或 dpmpp_2m + karras(20~30 步);② 追求细节锐利:dpmpp_2m_sde + karras;③ 复现老教程:ddim + uniform;④ SDXL/Flux 推荐 euler 或 dpmpp_2m。ancestral 系(euler_a、dpmpp_sde)每步引入随机噪声,步数加多也不收敛,适合多变风格但同一 seed 结果会持续变化。

Seed 只固定初始噪声,结果还受其他变量影响:① 采样器含 ancestral(名字带 _a / _sde)时每步注入随机噪声,即使固定 seed 也会变化;② batch 数量、分辨率、模型版本改动都会影响;③ 有的节点内部有随机数(需检查该节点是否可固定 seed)。复现一张图需要「seed + 提示词 + 模型 + 全部参数」完全一致。

视频生成 = 逐帧采样,显存与时长成正比。缓解手段:① 缩短帧数(AnimateDiff 从 16 帧起步,别一上来就 60 帧);② 调低分辨率(512×768 甚至 448×640);③ 开启上下文窗口重叠(context_options)分批采样长视频;④ 优先用 FP8 / GGUF 量化的视频模型;⑤ 关闭浏览器其他标签页释放显存,必要时加 --lowvram 启动。

常见原因排查:① 提交的不是 API 格式 JSON——必须用「工作流 → 导出 (API)」生成的那种 {"节点ID": {...}} 结构,而不是界面保存的普通 JSON;② 节点 ID 引用错误——API 格式里 inputs 引用的是其他节点的 ID 字符串;③ 检查返回体是否带 node_errors 字段;④ 用 GET /queue 与 GET /history/{prompt_id} 查看任务状态;⑤ 确认 ComfyUI 以 --listen 模式对外监听时端口未被防火墙拦截。

按顺序检查:① 目录位置——必须在 ComfyUI/custom_nodes/你的节点目录/ 下,且 __init__.py 在该目录根部;② NODE_CLASS_MAPPINGS 是否正确导出(大写、字典结构);③ 看启动日志有无 Import failed for custom_nodes... 报错(通常是 Python 依赖缺失,按提示 pip install);④ 重启 ComfyUI 或按 R 刷新节点定义;⑤ 搜索节点时注意 CATEGORY 分类的路径层级。

新一代模型大多托管在 Hugging Face 的 gated 仓库,需要:① 网页登录 HF → 打开模型仓库页 → 接受模型许可协议 → 等待访问申请通过(审批未完成前 ComfyUI 内置下载会一直报错);② 确认 ComfyUI 版本满足要求(H3 需 0.30.0+);③ 检查磁盘空间(LTX 全家桶 100GB+,H3 单文本编码器就 14.6GB);④ 部分地区网络无法直连 HF,可用下载工具手动拉取后放入对应目录(详见第 13 章模型清单)。

蒸馏模型的采样路径被大幅压缩,参数习惯要跟着变:① 步数用官方推荐的 4 步上下,过多反而可能过拟合路径;② CFG 压低到蒸馏推荐区间,高 CFG 会过饱和僵硬;③ 需要微调与极限画质时换 Base 版(20~28 步);④ 另外确认用的是配套的 Qwen 文本编码器与 flux2-vae,文件混用会导致画质异常。

没找到答案?推荐前往closerAI 教程站获取更多 ComfyUI 进阶教程、模型资源与实战案例
提问时附上:控制台报错日志 + 问题节点截图 + 显卡型号与系统,能获得更快更准的回答。