comfyui教程(完整版)从零开始教你玩转ComfyUI-保姆级部署教程-手把手带你ComfyUI工作流搭建

该文章已生成可运行项目,

第一节:认识ComfyUI并安装

本教程专为初学者设计,详细介绍了 2024 年最新版的SD ComfyUI的使用方法。通过逐步指导,让你无需任何基础,快速学会并使用这一强大的AI绘图工具。

1、什么是comfyui

ComfyUI就像拥有一支神奇魔杖,可以轻松创造出令人惊叹的AI生成艺术。从本质上讲,ComfyUI是构建在Stable Diffusion之上的基于节点的图形用户界面(GUI),而Stable Diffusion是一种最先进的深度学习模型,可以根据文本描述生成图像。 但ComfyUI真正特别之处在于,它如何让像你这样的艺术家释放创造力,将你最疯狂的想法变为现实。

想象一下有一块数字画布,你可以通过连接不同的节点来构建自己独特的图像生成工作流,每个节点代表一个特定的功能或操作。 就像为你的AI生成杰作构建一个视觉食谱!

2、ComfyUI VS. WebUI

WebUI是Stable Diffusion的默认GUI。让我们对比一下ComfyUI的优缺点:

✅ 使用ComfyUI的好处:

  1. 轻量级: 运行速度快,效率高。
  2. 灵活性: 高度可配置以满足你的需求。
  3. 透明度: 数据流可见,易于理解。
  4. 易于分享: 每个文件代表一个可重现的工作流。
  5. 适合原型开发: 使用图形界面而不是编码来创建原型。

❌ 使用ComfyUI的缺点:

  1. 界面不一致: 每个工作流可能有不同的节点布局。
  2. 操作门槛较高:由于ComfyUI采用节点式的工作流,对于初学者来说可能需要一段时间来熟悉和掌握。
  3. 生态相对较小:尽管ComfyUI的基本功能齐全,但在插件和扩展工具方面,其生态可能不如webui丰富。不够现在很多插件也都是先支持ComfyUI了。这个后续的生态会不断完善,不是什么大问题

3、ComfyUI 的硬件配置要求

组件要求
GPU显存至少4GB以上,推荐使用 NVIDIA 显卡,建议使用 RTX3060 以上显卡
显存小于3GB的GPU可通过–lowvram选项运行,但性能可能下降。
CPU支持在CPU上运行,但速度较慢,使用–cpu选项。
内存建议系统内存至少8GB。
存储空间非常建议使用固态硬盘来加快模型文件的加载运行速度,建议至少40GB以上的硬盘空间。

4、ComfyUI 的安装方法

这边推荐和WebUI一样使用秋叶大佬的一键整合包安装ComfyUI非常简单

这个是秋叶大佬分享的整合包下载链接

【下载链接】 请添加图片描述

下载压缩包

image.png

解压整合包文件

解压到你想要安装 ComfyUI 的本地目录。

启动 A绘图启动器

这一步主要查看 A绘图启动器 是否能正常运行,解压后的文件夹中找到 A绘图启动器.exe文件,双击即可启动秋叶的ComfyUI整合包,启动后应该会自动根据你的系统语言进行显示。

image.png

打开后是这样的

image.png

在设置中可以修改我们的语言

image.png

下载了模型的小伙伴记得把模型放在这个文件夹内

image.png

我们点击启动,能看到这个页面就是安装成功啦

image.png

ComfyUI各类模型安装路径,如何与WebUI共享模型

进入到 ComfyUI 根目录,找到这个「Models」文件夹,双击进去。

image.png

进来之后你就会看到以模型名称命名的文件夹,如 Checkpoints(大模型)、Loras、controlnet 、vae等,我们只需要进入对应的文件夹,把正确的模型安装进去即可。

image.png

如果你有使用过WebUI并且有下载过模型,我们就可以把WebUI下载过的模型共享给ComfyUI

节省我们的空间,

第一步

同样,我们还是打开 ComfyUI 根目录,找到这个「extra_model_paths.yaml.example」文件:

image.png

第二步

