ComfyUI 新手入门指南

内容分享3周前发布
0 0 0

ComfyUI 是一款基于节点的可视化界面,用于 Stable Diffusion 模型。本教程专为 ComfyUI 的初次使用者设计,内容涵盖:

  • 文生图 (Text-to-image)
  • 图生图 (Image-to-image)
  • SDXL 工作流程
  • 图像局部重绘 (Inpainting)
  • LoRA 模型的使用
  • ComfyUI 管理器:在图形界面中管理自定义节点
  • Impact Pack:实用 ComfyUI 节点合集

告别摸索,通过清晰的步骤,快速精通 ComfyUI!

什么是 ComfyUI?

ComfyUI 是一款为 Stable Diffusion 设计的节点式图形用户界面。它通过将不同的功能模块(节点)串联起来,构建图像生成的完整流程。

常用的模块包括:加载 Checkpoint 模型、输入提示词、选择采样器等等。ComfyUI 将图像生成流程分解为可自由组合的单元,方便用户定制个性化的工作流。

ComfyUI 安装

要学习本教程,您需要先安装并运行 ComfyUI。

请参考安装指南,了解如何在 Mac 或 Windows 系统上进行本地安装。如果您硬件配置不足,也可以在 Google Colab 上使用 ComfyUI notebook。

ComfyUI vs AUTOMATIC1111

AUTOMATIC1111 是目前 Stable Diffusion 最主流的图形用户界面。

那么,应该选择 ComfyUI 替代 AUTOMATIC1111 吗? 这里有一个对比:

ComfyUI 的优势:

  1. 轻量高效:运行速度快。
  2. 高度灵活:可配置性极高。
  3. 流程透明:数据处理流程一目了然。
  4. 易于分享:每个文件就是一个可复现的工作流。
  5. 原型设计利器:通过图形界面而非代码进行快速原型开发。

ComfyUI 的不足:

  1. 界面风格不统一:不同的工作流节点布局可能差异较大,需要用户自行理解和调整。
  2. 细节过多:普通用户可能不需要了解底层连接的细节。(使用图形界面的目的不就是为了简化操作吗?)

入门指引

学习 ComfyUI 的最佳方式是从实例入手。接下来,我们将从最简单的“文生图”工作流开始,学习 ComfyUI 的基本操作。

我们将逐步学习一些核心工作流示例。掌握这些基础后,您就能逐渐理解如何创建自己的工作流。

在本教程的最后,您将有机会接触一个更复杂的工作流,并会提供相应的解答。

基础操作

  • 缩放: 使用鼠标滚轮或双指捏合进行缩放。
  • 连接节点: 拖拽节点输入或输出端口上的小圆点,即可建立连接。注意,只有类型匹配的输入和输出端口才能连接。
  • 移动画布: 按住鼠标左键拖拽,即可移动工作区画布。
  • 队列面板: 按下 Ctrl+0 (Windows) 或 Cmd+0 (Mac) 可显示任务队列面板。

文生图 (Text-to-image)

让我们从最基础的场景开始:通过文字描述生成图像

经典功能,对吧?

通过这个例子,您将理解 ComfyUI 的核心理念(它与 Automatic1111 WebUI 有着显著的不同)。更棒的是,您还能深入了解 Stable Diffusion 的工作原理!

生成您的第一张 ComfyUI 图像

首次启动 ComfyUI 后,您应该会看到默认的“文生图”工作流,如下图所示:

ComfyUI 新手入门指南

如果看不到任何工作流,请点击左侧边栏的 Workflows(工作流) 图标,然后点击 Browse template(浏览模板) 按钮。

ComfyUI 新手入门指南

选择 Image Generation(图像生成) 模板。

ComfyUI 新手入门指南

您会看到工作流是由两种基本元素构成的:节点 (Nodes)连线 (Edges)

节点 (Nodes) 是图中一个个矩形模块,例如 Load Checkpoint(加载模型)、Clip Text Encoder(CLIP 文本编码器)等等。每个节点负责执行特定的代码逻辑。如果您有编程经验,可以将它们理解为一个个函数。每个节点都包含三个部分:

  • 输入 (Input):节点左侧的文本标签和小圆点,连线从这里接入。
  • 输出 (Output):节点右侧的文本标签和小圆点,连线从这里引出。
  • 参数 (Parameters):节点中间区域的各种可调节选项。

