ComfyUI  >  教程  >  解锁ComfyUI的力量: 带有实践操作的初学者指南

你好,AI艺术家朋友! 👋 欢迎来到我们面向初学者的ComfyUI教程,这是一个令人难以置信的强大和灵活的工具,用于创作令人惊叹的AI生成艺术。 🎨 在本指南中,我们将带你了解ComfyUI的基础知识,探索其功能,并帮助你释放其潜力,将你的AI艺术提升到一个新的水平。 🚀

我们将涵盖:

1. 什么是ComfyUI? 🤔#

ComfyUI是一个基于节点的生成式AI界面,用于构建和运行各种工作流。Stable Diffusion图像生成是它的重要用途之一,但ComfyUI也支持视频、音频、3D及其他媒体工作流。🌟 可视化节点图让创作者能够直接控制模型与处理步骤之间的协作方式。

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

想从头开始使用文本提示生成图像?这里有一个节点可以实现!需要应用特定的采样器或微调噪声级别?只需添加相应的节点,观察魔法的发生。 ✨

但这里是最精彩的部分:ComfyUI将工作流分解成可重组的元素,让你可以自由创建适合你艺术愿景的自定义工作流。 🖼️ 就像拥有一个适应你创作过程的个性化工具包。

1.1. ComfyUI vs. AUTOMATIC1111 🆚#

AUTOMATIC1111是另一个广受欢迎的Stable Diffusion网页界面。那么,你应该使用ComfyUI吗?让我们对比一下:

✅ 使用ComfyUI的好处:

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

❌ 使用ComfyUI的缺点:

  1. 界面不一致: 每个工作流可能有不同的节点布局。
  2. 细节太多: 普通用户可能不需要知道底层连接。

1.2. 从哪里开始使用ComfyUI? 🏁#

我们相信,学习ComfyUI的最佳方式是通过深入示例并亲身体验。 🙌 这就是为什么我们创建了这个独特的教程,使它与众不同。在本教程中,你将找到一个详细的、循序渐进的指南,你可以跟着一起学习。

但这里是最棒的部分: 🌟 我们已经将ComfyUI直接整合到这个网页中!当你浏览指南时,你可以实时与ComfyUI示例互动。 🌟 让我们开始吧!

2. ComfyUI工作流: 从文本到图像 🖼️#

让我们从最简单的案例开始:从文本生成图像。点击Run运行工作流。短暂等待后,你应该会看到第一张生成图像!要查看排队中和已完成的任务,请点击左侧栏的Queue,或按Q

这里有一个默认的从文本到图像工作流供你尝试:

基本构建块 🕹️#

ComfyUI工作流由两个基本构建块组成:节点连接

  • 节点是矩形块,例如Load CheckpointCLIP Text Encode (Prompt)。每个节点执行特定操作,并拥有自己的输入、输出和参数。
  • 连接是将一个节点的输出连接到另一个节点输入的线。

基本控件 🕹️#

  • 使用鼠标滚轮或双指捏合来放大和缩小。
  • 拖动并按住输入或输出点,在节点之间创建连接。
  • 按住Space并拖动即可平移画布,也可以把右下角的画布控制切换到Pan Mode

让我们深入探讨这个工作流的细节。#

ComfyUI工作流: 从文本到图像

2.1. 选择一个模型 🗃️#

首先,在Load Checkpoint节点中选择一个Stable Diffusion checkpoint。嵌入式演示只能选择预载模型。要使用自己的模型,请在RunComfy私有机器中打开该工作流并添加模型。

2.2. 输入正面提示词和负面提示词 📝#

你会看到两个标有CLIP Text Encode (Prompt)的节点。顶部的提示词连接到KSampler节点的positive输入,而底部的提示词连接到negative输入。所以在顶部输入你的正面提示词,在底部输入你的负面提示词。

CLIP Text Encode (Prompt)节点会将提示词转换为token,并使用文本编码器将其编码为embedding。

💡 小贴士:使用(keyword:weight)语法来控制关键词的权重,例如(keyword:1.2)来增加其效果,或(keyword:0.8)来减少它。

2.3. 生成图像 🎨#

点击Run运行工作流。短暂等待后,你的第一张图像将生成!