打开刚刚修改后缀的文件,修改路径,把base_path改成你sdwebui的安装路径

image.png

第三步

再次启动 comfyUI 就可以看到已经可以使用 WebUI 中的模型

image.png

初次运行ComfyUI,一启动便会看到一个预设的工作流程,这通常是一个入门级的文本到图像的工作流。让我们借此机会对构成这个工作流的基础节点进行一番简要说明。

image.png

在ComfyUI中,节点和节点之间的链接以相同颜色链接即可,熟悉常用工作流之后,大概就能明白节点的链接逻辑了

1、K采样器

K采样器可以类比为一个“厨师”,是SD出图流程中的核心节点,所有节点载入,数据输入,参数配置,最后都会汇总到K采样器,它会结合载入的模型,提示词的输入以及Latent输入,进行采样计算,输出得到最终图像

  • input model:从模型加载节点接收的Unet模型。
  • positive:由CLIP模型编码的正向提示词。
  • negative:由CLIP模型编码的负向提示词。
  • latent_image:潜在空间中的图像,可以是一个预先存在的潜在图像节点,也可以是空的。

image.png

Latent,即潜空间,可以理解为SD内部流程中的图像格式,如果我们将图像作为输入,则需要通过VAE编码将其转换为Latent数据,在最后输出时,我们也需要通过VAE解码将其转换为像素空间,也就是我们最终图像

2、Checkpoint加载器

可以类比为菜系,选择写实的大模型,厨师就会做写实风格的“菜”

image.png

checkpoint 也就是大模型,这个节点是起始点,需要选择相应的大模型,以及vae输入给采样器,clip则连接正反向提示词 其中VAE可以直接使用大模型的vae去链接,也可以单独使用vae解码节点,来选择自定义的vae

3、CLIP文本编码器

简单比喻就是“菜谱”,把你最想吃的都写在这里“厨师”就会按照这个菜谱做菜

image.png

CLIP节点则需要输入提示词,其中CLIP节点需要两个,一个作为正向提示词链接K采样器,一个作为负向提示词链接采样器

4、空白潜空间图像

可以理解为菜的分量

image.png

使用空latent建立潜空间图像,这里主要用于控制图像尺寸和批次数量的

5、VAE解码

  • input samples:已经通过采样器去噪的潜在空间图像。
  • vae:可以是大模型自带的VAE,也可以是独立的VAE模型。
  • output IMAGE:输出的图像可以连接到保存节点或预览节点,以便用户查看或保存生成的图像。

image.png

前面已经提到对于Latent潜空间图像和输出的像素图像之间,需要进行一次转换,VAE解码节点则是对这个过程转换的节点

6、保存图像

image.png

顾名思义,即保存当前生成的图像,保存的图像除了在当前页面能看到以外,也可以在本地文件夹目录(x:\xxx\ComfyUI根目录\output)下看到所有生成的图片

默认流程整体就这么简单,输入提示词,点击添加提示词队列,即可生成你的第一张ComfyUI图片了

image.png

image.png

第三节:使用ComfyUI搭建图生图

一、创建流程
  1. 同样,我们先打开文生图基础流程,我们这个基础上把图生图流程加进去;
  2. 我们“右键——新建节点——图像——加载图像”,然后把图片传上去;

image.png

  1. 我们在加载图像上鼠标点击住“图像”往外拉,松开然后选择“VAE 解码”;

image.png

image.png

  1. 我们再把“VAE 解码的 Latent”和“采样器的 Latent”链接,“VAE”连接到“VAE 加载器”;

image.png

5.如果我们还需要调整图片的尺寸和大小,这时候我们右键画布

image.png

把潜空间图形放大添加到画布中,如何左边在连上我们的vae编码,右边连上采样器的潜空间图像

image.png

如果你不需要调整原图尺寸就可以不用添加这一步,comfyui会默认原图尺寸

  1. 有些内置的模型没有vae或者我们想自己添加vae我们可以添加:加载vae节点

image.png

这个节点vae分别连接到vae编码和vae解码

