ComfyUI 是 Stable Diffusion 的一个基于节点的用户界面,相比 AUTOMATIC1111 更加强大和高效。本文将全面介绍 ComofoUI 的安装、使用和工作流程,帮你快速上手玩转ComfyUI。
ComfyUI 由 Comfyanonymous 开发,目的是学习 Stable Diffusion 的工作原理。Stability AI 已聘请 Comfyanonymous 帮助开发内部工具。
其他工具,如Auto111非常简单易用,我也依然会使用。但是随着我逐渐使用ComfyUI,我发现除了某些特定场景,其他大部分情况已经不再需要Auto111了。这主要是因为ComfyUI的功能太强大了。
ComfyUI vs AUTOMATIC1111
许多新用户从 AUTOMATIC1111 等简单界面转到 ComfyUI,可能会觉得它比较复杂。但 ComfyUI 更加可配置和优化,可以做到:
- 在图像生成的任意阶段输出预览图片
- 同时运行两个生成过程以比较取样方法
- 将文本转图像、图像转图像、补全图像等任务组合到一个流程中,一键完成
- 由于高度优化,生成速度可达 AUTOMATIC1111 的 3-5 倍
- 通过学习 ComfyUI,你可以深入理解 Stable Diffusion 的工作原理
ComfyUI 安装
快速安装(Windows, NVIDIA)
- 点击此链接下载压缩包
- 解压到任意目录,得到 ComfyUI_windows_portable 文件夹
- 双击 run_nvidia_gpu.bat 运行(若无 NVIDIA 显卡,运行 run_cpu.bat)
从 Github 克隆安装(Windows、Linux)
- Windows 打开命令行提示符,Linux 打开终端
- 运行以下命令克隆 ComfyUICopy code
git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI # NVIDIA GPU pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu118 xformers -r requirements.txt # AMD GPU python -m pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/rocm5.4.2 -r requirements.txt
- 运行
python main.py
启动 ComfyUI
从 Github 克隆安装(Mac)
- 按照本指南安装 PyTorch
- 终端运行以下命令克隆 ComfyUICopy code
git clone https://github.com/comfyanonymous/ComfyUI cd ComfyUI pip install -r requirements.txt python main.py --force-fp16
ComfyUI的基本控制
使用鼠标滚轮或触控板上的两个手指捏合来放大和缩小。
拖动并按住输入或输出的点以形成连接。您只能在相同类型的输入和输出之间连接。
按住左键并拖动可在工作区中移动。
右键空白处选择 Add Node 添加节点。双击空白处可以搜索节点。
CTRL + 拖动可多选节点,SHIFT + 拖动可移动节点。
右键节点 > Color 可更改节点颜色。
按Ctrl-0(Windows)或Cmd-0(Mac)显示队列面板。
点击 Queue Prompt 后,流程从左到右执行节点,最终输出结果。
ComfyUI 节点解析
了解节点的作用,可以更好地使用 ComfyUI。
Load Checkpoint
使用Load Checkpoint节点选择一个模型。一个Stable Diffusion模型有三个主要部分:
- MODEL:潜在空间中的噪声预测模型。
- CLIP:语言模型预处理正向和反向提示。
- VAE:变分自动编码器在像素空间和潜在空间之间转换图像。
CLIP Text Encode
使用 CLIP 对提示词编码为模型可理解的格式。CLIP文本编码节点获取提示并将其馈送到CLIP语言模型。CLIP是OpenAI的语言模型,将提示中的每个单词转换为嵌入。
KSampler
KSampler是Stable Diffusion中图像生成的核心。采样器将随机图像降噪为与您的提示匹配的图像。
以下是KSampler节点中的参数。
- Seed:随机种子值控制潜在图像的初始噪声,从而控制最终图像的构成。
- Control_after_generation:每次生成后种子应如何更改。它可以是获取随机值(randomize)、增加1(increment)、减少1(decrement),或保持不变(fixed)。
- Step:采样步骤数。数字越高,数值过程中的伪影越少。
- Sampler_name:设置采样算法。
- Scheduler:控制每个步骤中的噪声水平应如何变化。
- Denoise:初噪声应被去噪过程擦除的量。1表示全部。
VAEDecode
使用 VAE 将潜在空间图像解码为像素空间,以便显示和保存。
下载模型
模型放入对应文件夹:
- checkpoints:ComfyUI/models/checkpoints
- VAE:ComfyUI/models/vae
- LoRAs:ComfyUI/models/loras
- upscalers:ComfyUI/models/upscaler
在ComfyUI上生成第一张图像 | 文字转图像
下面是使用ComfyUI的最简单的方式。在默认工作流程中:
- 选择模型
首先,在Load Checkpoint节点中选择一个Stable Diffusion检查点模型。点击模型名称显示可用模型列表。
如果节点太小,可以使用鼠标滚轮或触控板上的两个手指捏合来放大缩小。
如果点击模型名称无效,可能是未安装模型或未在A1111中配置使用现有模型。
- 输入提示和消极提示
找到两个标记为CLIP文本编码(提示)的节点。可以在这里输入提示和负面提示词。
可以使用语法(关键字:权重)来控制关键字的权重。例如,(关键字:1.2)以增加其效果。 (关键字:0.8)以降低其效果。
- 单击Queue Prompt运行工作流程。稍等片刻,就会看到生成的第一张图像。
图像转图像工作流程
Img2img工作流程是Stable Diffusion中的另一个主流工作流程。它根据提示和输入图像生成图像。
如何更新ComfyUI
要更新ComfyUI:
- 点击菜单中的Manager。
- 点击Update ComfyUI。
- 完全重启ComfyUI。
如何安装缺失的自定义节点
你可能没有安装工作流程所需的所有自定义节点。加载工作流文件后,请执行以下步骤安装缺失的自定义节点。
- 点击菜单中的Manager。
- 点击 Install Missing custom Nodes。
- 完全重启ComfyUI。
如何更新自定义节点
您可以使用ComfyUI管理器更新自定义节点。
- 点击菜单中的Manager。
- 点击Fetch Updates。这可能需要一段时间才能完成。
- 点击Install Custom nodes。
- 如果某个已安装的自定义节点有可用的更新,则会在该节点旁边出现一个新的Update按钮。
- 点击Update以更新该节点。
- 重启ComfyUI。
简单的LoRA工作流程
这是可能的最简单的LoRA工作流程:带有LoRA和检查点模型的文本转图像。
要使用该工作流程:
- 选择一个检查点模型。
- 选择一个LoRA。
- 修改提示和负提示。
- 单击Queue Prompt。
ComfyUI的快捷键和技巧
复制和粘贴
选择一个节点并按Ctrl+C复制。
Ctrl+V粘贴。
Ctrl+Shift+V粘贴保留输入连接。
移动多个节点
创建一个组以一起移动一组节点。
或者,按住Ctrl并拖动以创建一个框来选择多个节点。您也可以按住Ctrl来选择多个节点。
要移动它们,请按住Shift并移动鼠标。
静音节点
您可以通过将节点设为静音来暂时禁用该节点。选择一个节点并按Ctrl+M将一个节点设为静音。
没有键盘快捷键可以静音组。您可以在右键单击菜单中选择旁路组节点以绕过它。或者静音组中的第一个节点以禁用它。
最小化节点
点击节点左上角的点会最小化它。
生成图像
按Ctrl+Enter将工作流程放入队列并生成图像。