你可以早就听说过 ComfyUI,今天他的零基础教程来啦。

ComfyUI是什么?

ComfyUI 是一个强大且模块化的 Stable Diffusion 操作界面,与我们熟知的 WebUI 在底层上是一样的,只是它更灵活,通常可以实现各种“一键操作”。

img

它的特点是没有规规矩矩的选框、标签、按钮,只有一个个被线连接在一起的节点,构成一个从输入到输出的完整工作流程,它最大的意义在于提高了我们的自由度。

在 WebUI 里,我们只能按照开发者预设好的方式调节有限的参数来进行一个固定流程的生成,但在 ComfyUI 里,各种功能的节点自由组合可以演变出成百上千种不同的生成方式。同时你可以及时调用一个节点输出的内容作为另一个节点的输入,让我们原本需要在不同板块插件里进行的工作环环相扣的组合在一起,进而实现一些工作流程的全自动化运作

img

在学会了 ComfyUI 之后,我们就可以实现一键生成产品图、一键给模特换衣等功能,再也不用在 WebUI 里不断的调参了,从而大大提高生产效率。接下来就一起开始吧。

img

内容比较多,也很干,我建议你先点赞收藏一下,有时间的话再仔细阅读。

一、云端部署

首先,ComfyUI 有配置需求吗?一般来说,使用 ComfyUI 所需的配置取决于你在里面加载的工作流的强度。持论基本的生成功能,最低 3GB 显存的设备也可以运行;但如果想流畅一点,最好有 8G 显存。
如果你的电脑配置不错,可以直接使用官网的安装包或秋叶整合包进行本地部署。

如果你的电脑不太给力,也是可以借助各种云平台的,我这里首推揽睿星舟:

https://www.lanrui-ai.com/register?invitation_code=3363

一个小时只要不到 2 块钱就可以使用 RTX3090 的强大算力,且部署简单,整合包内容丰富,可以满足绝大多数使用者的需求。

img

主页

1.部署流程

注册成功之后点击“控制台”,再点击“工作空间”、“创建工作空间”。

img

img

img

img

这里就是部署界面了,可以看到显卡是 3090-24G,除了 ComfyUI 之外,还可以部署 WebUI, Foocus,以及丹炉。下面我详细介绍一下 ComfyUI 该如何部署。
首先镜像选择 ComfyUI,下方默认即可。

img

数据盘的作用是“工作空间停止后,数据盘内容不会丢失,直到数据盘销毁为止;对应的,工作空间停止后,数据盘会持续计费,直到数据盘销毁为止。”总的来说就是为了长久保持一些数据,但会造成持续扣费,这一项要记得关闭。

网盘主要用来存放一些模型和插件,每个用户有 10G 免费空间,但超过之后会按照 0.15元/GB/月 进行计费。这一项我们需要开启,不然模型可能不够用,且价格也不贵。

img

数据集选择默认的 sd-base,模型选择 sd-webui-model。

img

最后点击“立即创建”即可。这个过程可能需要 3 分钟左右的时间,耐心等待,创建完成之后会自动开机。

img

img

2.进入

看到这个界面就说明开机成功了

img

选择 JupyterLab

img

再选择 Terminal

img

复制上方的 bash /home/user/start.sh 命令,再敲一下回车启动

img

这时界面会跳出一行行的代码,说明系统正在运行,耐心等待 1 分钟左右

img

看到这段提示就说明已经启动好了

img

回到工作空间界面,选择“打开调试地址”

img

我们就成功进入 ComfyUI 界面了!

img

3.自动关机

这里要说明一下,由于揽睿星舟是按小时计费的,也就是说机器一旦启动就会按照一小时计费,不管你是用 1 分钟还是 59 分钟。
因此建议大家都设置一个自动关机时间,以免由于多用了 1 分钟导致多扣了一个小时的钱。
在工作空间点击“设置自动停止”

img

img

