C03:ComfyUI 界面导航:初学者指南

ComfyUI 是一个功能强大的基于节点的界面,专为构建 AI 工作流而设计。无论你是初学者还是经验丰富的用户,了解其布局和功能对于高效创建工作流都至关重要。本指南将帮助你熟悉界面、掌握基本操作,并自信地开始构建工作流。



ComfyUI 界面概述

启动 ComfyUI 后,你会看到一个干净直观的界面,分为几个部分。让我们来分解关键组件:

comfyui 界面

界面的主要部分

节点编辑器(画布)

  • 中央工作区,你可以在其中通过连接节点来构建工作流。
  • 节点代表单个操作或过程,节点之间的连接定义了数据流。

工具栏(顶部菜单)

  • 提供保存、加载和导出工作流的选项。
  • 包括撤销/重做、缩放等基本控件,以及访问 ComfyUI Manager的入口。

预览窗口(右侧面板)

  • 显示工作流输出的实时预览,例如图像或处理结果。
  • 可用于查看中间结果或最终结果。

设置面板(左侧面板)

  • 包含所选节点的配置选项。
  • 允许微调工作流的参数和设置。

状态栏(底部)

  • 显示 GPU 使用率、显存和处理状态等系统信息。
  • 包括缩放、平移和切换连线可见性的快捷按钮。

基本鼠标和键盘操作

在 ComfyUI 中提高效率的关键在于掌握核心鼠标和键盘操作。以下是快速介绍:

鼠标操作

  • 左键单击: 选择画布上的节点或区域。
  • 右键单击: 打开节点菜单以添加新节点或访问节点特定选项。
  • 中键单击(或鼠标滚轮): 拖动以平移画布;滚动以放大/缩小。
  • 拖放: 在画布上移动节点,或通过从输出端口拖到输入端口来连接节点。

键盘快捷键

  • Ctrl + Z / Ctrl + Y: 撤销/重做操作。
  • Ctrl + S: 保存当前工作流。
  • Ctrl + O: 打开已保存的工作流。
  • Ctrl + Shift + S: 将工作流另存为新文件。
  • Delete / Backspace: 删除选定的节点。
  • Ctrl + 鼠标滚轮: 在画布上放大/缩小。
  • 空格键: 将画布居中于你的工作流。

添加和管理节点

节点是 ComfyUI 中工作流的构建块。以下是有效添加、连接和管理节点的方法:

添加节点

  • 在画布上右键单击:
    打开节点菜单以浏览类别(例如 Input、Processing、Output)并选择一个节点。
    使用菜单顶部的搜索栏快速访问。

连接节点

  • 从输出拖到输入:
    单击并从一个节点的输出端口拖到另一个节点的输入端口。确保数据类型匹配(例如图像到图像、文本到文本)。

断开节点连接

  • 在连接线上右键单击:
    删除两个节点之间的连接。

重新放置节点

  • 单击并拖动:
    在画布上移动节点以整理你的工作流。

使用预览窗口

查看工作流输出的地方就是 预览窗口 。以下是充分利用它的方法:

  • 预览输出:
    单击输出节点(例如 Preview Image),在预览窗口中查看其结果。
  • 缩放:
    使用鼠标滚轮放大/缩小预览的图像。
  • 保存输出:
    右键单击预览的图像,将其保存到你的电脑。

自定义界面

ComfyUI 提供了自定义选项,以提升你的工作流体验:

调整画布视图

  • 放大/缩小: 使用鼠标滚轮或 Ctrl + 鼠标滚轮。
  • 平移画布: 按住鼠标中键(或空格键)并拖动以移动画布。

整理节点

  • 对齐节点: 手动将节点拖成整齐的行或列,以便更好地整理。
  • 分组节点: 使用彩色背景或标签(如果支持)在视觉上对相关节点进行分组。

高效导航提示

  • 使用快捷键: 记住 Ctrl + Z 和 Ctrl + S 等常用快捷键,以便更快地管理工作流。
  • 整理画布: 将输入、处理和输出节点放在不同的区域,以提高可读性。
  • 经常保存: 经常使用 Ctrl + S 保存进度,防止数据丢失。
  • 尝试不同的缩放级别: 放大以详细编辑节点,缩小以纵览整个工作流。

常见问题排查

节点无法连接

  • 确保一个节点的输出类型与下一个节点的输入类型匹配。例如,图像输出无法连接到文本输入。

画布感觉杂乱

  • 使用缩放和平移功能整理工作区。删除不必要的节点或连接。

预览未更新

  • 检查所有必要的节点是否已连接并正确配置。有些节点需要特定的输入才能工作。

练习:构建一个简单的工作流

按照以下步骤创建一个基本工作流:

清除默认节点 或 新建工作流。

你可以前往 Edit -> Clear Workflow 来清除默认工作流。

添加输入节点:

在画布上右键单击,转到 Input 类别,并添加 load checkpoint 节点。