2.4. ComfyUI的技术解释 🤓#

ComfyUI的强大之处在于它的可配置性。了解每个节点的作用,可以让你根据需要对其进行定制。但在深入细节之前,让我们先看看Stable Diffusion的过程,以更好地理解ComfyUI是如何工作的。

Stable Diffusion的过程可以概括为三个主要步骤:

  1. 文本编码:用户输入的提示词由一个称为Text Encoder的组件编译成单个词特征向量。这一步将文本转换为模型可以理解和使用的格式。
  2. 潜在空间转换:来自Text Encoder的特征向量和一个随机噪声图像被转换到潜在空间。在这个空间中,随机图像根据特征向量进行去噪处理,生成一个中间产品。这一步是魔法发生的地方,因为模型学习将文本特征与视觉表示联系起来。
  3. 图像解码:最后,潜在空间中的中间产品由Image Decoder解码,将其转换为我们可以看到和欣赏的实际图像。

现在我们对Stable Diffusion过程有了高层次的理解,让我们深入研究ComfyUI中实现这一过程的关键组件和节点。

2.4.1 Load Checkpoint节点 🗃️#

ComfyUI中的Load Checkpoint节点对于选择Stable Diffusion模型至关重要。一个Stable Diffusion模型由三个主要组件组成:MODEL、CLIP和VAE。让我们探讨每个组件以及它们与ComfyUI中相应节点的关系。

  1. MODEL:MODEL组件是在潜在空间中运行的噪声预测模型。它负责从潜在表示生成图像的核心过程。在ComfyUI中,Load Checkpoint节点的MODEL输出连接到KSampler节点,在那里进行反向扩散过程。KSampler节点使用MODEL迭代地去噪潜在表示,逐步细化图像,直到它与所需的提示匹配。
  2. CLIP:CLIP(Contrastive Language-Image Pre-training)是一个语言模型,用于预处理用户提供的正面和负面提示词。它将文本提示词转换为MODEL可以理解和使用的格式,以指导图像生成过程。在ComfyUI中,Load Checkpoint节点的CLIP输出连接到CLIP Text Encode (Prompt)节点。该节点接受用户提供的提示词并将其转换为embedding,让MODEL能够生成与提示词语义一致的图像。
  3. VAE:VAE(Variational AutoEncoder)负责在像素空间和潜在空间之间转换图像。它由一个将图像压缩到低维潜在表示的编码器和一个从潜在表示重建图像的解码器组成。在从文本到图像的过程中,VAE仅用于最后一步,将生成的图像从潜在空间转换回像素空间。ComfyUI中的VAE Decode节点接受KSampler节点(在潜在空间中运行)的输出,并使用VAE的解码器部分将潜在表示转换为像素空间中的最终图像。

需要注意的是,VAE是一个独立于CLIP语言模型的组件。虽然CLIP专注于处理文本提示词,但VAE处理像素和潜在空间之间的转换。

2.4.2. CLIP Text Encode (Prompt) 📝#

ComfyUI中的CLIP Text Encode (Prompt)节点会接收用户输入的提示词并将其交给CLIP模型处理。CLIP能够理解文字语义并将提示词转换为高维embedding,帮助MODEL生成符合提示词含义和意图的图像。

2.4.3. Empty Latent Image 🌌#

在从文本到图像的过程中,生成从潜在空间中的一个随机图像开始。这个随机图像作为MODEL开始工作的初始状态。潜在图像的大小与像素空间中实际图像的大小成比例。在ComfyUI中,你可以调整潜在图像的高度和宽度来控制生成图像的大小。此外,你可以设置批量大小来确定每次运行生成的图像数量。

潜在图像的最佳尺寸取决于所使用的Stable Diffusion模型。SD v1.5常用512x512或768x768,SDXL常用1024x1024。请直接在Empty Latent Image节点中设置widthheight;1:1、3:2、2:3、4:3、3:4、16:9和9:16只是常用比例示例,并不是节点内置的比例选项。尺寸应与所选模型兼容。

2.4.4. VAE 🔍#

VAE(Variational AutoEncoder)是Stable Diffusion模型中的一个关键组件,负责处理像素空间和潜在空间之间的图像转换。它由两个主要部分组成:图像编码器和图像解码器。