image.png

  1. 最后我们完整的图生图工作流就搭建好啦

image.png

最后不要忘了把重绘幅度调整一下

image.png

我这边选择大模型:flat2DAnimerge大模型试试效果,由于我没有修改原图尺寸所以我没有用到潜空间图像放大这个节点。可以看到效果非常的准确。

image.png

第四节:ComfyUI安装插件教程

安装插件的方法有两种,一种是使用 Terminal 安装,另一种是手动导入安装。如果你对命令行工具比较熟悉,我会推荐你使用第一种方法。如果你不想使用命令行,可以考虑手动的方式。

我以安装ComfyUI-Manager这个插件为例向大家展示如何安装插件

ComfyUI-Manager 是 ComfyUI 的一个基础管理插件,通过它我们可以很方便的管理其它插件、模型、依赖的程序包,以及了解 ComfyUI 社区的最新消息,是新手小白必备的插件。

插件的官方地址:GitHub - ltdrdata/ComfyUI-Manager

我们现演示第一种方法,这个方法的前提是你已经安装了git

我们进入comfyui/custom_nodes这个文件夹,如何输入cmd就可以进入该文件夹路径的终端。

在终端里复制这一段git clone https://github.com/ltdrdata/ComfyUI-Manager.git

后回车即可安装。

image.png

由于我这边已经安装过了,所以显示是这个

image.png

正常安装是这种效果

image.png

方法二:我们在github上直接下载该插件的文件,如何放在刚刚安装插件的路径即可

image.png

安装完成后我们重新启动comfyui

启动后我们点击这个manager按钮就是我们安装的插件

image.png

image.png

有了这个插件后我们安装其他插件就很方便了

我们点击中间最顶上的Custom Nodes Manager

这上面就可以搜索和更新我们的插件

image.png

安装完记得重启我们的comfyui

image.png

最后一种方法就是使用秋叶整合包安装插件,非常的一目了然,也非常的方便

image.png

最后在推荐几款新手必装的一些插件,大家赶紧去试试吧

  1. ComfyUI Workspace Manager - Comfyspace comfyui工作空间管理器
  2. AIGODLIKE-COMFYUI-TRANSLATION comfyui汉化插件
  3. ComfyUI-Crystools 资源监控
  4. ComfyUI-WD14-Tagger 提示词反推

Refiner模型细化图像

首先我们来到基础的文生图页面

复制一个加载模型,一个选base一个选refiner

image.png

这个时候我们发现一个问题,就是两个模型怎么共用一套提示词呢

我们可以按一以下步骤设置

1.我们右键把全部clip文本编码节点,把他转换为文本输入

image.png

改完以后就是这样

image.png

2.我们在空白画布上添加两个基元也叫“primitive元节点” ,右键——添加节点——工具——基元

image.png

一个坐正向提示词一个做负面提示词。我们可以在基元中添加提示词并且链接到对应的文本编码,正面提示词连正面文本编码,负面提示词链接负面文本编码

image.png

如何我们在复制一对clip文本编码器链接refiner模型

image.png

这样就实现了两个模型控制使用同一个提示词

由于refiner模型需要在base之后使用,所以我们需要在base的采样器后面在添加一个refiner模型的采样器,把base采样器的latent输出作为refiner采样器的输入

image.png

最后我们再把refiner采样器的latent输出链接到vae解码节点

image.png

所以完整的工作流就是这样,想要完整工作流的小伙伴也可以扫码右边二维码加群获取哦

image.png

我们可以对比使用refiner细化后和仅使用base的效果

下图是通过refiner细化后的图片

image.png

下图是未使用refiner的图片,可以看到图片细节差了非常大,所以使用refiner模型细化还是非常有效果的

image.png

局部重绘与AI扩图

我们加载上次图生图的工作流

当时我们加载图像的遮罩输出是空的,这次我们把它利用起来

image.png

我们可以点住它往外面拉,然后选择VAE内部编码器

image.png

这个和普通的vae编码相比就多了个遮罩,这个遮罩延展的意思和ps的羽化蒙版差不多。大一点融合效果比较好,小一点比较融合效果比较生硬。