添加 KSampler 节点:

你需要的第二个节点是 KSampler。右键单击并导航到:

Add Node > sampling > KSampler

KSampler 是生成过程的主力。

它接收随机的图像噪声,然后尝试在噪声中找到一幅连贯的图像。这被称为“采样”。它根据自己认为看到的内容,让图像的噪声略微减少,然后再看一遍。如此反复,直到达到你指定的次数。

这就像你试图在一块随意切割的黏土块中想象一个形状。然后你把这块黏土稍微塑造成你看到的形状。你一点一点地继续雕塑,直到你能说服朋友也看到同样的东西。

节点连接:

每个节点的右侧是该节点的输出,左侧是输入。让我们通过一个简单的鼠标拖动操作,将 Load Checkpoint 节点右侧的 MODEL 输出点连接到 KSampler 节点上的 model 输入点,帮助 KSampler 发挥想象力。

CLIP Text Encode (Positive Prompt)

在 KSampler 现在知道如何想象的所有事物中,你如何告诉它你想让它想象什么?这就是文本提示词的工作。右键单击任意空白处并导航到: Add Node > Conditioning > CLIP Text Encode (Prompt)

CLIP 是另一种词典,它嵌入在我们的 SDXL 文件中,就像英语与 AI 理解的语言之间的翻译词典一样工作。AI 不说单词,它说的是“token”,即词语和数字的有意义组合,映射到模型文件所拥有的巨大词典中的概念。

将 Load Checkpoint 节点的 CLIP 输出点连接到 clip 输入点。然后将 CLIP Text Encode (Prompt) 节点输出的 conditioning 点连接到 KSampler 节点的 positive 输入点。

这会将 CLIP 发送到你的提示词框中,吃掉这些词语,将它们转换为 token,然后为 KSampler 输出一个“conditioning”。Conditioning 是指你哄骗 KSampler 在它开始时的随机噪声中寻找特定事物的术语。它正在使用你从英语翻译成 token 的提示词来引导它的想象力。

CLIP Text Encode (Negative Prompt)

Conditioning 是双向的。你可以告诉 KSampler 去寻找某个特定的东西,同时告诉它 避免 某个特定的东西。这就是正面提示词和负面提示词之间的区别。

负面提示词需要第二个 CLIP Text Encode (Prompt) 节点,因此右键单击空白处并再次导航到:

Add Node > Conditioning > CLIP Text Encode (Prompt)

再次连接 Load Checkpoint 的 CLIP 输出点。将 CONDITIONING 输出点连接到 KSampler 上的 negative 输入点。

Empty Latent Image

现在我们必须通过给 KSampler 一个“空潜空间图像”,明确地给它一个起点。空潜空间图像就像一张空白的画纸。我们给 KSampler 一张空白的纸,这样它就有一个地方来画我们告诉它要画的东西。

右键单击任意空白处并选择:

Add Node > latent > Empty Latent Image.

将 LATENT 点连接到 KSampler 上的 latent_image 输入。

Vae Decode

空潜空间图像包含如此多的数学层和维度,以至于我们人类无法像看一张普通的纸或数字图像那样看到它。多面的潜空间图像必须被压缩成更简单的东西。我们必须将其“解码”成一个方形像素网格,以便在我们简陋的二维屏幕上显示。这是由“VAE”(Variational Auto Encoder)完成的,它也方便地嵌入在 SDXL 模型中。

通过右键单击并导航到以下位置来添加 VAE Decode 节点:

Add Node > latent > VAE Decode.

为了让 VAE Decode 节点完成将 KSampler 的图像压缩成人类可见的 PNG 的工作,它需要两样东西:KSampler 在空潜空间图像上绘制的图画,以及一个 VAE,以便准确地知道如何将该图画翻译回像素。

将 KSampler 的 LATENT 输出连接到 VAE Decode 节点上的 samples 输入。然后一直回头查看 Load Checkpoint 节点,将 VAE 输出连接到 vae 输入。

保存图像

我们只需要再添加一个非常简单的节点就完成了。我们需要一个节点来将图像保存到电脑上!右键单击空白处并选择:

Add Node > image > Save Image.

然后将 VAE Decode 节点的输出连接到 Save Image 节点的输入。

工作流

工作区上的每个节点的输入和输出都已连接。我们的工作流完成了!剩下的就是试一试。在连接到 KSampler 上“positive”输入的 CLIP Text Encode 文本框中输入一些内容。

现在点击右侧的 Queue Prompt。

就是这样……这就是全部内容!每一个文生图工作流都只是这七个节点的扩展或变体!


结论

到目前为止,你应该已经对 ComfyUI 界面、基本快捷键和基本操作有了扎实的了解。有了这些技能,你可以自信地开始构建工作流。在下一篇文章中,我们将更深入地探讨如何使用节点,并探索如何创建更复杂的工作流。

发表评论