图像编码器接受像素空间中的图像,并将其压缩到低维潜在表示。这个压缩过程大大减少了数据大小,允许更高效的处理和存储。例如,一个512x512像素的图像可以被压缩到64x64的潜在表示。

另一方面,图像解码器,也称为VAE解码器,负责将潜在表示重建为像素空间中的图像。它接受压缩后的潜在表示,并将其扩展以生成最终图像。

使用VAE有几个优点:

  1. 效率:通过将图像压缩到低维潜在空间,VAE实现了更快的生成和更短的训练时间。减少的数据大小允许更高效的处理和内存使用。
  2. 潜在空间操纵:潜在空间提供了一个更紧凑和有意义的图像表示。这允许更精确地控制和编辑图像的细节和风格。通过操纵潜在表示,可以修改生成图像的特定方面。

然而,也有一些缺点需要考虑:

  1. 数据丢失:在编码和解码过程中,原始图像的一些细节可能会丢失。压缩和重建步骤可能会在最终图像中引入伪影或与原始图像略有不同。
  2. 对原始数据捕捉有限:低维潜在空间可能无法完全捕捉原始图像的所有复杂特征和细节。在压缩过程中,一些信息可能会丢失,导致对原始数据的表示略有不准确。

尽管有这些限制,VAE在Stable Diffusion模型中发挥着至关重要的作用,通过在像素空间和潜在空间之间进行高效转换,促进更快的生成和对生成图像的更精确控制。

2.4.5. KSampler ⚙️#

ComfyUI中的KSampler节点是Stable Diffusion中图像生成过程的核心。它负责对潜在空间中的随机图像进行去噪,以匹配用户提供的提示。KSampler采用一种称为反向扩散的技术,通过删除噪声和根据CLIP嵌入的指导添加有意义的细节,迭代地细化潜在表示。

KSampler节点提供了几个参数,允许用户微调图像生成过程:

seed: 种子值控制最终图像的初始噪声和构图。设置特定种子可以获得可重复的结果,并在多次生成中保持一致性。

control after generate: 决定每次生成后seed如何变化,可设置为randomize、increment、decrement或fixed。

steps: 控制去噪迭代次数。增加steps可能在一定范围内改善细节,但也会延长生成时间。

cfg: 控制结果遵循提示词的强度。较高的值会加强提示词引导,但也可能让图像显得不够自然。

sampler_name: 选择KSampler使用的采样算法。不同算法可能产生不同结果,生成速度也有所差异。

scheduler: 控制去噪过程中噪声水平的变化方式。

denoise: 控制输入latent被改变的强度。值为1时会执行完整去噪;较低的值会保留更多输入内容。

通过调整这些参数,你可以微调图像生成过程,以达到预期的结果。

现在,你准备好开始ComfyUI之旅了吗?#

在RunComfy,我们专门为你创建了终极ComfyUI在线体验。告别复杂的安装! 🎉 现在试试ComfyUI在线版,释放你前所未有的艺术潜力! 🎉

3. ComfyUI工作流: 从图像到图像 🖼️#

从图像到图像工作流根据提示词和输入图像生成图像。自己试试吧!

使用从图像到图像工作流:

  1. 选择Checkpoint模型。
  2. 上传图像作为图像提示。
  3. 修改正面和负面提示词。
  4. 可选地在KSampler节点中调整denoise(去噪强度)。
  5. 点击Run开始生成。
ComfyUI工作流: 从图像到图像

更多高级ComfyUI工作流,请访问我们的🌟ComfyUI工作流列表🌟

4. ComfyUI SDXL 🚀#

ComfyUI支持灵活的Stable Diffusion XL工作流。试试下面的示例吧!

使用ComfyUI SDXL工作流:

  1. 修改正面和负面提示词。
  2. 点击Run开始生成。

5. ComfyUI Inpainting 🎨#

让我们深入一些更复杂的东西:inpainting!当你有一个很棒的图像,但想修改特定部分时,inpainting是最佳方法。在这里试试吧!