时间就从开机开始加上 58 分钟(尽量富余出几分钟,你懂的),开机时间在状态栏上方有显示的

img

最后,不用的时候也要记得关机啊,不然会持续扣费。

img

介绍完云端部署,接下来讲讲我们的主角:ComfyUI。

二、原理

ComfyUI 是基于节点和模块的,新手第一次接触也许会感到茫然:这些乱七八糟的连线怎么看都很复杂好吧。但如果你能稍微掌握一些 Stable Diffusion 的基本原理,理解起来可能会容易很多。

img

首先,我们需要理解一个重要的概念:潜空间。潜空间区别于像素空间,是一块我们不可见的压缩空间,在这里图片的处理速度更快,也正是有了潜空间的存在,Stable Diffusion 才能在我们民用级的电脑上使用。上图中粉色部分就代表潜空间,生成图片只会在潜空间内进行。

你可能已经知道,Stable Diffusion 生成图片的流程其实是一个“加噪”和“去噪”的过程。具体来说,一共分为三步:

  1. 首先,我们输入一些文本描述,这些描述经过编码,变成机器可以理解的语言(语义向量)传入潜空间。

编码时会用到一个叫 Clip 的模型中的文本编码器

\2. 系统在潜空间内生成一张随机种子噪声图,并在采样器等的引导下一步步去噪,我们输入的内容会被作为 Conditioning 参与调节,从而更好的对图片作引导。最终生成一张符合描述的潜空间语义向量。

这个噪声图是怎么生成的呢?首先生成一张空白图片,然后根据随机种子,把指定强度的噪声加在这张图上,从而形成一张随机种子噪声图。

\3. 此时生成的图片信息还在潜空间,需要经过解码回到像素空间,最终才能变成我们眼里的图片。解码用到的就是我们熟悉的 VAE

通过上面的流程拆解,你对这种“加噪-去噪”的出图方式是不是有了更清晰的了解?再回顾一下你听到的这些名词:

  • Clip
  • VAE
  • 随机种子噪声图
  • 潜空间
  • Conditioning

这些内容会在 ComfyUI 工作流中全部体现出来,现在我相信你已经理解了这个流程,那就赶快来看看 ComfyUI 中如何搭建工作流吧。

三、界面介绍

启动 ComfyUI,你会看到一个精简的界面。

img

界面主要分为两块:中间的出图区,和右侧的功能区。
出图区是放我们的各种节点的,我们稍后重点介绍,先来看看功能区。
功能区最上方的 save 和 load 分别是保存工作流和载入工作流,顾名思义,应该不用过多解释。
接下来常用的一个功能是“Load Defult”了,点击这个按钮会加载默认的工作流。

你可能会发现功能区下方还有一个 Manger 按钮,这是一个插件,可以很方便的安装其他拓展。点击 manage 会进入插件主界面

img

点击 Install Custom Nodes 可以跳转到插件安装界面,在搜索栏搜索想要的插件就可以直接安装了

img

如果你加载的是别人的工作流,发现缺少某些节点,可以点击 Install Missing Custom Nodes 进行安装

四、工作流介绍

一)默认工作流

界面熟悉之后,接下来带大家一起看看画面中这个默认工作流;这和我们点击 Load Default 之后出现的界面是一样的。

img

第一次看到这样的界面,难免会感觉有点复杂;其实结合上一节我们讲的原理和之前 WebUI 出图的流程,并不难理解。
我们先回想一下在 WebUI 中出图的流程:

  1. 先选一个大模型
  2. 写提示词
  3. 调整步数、选择采样器
  4. 出图

这个流程和 ComfyUI 中是对应的:

img

区别是就是多了一些额外的连线,我们只要把相同名字或相同颜色的连接点连接起来就可以。

其中加载大模型的节点叫做 Load Checkpoint,它有三个节点:MODEL, CLIP 和 VAE。MODEL 就是载入的大模型;CLIP 在原理里讲过,它包含了文本编码器,用来将我们输入的提示词转换成机器可以理解的文本向量;VAE用来解码,把图片从潜空间拉回像素空间。