连线 (Edges) 是连接各个节点 (Nodes) 输入和输出端口的线条,它代表了数据在工作流程中的流动方向。

核心概念就是这样!剩下的都是细节。

如果节点上出现的专业术语让您感到困惑,请不必担心。我们将通过一个简单的 ComfyUI 使用示例,逐步介绍相关概念,并逐步深入到更复杂的工作流程。

下面是最简化的 ComfyUI 使用流程,您应该已经加载了默认工作流

ComfyUI 新手入门指南

选择模型节点

第一,在 Load Checkpoint(加载模型) 节点中,选择一个 Stable Diffusion Checkpoint 模型。点击模型名称,会展开模型列表供您选择。

如果节点显示过小,可以使用鼠标滚轮或触摸板双指缩放来调整视图。

如果点击模型名称没有反应,可能是您尚未安装模型,或者 ComfyUI 没有正确配置以访问您在 A1111 中已有的模型。请返回安装指南检查并解决。

ComfyUI 新手入门指南

输入提示词和负面提示词

您应该能看到两个标签为 CLIP Text Encode (Prompt)(CLIP 文本编码 (提示词)) 的节点。在上方的节点输入您的正面提示词,在下方的节点输入负面提示词

CLIP Text Enode(CLIP 文本编码) 节点的作用是将输入的提示词文本转化为模型可以理解的数字表明形式。它第一将提示词分解成 tokens(标记),然后通过文本编码器将这些 tokens 转换为 embeddings(嵌入向量)。

您可以使用 (关键词:权重) 这样的语法来调整 关键词的权重。例如,(关键词:1.2) 表明增加该关键词的效果,(关键词:0.8) 则表明降低其效果。

如何判断哪个节点是正面提示词?观察 CONDITIONING(条件) 输出端口。它连接到 KSampler 节点的 positive(正面) 输入端。同理,下方的节点连接到 negative(负面) 输入端,因此它是用来输入负面提示词的。

3. 生成图像

点击 Queue(队列) 按钮,开始运行工作流。稍等片刻,第一张图像就会生成。

工作流程解析

ComfyUI 的优势在于其高度的可定制性。理解每个节点的功能至关重大,这样才能更好地利用它们来满足您的创作需求。

如果您对理论不感兴趣,可以跳过本节的剩余部分。

ComfyUI 新手入门指南

Load Checkpoint(加载模型)节点

Load Checkpoint(加载模型)节点用于选择 Stable Diffusion 模型。一个完整的 Stable Diffusion 模型主要包含三个部分:

  1. MODEL(模型): 负责在潜在空间中预测图像噪声的模型。
  2. CLIP: 语言模型,用于预处理正面和负面提示词。
  3. VAEVariational AutoEncoder(变分自编码器),负责在像素空间和潜在空间之间进行图像转换。

MODEL(模型)的输出端口连接到 sampler(采样器) 节点,在那里进行图像的反向扩散生成过程。

CLIP 的输出端口连接到提示词节点,由于提示词需要先经过 CLIP 模型的处理才能被模型理解。

在“文生图”流程中,VAE 主要在最后一步发挥作用:将潜在空间中的图像转换回像素空间。换句话说,我们只使用了自编码器的 decoder(解码器) 部分。

ComfyUI 新手入门指南

CLIP Text Encode(CLIP 文本编码)节点

CLIP text encode(CLIP 文本编码) 节点接收输入的提示词,并将其送入 CLIP 语言模型进行处理。CLIP 是 OpenAI 开发的语言模型,它将提示词中的每个词语转换为 embeddings(嵌入向量),从而让模型能够理解文本信息。

ComfyUI 新手入门指南

Empty latent image(空白潜在图像)节点

“文生图” 过程的起点是一张潜在空间中的随机图像。

潜在图像的大小与最终生成的像素图像尺寸成比例。因此,如果您想调整图像尺寸,需要修改潜在图像的大小。

通过设置 height(高度)width(宽度) 参数,即可调整最终生成图像的像素尺寸。

此外,您还可以设置 batch size(批量大小) 参数,它决定了每次运行工作流生成多少张图像。

ComfyUI 新手入门指南

KSampler 节点

KSampler 是 Stable Diffusion 图像生成的核心组件。sampler(采样器) 的作用是将一张随机噪声图像逐步去噪,最终生成符合提示词描述的图像。

KSampler 节点中使用的采样算法,来源于这个代码仓库
https://github.com/crowsonkb/k-diffusion。