使用inpainting工作流:

  1. 上传你想要inpainting的图像。
  2. 右键单击Load Image节点,选择Open in MaskEditor | Image Canvas。在要重新生成的区域绘制遮罩,然后点击Save
ComfyUI inpainting
  1. 选择一个Checkpoint模型:
    • 这个工作流只适用于标准的Stable Diffusion模型,不适用于Inpainting模型。
    • 如果要使用inpainting模型,请将VAE EncodeSet Latent Noise Mask节点替换为专为inpainting模型设计的VAE Encode (for Inpainting)
  2. 自定义inpainting过程:
    • 在CLIP Text Encode (Prompt)节点中,你可以输入额外的信息来指导inpainting。例如,你可以指定你想在inpainting区域包含的风格、主题或元素。
  3. 设置原始去噪强度(denoise),例如0.6。
  4. 点击Run开始inpainting。
ComfyUI inpainting workflow

6. ComfyUI Outpainting 🖌️#

Outpainting是另一项令人兴奋的技术,让你可以将图像扩展到其原始边界之外。🌆 就像拥有一块无限的画布一样!

使用ComfyUI Outpainting工作流:

  1. 从你想要扩展的图像开始。
  2. 在工作流中添加Pad Image for Outpainting节点。
  3. 配置outpainting设置:
    • left, top, right, bottom: 指定每个方向上要扩展的像素数。
    • feathering: 调整原始图像和outpainting区域之间过渡的平滑度。较高的值会创建更渐进的混合,但可能会引入模糊效果。
  4. 自定义outpainting过程:
    • 在CLIP Text Encode (Prompt)节点中,你可以输入额外的信息来指导outpainting。例如,你可以指定你想在扩展区域包含的风格、主题或元素。
    • 尝试不同的提示词以获得理想的结果。
  5. 微调VAE Encode (for Inpainting)节点:
    • 调整grow_mask_by参数以控制outpainting遮罩的大小。建议使用大于10的值以获得最佳结果。
  6. 点击Run开始outpainting。
ComfyUI outpainting workflow

更多高级inpainting/outpainting工作流,请访问我们的🌟ComfyUI工作流列表🌟

7. ComfyUI Upscale ⬆️#

接下来,让我们探索ComfyUI放大。我们将介绍三个基本工作流,帮助你高效地放大。

有两种主要的放大方法:

  1. Upscale pixel: 直接放大可见图像。
    • 输入:图像,输出:放大后的图像
  2. Upscale latent: 放大不可见的潜在空间图像。
    • 输入:潜在空间,输出:放大后的潜在空间(需要解码成可见图像)

7.1. Upscale Pixel 🖼️#

两种实现方式:

  1. 使用算法:生成速度最快,但结果略逊于模型。
  2. 使用模型:结果更好,但生成时间更长。

7.1.1. 使用算法进行Upscale Pixel 🧮#

  • 添加Upscale Image By节点。
  • upscale_method设置为nearest-exactbilinearareabicubiclanczos
  • 使用scale_by设置放大倍率,例如2.0表示放大2倍。
ComfyUI Upscale Pixel by Algorithm

7.1.2. 使用模型进行Upscale Pixel 🤖#

  • 添加Upscale Image (using Model)节点。
  • 添加Load Upscale Model节点。
  • 选择适合你图像类型的模型(例如动漫或真实)。
  • 选择2倍或4倍的upscale model。放大倍率由模型本身决定;Upscale Image (using Model)没有单独的X2/X4控件。
ComfyUI Upscale Pixel by Model

7.2. Upscale Latent ⚙️#

另一种放大方法是Upscale Latent,也称为Hi-res Latent Fix Upscale,直接在潜在空间中放大。

ComfyUI Upscale Latent

7.3. Upscale Pixel vs. Upscale Latent 🆚#

  • Upscale Pixel: 只放大图像,不添加新信息。生成速度更快,但可能有模糊效果,缺乏细节。
  • Upscale Latent: 除了放大,还改变一些原始图像信息,丰富细节。可能偏离原始图像,生成速度更慢。

更多高级还原/放大工作流,请访问我们的🌟ComfyUI工作流列表🌟

8. ComfyUI ControlNet 🎮#