img

写提示词的部分叫做 Clip Text Encode,正向提示词和负向提示词用的是同一个模节点,输出的部分叫做 Conditioning,作为潜空间去噪的引导

img

ComfyUI 中处理图像的部分叫 KSampler,相当于是潜空间。在这里我们要决定随机种子、步数、CFG、采样器等 WebUI 中的各项参数。KSampler 接收的变量有 model, positive, negative, latent_image,其中 model 就是大模型加载器传来的,连接点颜色是紫色;positive 和 negative 连接前面的 Conditioning,分别表示正向提示词和反向提示词,连接点颜色是黄色。
但最后这个 latent_image 是什么呢?

img

回顾一下 Stable Diffusion 的原理部分,是不是在处理图片的过程中有一个叫“随机种子噪声图”的东西?这个噪声图是通过在一张空白图上添加指定强度的噪声而形成的。这张空白图就是 latent_image。

所以 Empty Latent Image 决定了最终图片的尺寸。

img

通过 KSampler 的处理,我们的噪声图最终变成符合我们描述的图片,只不过现在还在潜空间,需要通过 VAE 解码才能回到像素空间,这时我们就要用到 VAE 解码器,也就是 VAE Decode。它接收的 samples 就是 KSampler 处理之后的 LATENT 连接点,颜色都是粉色;vae 连接大模型加载器上的 vae 连接点,颜色都是红色。

img

最终图片就通过 IMAGE 节点回到了像素空间。IMAGE 节点之后可以添加一个 Save Image 节点来保存图片。

img

以上就是整个默认工作流的分解,看到这里你你是不是清晰了很多?

二)节点的添加方法

上面说了这么多,那这些节点要如何添加进去呢?方法有三个:

  1. 右键,选择 Add Nodes,然后选择自己想要添加的节点就行。

img

\2. 双击界面,会弹出一个搜索框,也可以搜索自己想要的

img

\3. 在加载好一个节点之后,可以直接拖拽连接点然后放开,系统就会弹出可连接的推荐节点,选择之后会自动连线。

img

节点添加好之后,为了区别可以进行重命名。方法是选择节点之后右键,选择 Title。

img

img

也可以给节点换颜色,方法是选中节点,再右键选择 Colors。

img

img

三)出图方法

前面说了这么多,ComfyUI 该如何出图呢?在我们的工作流搭建好之后,可以点击工具栏中的 Queue Prompt 或者快捷键 Ctrl+Enter 进行出图。在出图的过程中运行到哪个节点,它的周围会有绿色的描边,据此我们可以追踪出图
的进度。

img

首次运行时加载要花一定时间,但从第二次开始运行速度就会飞快。

img

img

既然说到了快捷键,这里就把 ComfyUI 中的快捷键都列出来给大家

Keybind Explanation
Ctrl + Enter 出图
Ctrl + Z/Ctrl + Y 撤销
Ctrl + S 保存工作流
Ctrl + O 载入工作流
Ctrl + A 选择所有节点
Alt + C 折叠所选节点
Ctrl + M 屏蔽/取消屏蔽节点
Ctrl + B 穿过所选节点(就像此节点不存在,连线会穿越节点)
Delete/Backspace 删除节点
Ctrl + Delete/Backspace 清空界面
Space 按住之后画布会随着鼠标移动
Ctrl/Shift + Click 多选
Ctrl + C/Ctrl + V 复制粘贴节点
Ctrl + C/Ctrl + Shift + V 保持连线复制粘贴
Shift + Drag 同时移动多个节点
Ctrl + D 加载默认工作流
Q 切换队列可见性
H 切换出图历史可见性
R 刷新界面
双击 打开节点搜索界面

出图时点击右侧的 View Queue 可以看到排队情况;View History 可以看到出图历史

img

img

img

四)图生图