KSampler 节点的主要参数包括:

  • Seed(种子):随机种子值控制了初始噪声图像的生成,进而影响最终图像的构图和细节。
  • Control_after_generation(生成后控制):决定每次生成图像后,seed(种子) 值如何变化。选项包括:随机生成 (randomize)、递增 1 (increment)、递减 1 (decrement)、以及固定不变 (fixed)。
  • Step(步数):采样步数。步数越高,去噪过程越精细,图像质量一般也越好,但生成时间会更长。
  • Sampler_name(采样器名称):用于选择不同的采样算法。请参考 采样器详解文章 了解更多信息。
  • Scheduler(调度器):控制在每个采样步骤中,噪声水平的调整方式。
  • Denoise(去噪程度):控制去噪过程对初始噪声图像的去除程度。1 表明完全去除初始噪声。

图生图 (Image-to-image) 工作流

图生图 (Img2img) 是 Stable Diffusion 的另一项核心功能。它基于输入的提示词 以及 一张参考图像来生成新的图像。

通过调整去噪强度,您可以控制 Stable Diffusion 在多大程度上参考原始图像的内容。

下载图生图 (Image-to-image) 工作流

将下载的工作流图像拖拽到 ComfyUI 界面即可加载。

ComfyUI 新手入门指南

comfyUI img2img 工作流

使用图生图 (img2img) 工作流的步骤:

  1. 选择 Checkpoint 模型
  2. 修改正面和负面提示词
  3. 可选: 在 KSampler 节点中调整 denoise(去噪程度) 参数(即去噪强度)。
  4. 点击 Queue Prompt(队列提示词)开始生成。

ComfyUI 管理器

ComfyUI manager(ComfyUI 管理器) 是一款自定义节点,它允许您通过 ComfyUI 界面直接安装和更新其他自定义节点

在 Windows 系统上安装 ComfyUI 管理器

打开文件资源管理器,导航到 ComfyUI_windows_portable > ComfyUI > custom_nodes 文件夹。

ComfyUI 新手入门指南

在地址栏中输入 cmd 并按下回车键。

ComfyUI 新手入门指南

此时会弹出一个命令提示符终端窗口。

在终端中输入以下命令并按下回车键:

git clone https://github.com/ltdrdata/ComfyUI-Manager

等待命令执行完成。

重启 ComfyUI。您应该会在顶部菜单栏看到新增的 Manager(管理器) 按钮。

ComfyUI 新手入门指南

提示: 如果 ComfyUI 管理器没有出现,请查看终端窗口中的错误信息。

常见错误是系统中未安装 GIT (一个代码版本管理工具)。安装 GIT 一般可以解决问题。

在 Mac 系统上安装 ComfyUI 管理器

要在 Mac 系统上安装 ComfyUI 管理器,请打开终端 (Terminal) 应用,并进入 ComfyUI 的 custom_nodes 文件夹:

cd ComfyUI/custom_nodes

然后将 ComfyUI 管理器节点克隆到本地:

git clone https://github.com/ltdrdata/ComfyUI-Manager

完全重启 ComfyUI。

使用 ComfyUI 管理器

安装完成后,您会在顶部工具栏看到额外的 Manager(管理器) 按钮。

ComfyUI 新手入门指南

点击该按钮会打开一个图形界面,您可以通过它进行以下操作:

  • 安装/卸载自定义节点。
  • 安装当前工作流中缺失的节点。
  • 安装各种模型,例如 checkpoint 模型、AI 放大模型、VAE 模型、LoRA 模型、ControlNet 模型 等。
  • 更新 ComfyUI 界面。
  • 查阅社区用户手册。

ComfyUI 新手入门指南

ComfyUI 管理器菜单

Install Missing Nodes(安装缺失节点) 功能尤其方便,它可以自动检测并安装当前工作流中所需的自定义节点。

Install Custom Nodes(安装自定义节点) 菜单则允许您管理已安装的自定义节点,您可以卸载、禁用已安装的节点,或者安装新的节点。

ComfyUI 新手入门指南

ComfyUI 管理器

如何安装缺失的自定义节点

当您加载一个工作流文件后,可能会遇到缺少某些自定义节点的情况。按照以下步骤安装缺失的节点:

  1. 点击菜单栏的 Manager(管理器) 按钮。
  2. 点击 Install Missing custom Nodes(安装缺失的自定义节点)
  3. 完全重启 ComfyUI。