image.png

有了这个VAE我们就可以把原来的VAE编码的线都改到新的vae编码(重绘)上

image.png

然后我们右键点击图像选择在遮罩编辑器中打开

image.png

image.png

比如我在人物眼睛上涂了一下,然后提示词修改一下,改成闭眼

image.png

点击加入队列生成,我们就可以把人物的眼睛重绘啦。

image.png

AI扩图流程

我们如果想对图像四周进行重绘进行扩图,这时候我们就用到一个“外补画板”节点,“右键——新建节点——图像——外补画板”

上下左右是设置向外扩散尺寸的,羽化和 VAE 内补编码的遮罩延展一个意思。

image.png

  1. 这个节点是连接在“加载图像”和“VAE 内补编码器”节点之间,如下图所示:

image.png

提示词我写上画框,加入队列生成后的图像确实加上了画框,使用起来还是非常简单的

image.png

controlNet工作流程全解析

我们在WebUI中使用controlnet都是通过插件,而插件中包含了预处理器和模型。而在comfyui中我们是预处理和模型分开搭建的,接下来就让我们看看如何搭建吧

首先我们先加载我们的默认工作流

1.预处理器

我们可以在空白区域按照以下方法添加我们的预处理器

image.png

还有一种方法就是安装预处理器插件来添加我们的预处理器节点

Controlnet 预处理器插件:

  1. 插件地址: https://github.com/Fannovel16/comfyui_controlnet_aux.git
  2. 如果安装后,运行 ComfyUI 显示无法导入插件
  3. 请运行“ComfyUI\custom_nodes\comfyui_controlnet_aux”目录下的“install.bat”文件

有了这个插件后可以更方便的管理和添加我们的预处理器

image.png

有了预处理器节点后,我们从节点的左边拖出加载图像

image.png

右边再拉出预览图像,这样我们预处理这一块就搭建好啦,运行后的效果正好对应了我们webui中的💥按钮

image.png

2.controlnet模型

然后我们梳理逻辑,这经过canny预处理器处理过后的图像我们应该需要发给controlnet对应的canny模型。所以我们按下图加载ControlNet模型,模型记得选择canny对应的。

image.png

我们看到加载controlnet模型右边有个节点,我们拖出来选择controlnet应用。看到这个是不是很熟悉,很想Webui中的controlnet控制强度。右边的图像节点接受的是前面经过canny预处理后的节点

image.png

我们在看右边的条件,ControlNet 应用会对条件进行加工处理,在其中加入当前 ControlNet 提取到的控制信息。所以需要把它们连接到“CLIP 文本编码器”节点的输出条件,

image.png

而左边的输出条件链接的就是K采样器的正面条件(正面提示词)

image.png

以上这些连完就完成了最基本的Contnet工作流,以下就是完整的工作流。

image.png

多controlnet链接

我们在“Controlnet 应用”后面再串联个“Controlnet 应用”就可以了,其余的该连 Controlnet 模型的连模型,该连 Controlnet 预处理器的连预处理器。

image.png

补充:comfyui自带的controlnet应用是比较简单的。如果想要使用高级的Controlnet

我们可以在管理器中安装这个扩展

image.png

安装完重启刷新后我们就可以使用功能更丰富的controlnet应用了,这样看是不是和WebUI更相似了呢

image.png

  1. 强度:就是我们用来控制权重的,
  2. 开始时间:我们在绘图时,Controlnet 什么时候进行控制;
  3. 结束时间:我们在绘图时,Controlnet 什么时候结束控制;

Lora工作流搭建

Lora模型安装路径

模型存放位置在“ComfyUI_windows_portable\ComfyUI\models\loras”目录下,如果你是和 Web UI 共用的模型,那就放在“sd-webui\models\Lora”目录下。

如果不知道怎么与WebUI共享模型的小伙伴可以看我们的第二节有详细介绍。

使用Lora模型

在使用上比较简单,我们在默认的文生图工作流空白处“右键-新建节点-加载器-LoRA 加载器”;

image.png