默认的工作流是文生图,我们可以试试根据前面学的内容搭一个图生图的工作流。
回想我们在 WebUI 里的经历,图生图就是上传一张图片,其余部分保持不变。在 ComfyUI 里也是类似操作,我们只要把那张空白图片替换成需要上传的图片即可。
为了上传图片,我们需要用到一个新的节点:Load image,双击界面搜索就可以找到了。

img

这个节点有两个输出,一个 IMAGE,一个 MASK。类似默认的空白图片,我们需要做的就是把这张图片连接到 KSampler 对应的 latent_image 上。

img

但这个连接点是粉色的,我们新的节点上没有匹配的颜色,怎么办呢?

img

目前来说我们的图片还在像素空间,想要加入 KSampler 中进行处理,就需要把这张图片转到潜空间,因此需要额外一个节点对图片进行编码,这个节点就是 VAE Encode。
鼠标放在 IMAGE 连接点上拖动一下,就会发现可以选择 VAEEncode 节点。

img

img

VAE Encode 节点上还需要输入一个 vae,直接从 模型加载节点的 vae 那里拉一条线过来就可以了。

img

这样我们的输出节点就是粉色的 LATENT 了,就可以顺利连接到 KSampler 上了。最终的效果就是这样的:

img

然后就可以出图了。

img

在图生图中有一个参数需要注意,那就是 KSampler 中的 denoise 值,表示去噪强度,默认是 1,范围是 0-1。数值越大去噪程度越高,和原图差距越大;数值越小和原图越相似。

img

原图

img

denoise=1

img

denoise=0.5

五、总结

今天介绍了 ComfyUI 最基本的文生图和图生图工作流,还是相对来说比较简单的,希望大家能着重理解各个节点连接的规律,后面我们会介绍进阶一点的工作流,比如添加 Lora, Controlnet,高清放大的工作流。最重要的还是多多练习,熟能生巧!

关于AI绘画技术储备

学好 AI绘画 不论是就业还是做副业赚钱都不错,但要学会 AI绘画 还是要有一个学习规划。最后大家分享一份全套的 AI绘画 学习资料,给那些想学习 AI绘画 的小伙伴们一点帮助!

为了帮助大家更好地掌握 ComfyUI,我在去年花了几个月的时间,撰写并录制了一套ComfyUI的基础教程,共六篇。这套教程详细介绍了选择ComfyUI的理由、其优缺点、下载安装方法、模型与插件的安装、工作流节点和底层逻辑详解、遮罩修改重绘/Inpenting模块以及SDXL工作流手把手搭建。

需要的可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

一、ComfyUI配置指南

  • 报错指南
  • 环境配置
  • 脚本更新
  • 后记

二、ComfyUI基础入门

  • 软件安装篇
  • 插件安装篇

三、 ComfyUI工作流节点/底层逻辑详解

  • ComfyUI 基础概念理解
  • Stable diffusion 工作原理
  • 工作流底层逻辑
  • 必备插件补全

四、ComfyUI节点技巧进阶/多模型串联

  • 节点进阶详解
  • 提词技巧精通
  • 多模型节点串联

在这里插入图片描述

五、ComfyUI遮罩修改重绘/Inpenting模块详解

  • 图像分辨率
  • 姿势

在这里插入图片描述

六、ComfyUI超实用SDXL工作流手把手搭建

  • Refined模型
  • SDXL风格化提示词
  • SDXL工作流搭建

在这里插入图片描述

在这里插入图片描述

这份完整版的学习资料已经上传CSDN,朋友们如果需要可以微信扫描下方CSDN官方认证二维码免费领取【保证100%免费】

Logo

火山引擎开发者社区是火山引擎打造的AI技术生态平台,聚焦Agent与大模型开发,提供豆包系列模型(图像/视频/视觉)、智能分析与会话工具,并配套评测集、动手实验室及行业案例库。社区通过技术沙龙、挑战赛等活动促进开发者成长,新用户可领50万Tokens权益,助力构建智能应用。

更多推荐