ComfyUI 一键更新

更新 ComfyUI 最简单的方法是使用 ComfyUI 管理器,点击 Update All(全部更新) 按钮即可。它会自动更新 ComfyUI 自身以及所有已安装的自定义节点。更新完成后,重启 ComfyUI 生效。

如果您希望单独更新 ComfyUI 或自定义节点,请参考以下步骤。

如何更新 ComfyUI

更新 ComfyUI 步骤:

  1. 点击菜单栏的 Manager(管理器) 按钮。
  2. 点击 Update ComfyUI(更新 ComfyUI)
  3. 完全重启 ComfyUI。

如何更新自定义节点

您可以使用 ComfyUI 管理器来更新自定义节点。

  1. 点击菜单栏的 Manager(管理器) 按钮。
  2. 点击 Fetch Updates(获取更新)。这个过程可能需要一些时间。
  3. 点击 Install Custom nodes(安装自定义节点)
  4. 如果某个已安装的自定义节点有可用更新,其旁边会出现 Update(更新) 按钮。
  5. 点击 Update(更新) 按钮更新节点。

ComfyUI 新手入门指南

  1. 重启 ComfyUI。

如果上述更新方法不起作用,您可能需要使用终端 (例如 Windows 的 PowerShell 应用或 Mac 的 Terminal 应用) 执行 git pull 命令进行手动更新。

  1. 打开终端。
  2. 使用 cd 命令进入自定义节点的目录。以下示例展示如何进入 controlnet aux 目录:
cd ComfyUI/custom_nodes/comfyui_controlnet_aux/
  1. 执行 git pull 命令:
git pull
  1. 重启 ComfyUI。

自定义节点搜索

Add Node(添加节点) 菜单可能不是查找自定义节点的最佳方式,特别是当您安装了大量自定义节点后,查找会变得更加困难。

您可以双击工作区中的任意空白区域,快速打开节点搜索菜单。

ComfyUI 新手入门指南

图像放大 (Upscaling)

Stable Diffusion 提供了多种图像放大的方法。为了教学目的,我们重点介绍以下几种:

  1. AI 放大模型 (AI Upscaler): AI 放大模型详解
  2. Hi-res fix: Hi-res fix 详解
  3. Ultimate Upscale: Ultimate Upscale 详解

AI 放大

AI 放大模型 (AI Upscaler) 是一种专门用于放大图像的 AI 模型,它可以在放大图像的同时,智能地填充图像细节。它们与 Stable Diffusion 模型不同,是专门为图像放大任务训练的神经网络。

下载 AI 放大工作流 页面上的第一张图片,然后拖拽到 ComfyUI 中加载。

小技巧: 拖拽 ComfyUI 生成的图片可以直接加载生成该图片的工作流。

ComfyUI 新手入门指南

ComfyUI 放大工作流中的 AI 放大器

在这个基础的放大示例中,您会发现它在“文生图”工作流的基础上,额外添加了以下节点:

  • Load Upscale Model(加载放大模型):用于加载 AI 放大模型。(该节点位于 Add node(添加节点) > loaders(加载器) 菜单下)
  • Upscale image(using Model)(放大图像(使用模型)):这个节点被放置在 VAE Decoder(VAE 解码器)和 Save image(保存图像)节点之间。它接收原始图像和放大模型作为输入,输出放大后的图像。(该节点位于 Add node(添加节点) > Image(图像) > upscaling(放大) 菜单下)

要使用 AI 放大工作流,您需要从 Upscaler Wiki 下载 AI 放大模型,并将其放入 ComfyUI 根目录下的 models > upscale_models 文件夹中。

或者,您可以配置 ComfyUI 使用 AUTOMATIC1111 的模型文件。

选择一个 AI 放大模型,然后点击 Queue Prompt(队列提示词) 生成放大后的图像。生成的图像应该已经被 AI 放大模型放大了 4 倍。

练习:从零开始构建 AI 放大工作流

这是一个很好的练习,可以协助您熟悉自定义工作流的创建。尝试在默认的“文生图”工作流基础上,添加 AI 放大功能。

  1. 点击 Load Default(加载默认) 按钮,恢复到基本的“文生图”工作流。
  2. 在 Save Image(保存图像)节点附近的空白区域,右键单击并选择 Add Node(添加节点) > loaders(加载器) > Load Upscale Model(加载放大模型)。