准备好用ControlNet将你的AI艺术提升到新的水平吧,这是一项革命性的技术,它彻底改变了图像生成方式!

ControlNet就像一根魔杖🪄,赋予你前所未有的控制力,可以指导AI生成的图像。它与Stable Diffusion等强大的模型携手合作,增强它们的能力,让你比以往任何时候都更能引导图像创作过程!

想象一下,你可以指定图像的边缘、人体姿势、深度,甚至是分割图。🌠 有了ControlNet,你就可以做到这一切!

如果你渴望更深入地探索ControlNet的世界,释放它的全部潜力,我们为你准备了全面的内容。查看我们详细的ComfyUI中掌握ControlNet的教程吧!📚 它包含分步指南和令人振奋的示例,帮助你成为ControlNet专家。🏆

9. ComfyUI管理器 🛠️#

ComfyUI Manager是用于安装和更新自定义节点包的管理扩展。本页面的嵌入式演示不提供Manager。以下步骤需要在已启用Manager的RunComfy私有机器中操作。

9.1. 如何安装缺失的自定义节点 📥#

如果工作流需要尚未安装的自定义节点,请按照以下步骤操作:

  1. 出现缺失节点提示时,点击Install All安装所有必需的节点包。
  2. 如果想先查看所需节点包,请点击Open Manager
  3. 如果界面提示重启ComfyUI,请重启后重新加载工作流。

9.2. 如何更新自定义节点 🔄#

  1. 打开Manager,选择Update available筛选项。
  2. 选择要更新的节点包。
  3. 选择版本,然后点击Update
  4. 如果界面提示重启ComfyUI,请按提示操作。
ComfyUI管理器

9.3. 如何在工作流中加载自定义节点 🔍#

双击任意空白区域,弹出菜单搜索节点。

ComfyUI管理器

10. ComfyUI Embeddings 📝#

Embeddings,也称为textual inversion,是ComfyUI中一项强大的功能,让你可以将自定义概念或风格注入到AI生成的图像中。💡 这就像教AI一个新词或短语,并将其与特定的视觉特征关联起来。

要在ComfyUI中使用embeddings,只需在正面或负面提示词框中输入"embedding:",后跟你的embedding名称。例如:

embedding:BadDream

ComfyUI Embeddings

当你使用这个提示词时,ComfyUI会在ComfyUI > models > embeddings文件夹中搜索名为"BadDream"的embedding文件。📂 如果找到匹配项,它将把相应的视觉特征应用到你生成的图像中。

Embeddings是个性化AI艺术和实现特定风格或美学的好方法。🎨 你可以通过在一组代表所需概念或风格的图像上训练embeddings来创建自己的embeddings。

10.1. 带自动补全的Embedding 🔠#

记住你的embeddings的确切名称可能很麻烦,尤其是当你有大量embeddings时。😅 这时ComfyUI-Custom-Scripts自定义节点就派上用场了!

要在已启用Manager的私有机器中启用embedding名称自动补全:

  1. 打开Manager,以Node Pack方式搜索ComfyUI-Custom-Scripts
  2. 打开它的详情卡片,点击Install
  3. 如果界面提示重启ComfyUI,请按提示操作。

安装ComfyUI-Custom-Scripts节点后,你将体验到更加用户友好的embeddings使用方式。😊 只需在提示词框中开始输入"embedding:",就会出现可用embeddings的列表。然后,你可以从列表中选择所需的embedding,节省你的时间和精力!

10.2. Embedding权重 ⚖️#

你知道你可以控制embeddings的强度吗?💪 由于embeddings本质上是关键词,你可以像对提示词中的普通关键词一样对它们应用权重。

要调整embedding的权重,使用以下语法:

(embedding:BadDream:1.2)

在这个例子中,"BadDream" embedding的权重增加了20%。因此,较高的权重(例如1.2)会使embedding更突出,而较低的权重(例如0.8)会减少其影响。🎚️ 这让你对最终结果有更多的控制!

11. ComfyUI LoRA 🧩#

LoRA,即低秩适应(Low-rank Adaptation),是ComfyUI中另一个令人兴奋的功能,让你可以修改和微调checkpoint模型。🎨 它就像在基础模型之上添加一个小型专门模型,以实现特定的风格或融入自定义元素。