连接也非常简单,我们左侧模型和clip链接大模型加载器的模型和clip,右侧的模型链接k采样器,clip链接文本编码器,虽然有两个CLIP 文本编码器,但是经过测试只练正向关键词的CLIP 文本编码器就可以了

image.png

我们选择像素风模型试一下效果,可以看到成功使用Lora模型改变了画风。

image.png

调整Lora模型权重

我们还可以像在WebUI上调整Lora模型的权重:

回到“LoRA 加载器”节点上。除了选择模型外还有两个可以设置参数的地方,模型强度、CLIP 强度。至于我们设置哪个参数能达到控制权重的效果,完全取决于模型的训练方式。所以我们在不知道受哪个参数影响的情况下,我们可以对两个参数都进行调节,而 Web UI 上是把两个参数整合在一起了。

image.png

使用多个Lora

使用多个Lora非常简单,只需要把多个Lora加载器串联起来

image.png

image.png

效率节点

虽然使用多个Lora串联非常简单,但是我们使用多个 Lora 模型 的时候就会让流程图更复杂、更乱,调节权重也比较麻烦,我们可以使用一个插件帮我们解决。

⑩efficiency-nodes-comfyui(效率节点): https://github.com/jags111/efficiency-nodes-comfyui.git

我们直接在管理器中安装完成后重启就可以使用。

image.png

我们直接把三个比较重要的高效节点加载出来

image.png

“LoRA 堆”节点

【输入模式】和控制权重有关,在这个节点我们可以通过调节一个参数就能控制权重了,如果我们把输入模式改为高级,Lora 权重就会分成模型强度、CLIP 强度;

【Lora 数量】用来调节我们使用几个 Lora 模型的,当前数值是 3,我们就有三个 Lora 可选;

剩下的权重和选择Lora模型就不用过多介绍了,大家肯定都知道。

效率加载器

我们需要操作的地方有:大模型选择、VAE 模型选择、Lora 模型(不使用选无,如果只使用一个就可以在这个节点选择,多个情况下就使用我们上面说的 Lora 堆节点)、正反提示词、宽高、批次;

K 采样器

基本上一样,没什么大的区别。

image.png

image.png

image.png

很明显的看出减少了很多的连接,非常的高效而且使用体验上更接近WebUI

image.png

这个插件可不止用来帮我们解决 Lora 模型的连接的问题,他能帮我们简化很多节点的连接,包括我们之前讲的多个 ControlNet 使用,也能减少连接步骤。

ComfyUI平台上安装并配置Insightface

Insightface是comfyui非常重要的插件,没有insightface我们的IP-adapter或者InstantID都用不了,所以大家一定要安装上。

手动安装方法

第一步:下载InsightFace文件

首先,访问以下GitHub仓库:

https://github.com/Gourieff/Assets/tree/main/Insightface

在这个仓库中,你可以看到多个版本的InsightFace文件。根据你的Python版本选择相应的文件下载。例如,如果你的Python版本是3.10,则下载对应的文件。

image.png

第二步:检查Python版本

要查看你的Python版本,可以进入ComfyUI的虚拟Python环境。双击虚拟环境图标,打开终端窗口。在终端中,你可以看到Python版本号。

image.png

image.png

第三步:下载并安装
  1. 选择下载路径:将下载的文件保存到刚刚打开python.exe同级目录中,确保路径中不包含中文字符,以避免潜在的错误。

image.png

  1. 进入ComfyUI根目录:打开终端,输入命令行进入ComfyUI的根目录。

我们输入以下命令

python.exe -m pip install insightface

如之前安装失败请先卸载:

python.exe -m pip uninstall insightface

然后更新pip:

python.exe -m pip install -U pip

通过whl文件重新安装InsightFace:

python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

安装成功后我们的python_embeded文件夹内就会有insightface文件

image.png

秋叶启动器安装方法

使用秋叶启动器安装就比较简单了,直接按下图步骤操作即可。如果秋叶启动器安装失败也是可以用上面的手动方法安装的

image.png请添加图片描述

本文章已经生成可运行项目
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值