ComfyUI 新手入门指南

  1. 点击 VAE Decode(VAE 解码)Save Image(保存图像) 节点之间连线上的小圆点,选中连线后按 Delete 键删除连线。

ComfyUI 新手入门指南

  1. 在空白区域右键单击,选择 Add Node(添加节点) > image(图像) > upscaling(放大) > Upscale Image (using Model)(放大图像(使用模型)),添加新的放大节点。

ComfyUI 新手入门指南

  1. 拖拽 Load Upscale Model(加载放大模型) 节点的 UPSCALE_MODEL(放大模型) 输出端口,连接到 Upscale Image (using Model)(放大图像(使用模型)) 节点的 upscale_model(放大模型) 输入端口。
  2. 拖拽 VAE Decode(VAE 解码) 节点的 IMAGE(图像) 输出端口,连接到 Upscale Image (using Model)(放大图像(使用模型)) 节点的 image(图像) 输入端口。

ComfyUI 新手入门指南

  1. 拖拽 Upscale Image (uisng Model)(放大图像(使用模型)) 节点的 IMAGE(图像) 输出端口,连接到 Save Image(保存图像) 节点的 images(图像) 输入端口。
  2. 点击 Queue Prompt(队列提示词) 按钮,测试新的工作流。

目前您已经掌握了创建新工作流的方法。这项技能在您构建更复杂的个性化工作流时会超级有用。

Hi-res fix

这是一个更复杂的示例,但它展示了 ComfyUI 的强劲之处。通过分析工作流中的节点和连线,您将准确理解 Hi-Res Fix 的工作原理。

工作流的第一部分与标准的“文生图”流程完全一致:使用采样器对潜在图像进行去噪,并以正面和负面提示词作为条件。

ComfyUI 新手入门指南

接下来,工作流会在潜在空间中对图像进行放大,并进行额外的采样步骤。它会向图像添加一些初始噪声,然后以必定的去噪强度进行再次去噪。

ComfyUI 新手入门指南

最后,VAE 解码器将放大后的潜在图像解码为最终的高分辨率图像。

SD Ultimate upscale – ComfyUI 版本

SD Ultimate upscale 是 AUTOMATIC1111 WebUI 中超级流行的图像放大扩展。您也可以在 ComfyUI 中使用它!

SD Ultimate upscale for ComfyUI 的 Github 页面

这也是一个安装自定义节点的好例子。

安装 SD Ultimate upscale 节点

要安装 SD Ultimate upscale 自定义节点,请打开 PowerShell (Windows) 或 Terminal (Mac) 终端应用,并进入 ComfyUI 的 custom_nodes 文件夹:

cd ComfyUI/custom_nodes

然后将节点克隆到本地存储:

git clone https://github.com/ssitu/ComfyUI_UltimateSDUpscale --recursive

完全重启 ComfyUI。

使用 SD Ultimate upscale

一个不错的练习是从 AI 放大工作流 开始。添加 SD Ultimate Upscale 节点,并对比放大效果。

通过拖拽图像到 ComfyUI 或使用 Load(加载)按钮加载 AI 放大工作流。

在空白区域右键单击,选择 Add Node(添加节点) > image(图像) > upscaling(放大) > Ultimate SD Upscale

ComfyUI 新手入门指南

您应该能看到新添加的 Ultimate SD Upscale 节点。按照以下方式连接其输入端口:

  • image(图像) 连接到 VAE Decode(VAE 解码)节点的 IMAGE(图像)输出端口。
  • model(模型) 连接到 Load Checkpoint(加载模型)节点的 MODEL(模型)输出端口。
  • positive(正面) 连接到正面提示词节点的 CONDITIONING(条件)输出端口。
  • negative(负面) 连接到负面提示词节点的 CONDITIONING(条件)输出端口。
  • vae 连接到 Load Checkpoint(加载模型)节点的 VAE 输出端口。
  • upscale_model(放大模型) 连接到 Load Upscale Model(加载放大模型)节点的 UPSCALE_MODEL(放大模型)输出端口。

对于输出端口:

  • IMAGE(图像) 连接到 Save Image(保存图像)节点的 images(图像)输入端口。

ComfyUI 新手入门指南

如果连接正确,点击 Queue Prompt(队列提示词) 按钮应该会生成两张放大后的图像,一张使用 AI 放大模型,另一张使用 Ultimate Upscale。