LoRA模型紧凑高效,易于使用和共享。它们通常用于修改图像的艺术风格或将特定人物或物体注入生成结果的任务。

当你将LoRA模型应用于checkpoint模型时,它会修改MODEL和CLIP组件,同时保持VAE(Variational Autoencoder)不变。这意味着LoRA专注于调整图像的内容和风格,而不改变其整体结构。

11.1. 如何使用LoRA 🔧#

在ComfyUI中使用LoRA很简单。让我们看看最简单的方法:

  1. 选择一个checkpoint模型作为图像生成的基础。
  2. 选择一个LoRA模型,用于修改风格或注入特定元素。
  3. 修改正面和负面提示词,指导图像生成过程。
  4. 点击Run,使用所选LoRA生成图像。▶

ComfyUI将结合checkpoint模型和LoRA模型,创建一个反映指定提示词并融入LoRA引入的修改的图像。

11.2. 多个LoRA 🧩🧩#

但如果你想在一个图像上应用多个LoRA呢?没问题!ComfyUI允许你在同一个从文本到图像的工作流中使用两个或多个LoRA。

ComfyUI LoRA

过程与使用单个LoRA类似,但你需要选择多个LoRA模型,而不是只选择一个。ComfyUI将按顺序应用LoRA,这意味着每个LoRA将在前一个的修改基础上进行修改。

这为在AI生成的图像中组合不同的风格、元素和修改打开了一个充满可能性的世界。🌍💡 尝试不同的LoRA组合,以实现独特和创造性的结果!

12. ComfyUI的快捷方式和技巧 ⌨️🖱️#

12.1. 复制和粘贴 📋#

  • 选择节点,按Ctrl+C(macOS上为Cmd+C)复制。
  • Ctrl+V(macOS上为Cmd+V)粘贴。
  • Ctrl+Shift+V(macOS上为Cmd+Shift+V)粘贴并保留输入连接。

12.2. 移动多个节点 🖱️#

  • 使用Ctrl+ClickShift+Click将节点加入选择;macOS上使用Cmd+ClickShift+Click
  • 按住Shift并拖动,即可一起移动选中的节点。

12.3. 绕过一个节点 🔇#

  • 选择一个或多个节点,按Ctrl+B(macOS上为Cmd+B)进行bypass或取消bypass。
  • Ctrl+M(macOS上为Cmd+M)则会将所选节点mute或unmute。

12.4. 折叠或展开节点 🔍#

  • 选择一个或多个节点,按Alt+C(macOS上为Option+C)折叠或展开。也可以使用节点左上角的折叠控件。

12.5. 生成图像 ▶️#

  • Ctrl+Enter(macOS上为Cmd+Enter)运行工作流。本次运行会添加到Queue

12.6. 嵌入式工作流 🖼️#

  • ComfyUI将整个工作流保存在它生成的PNG文件的元数据中。要加载工作流,将图像拖放到ComfyUI中。

12.7. 固定种子以节省时间 ⏰#

  • ComfyUI只在输入改变时重新运行节点。处理一长串节点时,通过固定种子来避免重新生成上游结果,从而节省时间。

13. 在线使用ComfyUI 🚀#

恭喜你完成了这份ComfyUI初学者指南!🙌 你现在已经准备好潜入令人兴奋的AI艺术创作世界了。但当你可以立即开始创作时,为什么还要费心安装呢?🤔

在RunComfy,你无需任何设置即可在线使用ComfyUI。预配置环境包含常用节点和模型,以及可直接运行的工作流,帮助你快速开始创作。🌟

🌟 无论你是初学者还是有经验的AI艺术家,RunComfy都提供了你将艺术愿景变为现实所需的一切。💡 不要再等了–立即尝试ComfyUI在线版,感受指尖上AI艺术创作的力量!🚀

RunComfy
版权 2026 RunComfy. 保留所有权利。

RunComfy 是首选的 ComfyUI 平台,提供 ComfyUI 在线 环境和服务,以及 ComfyUI 工作流 具有惊艳的视觉效果。 RunComfy还提供 AI Models, 帮助艺术家利用最新的AI工具创作出令人惊叹的艺术作品。