您可以下载以下工作流示例,将图片拖拽到 ComfyUI 即可加载。

ComfyUI 图像局部重绘 (Inpainting)

ComfyUI 也支持 图像局部重绘 (inpainting) 功能。图像局部重绘是一种基本技术,用于重新生成图像的特定区域。

我必须承认,在 ComfyUI 中进行图像局部重绘操作相对复杂。但下面是操作步骤:

步骤 1:打开图像局部重绘工作流

下载以下图像局部重绘工作流,将 JSON 文件拖拽到 ComfyUI 中加载。

步骤 2:上传待重绘图像

选择一张您想要进行局部重绘的图像。

ComfyUI 新手入门指南

这里我们选用刘德华的照片进行局部重绘演示。

您可以点击这里下载 PNG 格式的图像。

将图像上传到工作流中。

步骤 3:创建重绘蒙版

右键单击图像节点,在弹出的菜单中选择 Open in MaskEditor(在蒙版编辑器中打开)

ComfyUI 新手入门指南

在蒙版编辑器中,涂抹您想要重新生成的区域。

ComfyUI 新手入门指南

绘制完成后,点击 Save to node(保存到节点) 按钮。

步骤 4:调整参数

选择一个 Checkpoint 模型。请注意,图像局部重绘模型 (inpainting model) 在此工作流中可能无法正常工作

修改 prompt(提示词)

a man wearing sunglasses, epic style, super hero, highly detailed

一个戴着墨镜的男人,史诗风格,超级英雄,高度细致

原始工作流中设置的去噪强度 (denoise) 可能偏高,提议调整为 0.6。

步骤 5:生成局部重绘图像

最后,点击 Queue Prompt(队列提示词) 按钮,执行图像局部重绘。

ComfyUI 新手入门指南

您可以在 ComfyUI 图像局部重绘 (impainting) 文章中找到更多图像局部重绘的工作流示例。

SDXL 工作流

ComfyUI 新手入门指南

ComfyUI Stable Diffusion XL 工作流

简单的 SDXL 工作流示例。

ComfyUI 以其高度的可配置性,成为了首批能够有效支持 Stable Diffusion XL 模型 的图形界面之一。

下载 ComfyUI 的 SDXL 工作流,将图像拖拽到 ComfyUI 中加载。

您只需要修改以下参数:

  • Positive Prompt(正面提示词)
  • Negative Prompt(负面提示词)

就这么简单!

此页面 还提供了更多更复杂的 SDXL 工作流示例。

ComfyUI Impact Pack

ComfyUI Impact pack(ComfyUI Impact 节点包) 是一组免费的自定义节点集合,可以极大地扩展 ComfyUI 的功能。

Impact Pack 中包含的自定义节点数量超级庞大,本文无法逐一介绍。提议参考 官方教程 逐步学习。如果您希望高效地利用 Impact Pack 节点,提议通读官方提供的初学者教程。

安装

要安装 ComfyUI Impact Pack,第一打开 PowerShell 应用 (Windows) 或 Terminal 应用 (Mac 或 Linux)。

cd custom_nodes

将 Impact Pack 克隆到本地存储:

git clone https://github.com/ltdrdata/ComfyUI-Impact-Pack.git

克隆 Impact Pack 所需的 Workflow Component(工作流组件):

git clone https://github.com/ltdrdata/ComfyUI-Workflow-Component

完全重启 ComfyUI。

使用 Face Detailer (SDXL) 修复面部细节

ADetailer 是 AUTOMATIC1111 的一个扩展插件,它使用图像局部重绘技术自动修复图像中的面部细节。ComfyUI 中对应的功能是 Face Detailer(面部细节修复器) (也称为 DDetailer),它包含在 Impact Pack 节点包中。

您可以使用 Impact Pack 中提供的 工作流,通过 Face Detailer(面部细节修复器) 自定义节点以及 SDXL 基础模型和精细模型,来重新生成图像中的面部区域,提升面部细节。下载 JSON 文件并将其拖拽到 ComfyUI 中加载。

要使用此工作流,您需要设置以下内容:

  • Load Image(加载图像) 节点中的初始图像。
  • 上方 Load Checkpoint(加载模型) 节点中的 SDXL 基础模型。
  • 下方 Load Checkpoint(加载模型) 节点中的 SDXL 精细模型。
  • 新生成图像的 prompt(提示词)negative(负面)prompt(提示词)

点击 Queue Prompt(队列提示词) 按钮启动工作流。

刘德华的照片本身面部细节已经很好了(真的吗?),所以这里我使用了提示词将他变成了一位 K-pop 明星。

a closeup photograph of a korean k-pop star man

一张韩国 K-pop 男明星的特写照片

ComfyUI 新手入门指南

可以看到,只有面部区域发生了变化,背景和其他部分都保持不变。

使用 Face Detailer (SD v1.5) 修复面部细节

以下是一个使用 Face Detailer 自动修复面部细节的“文生图”工作流示例,它基于 SD v1.5 模型。

结合 ControlNet 进行 图像局部重绘 (Inpainting) 可以提供更好的图像内容一致性。这是一个使用 Face Detailer 和 ControlNet Tile 的“文生图”工作流示例。

Embeddings (嵌入向量)

要在 ComfyUI 中使用 embeddings (嵌入向量) (也称为 textual inversion(文本反转)),在正面或负面提示词输入框中输入 embedding: 前缀,例如:

embedding: BadDream

ComfyUI 会在 ComfyUI > models > embeddings 文件夹下,查找与 BadDream 文件名一样的 embedding 文件。

嵌入向量自动补全

手动查找 embedding 文件名效率较低。您可以安装 ComfyUI-Custom-Scripts 自定义节点,启用 embedding 名称自动补全功能。

您可以使用 ComfyUI 管理器安装该自定义节点。点击 Manager(管理器) > Install Custom nodes(安装自定义节点),搜索 “ComfyUI-Custom-Scripts” 并安装。安装完成后,重启 ComfyUI。

在提示词输入框中输入 embedding: 后,就会出现可用的 embedding 列表,选择您想要使用的 embedding 即可。

ComfyUI 新手入门指南

嵌入向量权重

由于 embeddings 本质上也是关键词,因此您可以像调整关键词权重一样,调整 embedding 的权重。

(embedding: BadDream:1.2)

例如,上述语法将 BadDream embedding 的权重增加 20%。

LoRA 模型

LoRA 模型 是一种轻量级的模型文件,用于对 checkpoint 模型 进行微调。LoRA 模型常用于调整图像风格,或者将特定人物或物体融入到生成图像中。

实际上,LoRA 模型在 ComfyUI 中的作用机制超级清晰:

ComfyUI 新手入门指南

LoRA 模型会修改 checkpoint 模型的 MODEL(模型)和 CLIP 部分,但 VAE 部分保持不变。

简单的 LoRA 工作流

这是一个最简化的 LoRA 工作流示例:在“文生图”工作流中加载 LoRA 模型和 checkpoint 模型。

下载简单 LoRA 工作流

ComfyUI 新手入门指南

使用该工作流的步骤:

  1. 选择一个 checkpoint 模型。
  2. 选择一个 LoRA 模型。
  3. 修改正面和负面提示词。
  4. 点击 Queue Prompt(队列提示词) 按钮。

加载多个 LoRA 模型

您可以在同一个“文生图”工作流中加载两个 LoRA 模型。

下载加载两个 LoRA 模型的工作流

使用方法与加载单个 LoRA 模型类似,只不过这次您需要选择两个 LoRA 模型。

多个 LoRA 模型会按顺序依次应用到工作流中。

字符串连接

要连接两个字符串,您需要使用来自 ComfyUI-Custom-Scripts 自定义节点的 String Function(字符串函数) 节点。

如果您尚未安装 ComfyUI-Custom-Scripts 节点以启用文本反转自动补全功能,请先安装它。

在空白区域双击,搜索并添加 StringFunction(字符串函数) 节点。

ComfyUI 新手入门指南

右键单击 StringFunction 节点,选择 Convert text_a to input(将 text_a 转换为输入),将第一个文本输入框 (text_a) 转换为输入端口。节点目前应该如下图所示:

ComfyUI 新手入门指南

添加一个 primitive node(原始节点),并将其连接到 text_a 输入端口。目前,您可以在两个不同的文本框中输入提示词,它们会被 String Function 节点连接在一起。

ComfyUI 新手入门指南

要使用字符串连接功能,您还需要将 CLIP Text Encode (Prompt)(CLIP 文本编码 (提示词)) 节点的文本输入框转换为输入端口。

ComfyUI 新手入门指南

最后,连接 String Function(字符串函数)节点和 CLIP Text Encode (Prompt)(CLIP 文本编码 (提示词))节点。

ComfyUI 新手入门指南

ComfyUI 快捷键和技巧

复制和粘贴

  • 复制节点: 选中节点后,按下 Ctrl+C 复制。
  • 粘贴节点: 按下 Ctrl+V 粘贴。
  • 粘贴并保留输入连接: 按下 Ctrl+Shift+V 粘贴,粘贴后的节点会自动连接到上游节点。

移动多个节点

  • 创建节点组: 将一组节点放入一个组中,可以方便地一起移动。
  • 框选多个节点: 按住 Ctrl 键并拖拽鼠标,可以框选多个节点。
  • 多选节点: 按住 Ctrl 键并点击节点,可以选中多个节点。
  • 移动选中的节点: 选中多个节点后,按住 Shift 键并拖拽鼠标,即可移动所有选中的节点。

静用节点

您可以临时禁用某个节点,使其不参与工作流的执行。选中节点后,按下 Ctrl+M 即可静用节点。

目前没有直接静音节点组的快捷键。您可以在节点组上右键单击,选择 Bypass Group Node(绕过组节点) 来禁用整个节点组。或者,您也可以静音节点组中的第一个节点来实现一样的效果。

最小化节点

点击节点左上角的小圆点,可以将节点最小化,只显示节点的标题和输入输出端口。

快速生成图像

按下 Ctrl+Enter 快捷键,即可将当前工作流加入队列并开始生成图像。

工作流嵌入图像

ComfyUI 会将整个工作流信息保存在生成的 PNG 图像文件的元数据中。要加载工作流,只需将 PNG 图像文件拖拽到 ComfyUI 界面即可。

固定种子,节省重复计算

ComfyUI 的一个重大特性是,只有当节点的输入发生变化时,才会重新执行该节点。如果您正在处理一个包含多个节点的复杂工作流,可以通过固定上游节点的种子值,来避免重复生成一样的中间结果,从而节省计算时间。

练习:制作一个对比 LoRA 模型效果的工作流

想要熟练掌握 ComfyUI,最好的方法是动手创建自己的工作流。

一个不错的练习是创建一个工作流,用于对比在其他参数完全一致的情况下,使用 LoRA 模型和不使用 LoRA 模型的生成结果差异。

要实现这个目标,您需要了解如何在两个节点之间共享参数。

在两个节点之间共享参数

例如,我们希望在两个 K-Sampler 节点中使用一样的种子值。

ComfyUI 新手入门指南

默认情况下,每个 K-Sampler 节点都有独立的种子值设置。要让两个 K-Sampler 节点使用一样的种子值,右键单击 K-Sampler 节点,选择 convert seed to input(将种子转换为输入)

这样,您会在节点上看到一个新的输入端口,标签为 seed(种子)

ComfyUI 新手入门指南

在空白区域右键单击,选择 Add node(添加节点) > utils(实用工具) > Primitive(原始),添加一个 Primitive 节点。然后将 Primitive 节点的输出端口连接到两个 K-Sampler 节点的 seed(种子) 输入端口。

ComfyUI 新手入门指南

目前,两个 K-Sampler 节点就共享了同一个种子值。

对比 LoRA 模型效果的工作流

利用上述共享参数的技巧,您可以修改 简单的 LoRA 工作流 示例,创建一个可以对比使用 LoRA 模型和不使用 LoRA 模型效果的工作流,同时保证其他所有参数都保持一致。

ComfyUI 新手入门指南

上图展示了一个对比 Epilson offset LoRA 模型效果的工作流。上方图像使用了 LoRA 模型,下方图像未使用 LoRA 模型。

您可以点击下方链接下载该工作流示例。

常见问题 (FAQ)

遇到 Out Of Memory (OOM) 错误怎么办?

您可以尝试在 ComfyUI 启动文件 run_nvidia_gpu.bat 中添加 –disable-smart-memory 参数。这个参数会强制 ComfyUI 尽可能多地从显存 (VRAM) 中卸载模型,以降低显存占用。

实用资源

  • Official ComfyUI tutorial (官方 ComfyUI 教程) – 图文教程,超级基础。
  • ComfyUI Examples (ComfyUI 示例工作流) – 大量示例工作流,可供下载学习。
  • ComfyUI Community Manual (ComfyUI 社区用户手册) – 详细的参考手册。
© 版权声明

相关文章

暂无评论

您必须登录才能参与评论!
立即登录
none
暂无评论...