舒适用户界面

最强大、模块化的稳定扩散 GUI 和后端。

ComfyUI 截图

该用户界面将允许您使用基于图形/节点/流程图的界面设计和执行高级稳定扩散管道。有关一些工作流程示例并了解 ComfyUI 可以做什么,您可以查看:

ComfyUI 示例

安装 ComfyUI

特征

  • 节点/图形/流程图界面用于实验和创建复杂的稳定扩散工作流程,无需编写任何代码。
  • 完全支持SD1.x、SD2.x、SDXL和稳定视频扩散
  • 异步队列系统
  • 许多优化:仅重新执行工作流程中在执行之间发生变化的部分。
  • 命令行选项:--lowvram使其在显存小于 3GB 的 GPU 上运行(在显存较低的 GPU 上自动启用)
  • 即使您没有 GPU,也可以使用:(--cpu慢)
  • 可以加载 ckpt、safetensors 和扩散器模型/检查点。独立 VAE 和 CLIP 模型。
  • 嵌入/文本反转
  • Loras(常规、Locon 和 Loha)
  • 超网络
  • 从生成的 PNG 文件加载完整的工作流程(带有种子)。
  • 将工作流程保存/加载为 Json 文件。
  • 节点界面可用于创建复杂的工作流程,例如招聘修复或更高级的工作流程。
  • 区域构成
  • 使用常规模型和修复模型进行修复。
  • ControlNet 和 T2I 适配器
  • 高档型号(ESRGAN、ESRGAN 变体、SwinIR、Swin2SR 等...)
  • unCLIP 模型
  • 格力根
  • 模型合并
  • LCM 模型和 Loras
  • SDXL涡轮增压
  • 使用TAESD进行潜在预览
  • 启动速度非常快。
  • 完全离线工作:永远不会下载任何东西。
  • 用于设置模型搜索路径的配置文件。

工作流程示例可以在示例页面上找到

快捷方式

按键绑定 解释
Ctrl + Enter 将当前图排队以进行生成
Ctrl + Shift + Enter 将当前图排队为第一个生成图
Ctrl + Z/Ctrl + Y 撤销重做
Ctrl + S 保存工作流程
Ctrl + O 加载工作流程
Ctrl + A 选择所有节点
Alt+C 折叠/展开选定的节点
Ctrl+M 静音/取消静音选定的节点
Ctrl + B 绕过选定的节点(就像从图中删除节点并重新连接电线一样)
删除/退格 删除选定的节点
Ctrl + 删除/退格键 删除当前图表
空间 按住时移动画布并移动光标
Ctrl/Shift + 单击 将单击的节点添加到选择中
Ctrl + C/Ctrl + V 复制并粘贴选定的节点(无需维护与未选定节点的输出的连接)
Ctrl + C/Ctrl + Shift + V 复制并粘贴选定的节点(维护从未选定节点的输出到粘贴节点的输入的连接)
Shift + 拖动 同时移动多个选定节点
Ctrl + D 加载默认图表
切换队列的可见性
H 切换历史记录的可见性
刷新图表
双击鼠标左键 打开节点快速搜索调色板

对于 macOS 用户,Ctrl 也可以替换为 Cmd

安装中

视窗

有一个适用于 Windows 的便携式独立版本,它应该适用于在 Nvidia GPU 上运行,或者仅在发布页面上在您的 CPU 上运行。

直接链接下载

只需下载、使用7-Zip解压并运行即可。确保将稳定扩散检查点/模型(巨大的 ckpt/safetensors 文件)放入:ComfyUImodelscheckpoints

如果解压时遇到问题,请右键单击该文件 -> 属性 -> 取消阻止

如何在另一个 UI 和 ComfyUI 之间共享模型?

请参阅配置文件来设置模型的搜索路径。在独立 Windows 版本中,您可以在 ComfyUI 目录中找到此文件。将此文件重命名为 extra_model_paths.yaml 并使用您喜欢的文本编辑器进行编辑。

Jupyter笔记本

要在 paperspace、kaggle 或 colab 等服务上运行它,您可以使用我的Jupyter Notebook

手动安装(Windows、Linux)

Git 克隆这个仓库。

将您的 SD 检查点(巨大的 ckpt/safetensors 文件)放入:models/checkpoints

将您的 VAE 放入:models/vae

注意:pytorch stable 尚不支持 python 3.12。如果您有 python 3.12,则必须使用 pytorch 的 nightly 版本。如果遇到问题,您应该尝试使用 python 3.11。

AMD GPU(仅限 Linux)

AMD 用户如果尚未安装 rocm 和 pytorch,可以使用 pip 安装,这是安装稳定版本的命令:

pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm5.6

这是使用 ROCm 5.7 安装 nightly 的命令,它有一个 python 3.12 包,可能会有一些性能改进:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm5.7

英伟达

Nvidia 用户应使用以下命令安装稳定的 pytorch:

pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu121

这是安装 pytorch nightly 的命令,它有一个 python 3.12 包,并且可能有性能改进:

pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu121

故障排除

如果出现“Torch 未在启用 CUDA 的情况下编译”错误,请使用以下命令卸载 torch:

pip uninstall torch

并使用上面的命令再次安装。

依赖关系

通过在 ComfyUI 文件夹中打开终端来安装依赖项:

pip install -r requirements.txt

此后,您应该已安装好所有内容并可以继续运行 ComfyUI。

其他的:

英特尔弧

苹果 Mac 芯片

您可以在任何最新 macOS 版本的 Apple Mac 芯片(M1 或 M2)中安装 ComfyUI。

  1. 每晚安装 pytorch。有关说明,请阅读Mac Apple 开发人员指南上的 Accelerated PyTorch 培训(确保每晚安装最新的 pytorch)。
  2. 请遵循适用于 Windows 和 Linux 的ComfyUI 手动安装说明。
  3. 安装 ComfyUI依赖项。如果您有另一个 Stable Diffusion UI,您也许可以重用依赖项。
  4. 通过运行启动 ComfyUI python main.py --force-fp16。请注意,仅当您每晚安装了最新的 pytorch 时,--force-fp16 才会起作用。

注意:请记住将您的模型、VAE、LoRA 等添加到相应的 Comfy 文件夹中,如ComfyUI 手动安装中所述。

DirectML(Windows 上的 AMD 卡)

pip install torch-directml然后您可以使用以下命令启动 ComfyUI:python main.py --directml

我已经安装了另一个用于稳定扩散的 UI,我真的需要安装所有这些依赖项吗?

你不知道。如果您安装了另一个 UI 并使用其自己的 python venv,则可以使用该 venv 来运行 ComfyUI。您可以打开您最喜欢的终端并激活它:

source path_to_other_sd_gui/venv/bin/activate

或在 Windows 上:

使用 Powershell:"path_to_other_sd_guivenvScriptsActivate.ps1"

使用cmd.exe:"path_to_other_sd_guivenvScriptsactivate.bat"

然后您可以使用该终端运行 ComfyUI,而无需安装任何依赖项。请注意,venv 文件夹可能会被称为其他名称,具体取决于 SD UI。

跑步

python main.py

对于 ROCm 未正式支持的 AMD 卡

如果遇到问题,请尝试使用以下命令运行它:

对于 6700、6600 以及其他 RDNA2 或更早版本:HSA_OVERRIDE_GFX_VERSION=10.3.0 python main.py

对于 AMD 7600 以及其他 RDNA3 卡:HSA_OVERRIDE_GFX_VERSION=11.0.0 python main.py

笔记

只有具有所有正确输入的输出的图表部分才会被执行。

仅执行从每次执行到下一次执行的图表中发生变化的部分,如果您提交相同的图表两次,则仅执行第一次。如果您更改图表的最后一部分,则只有您更改的部分和依赖于它的部分才会被执行。

在网页上拖动生成的 png 或加载它将为您提供完整的工作流程,包括用于创建它的种子。

您可以使用 () 来更改单词或短语的强调,例如:(好代码:1.2)或(坏代码:0.8)。() 的默认强调值为 1.1。要在实际提示中使用 () 字符,请转义它们,如 ( 或 )。

您可以使用 {day|night} 作为通配符/动态提示。使用此语法,每次您对提示进行排队时,前端都会随机将“{wild|card|test}”替换为“wild”、“card”或“test”。要在实际提示中使用 {} 字符,请转义它们,例如:{ 或 }。

动态提示还支持 C 风格的注释,例如// comment/* comment */

要在文本提示中使用文本反转概念/嵌入,请将它们放在 models/embeddings 目录中,并在 CLIPTextEncode 节点中使用它们,如下所示(您可以省略 .pt 扩展名):

embedding:embedding_filename.pt

如何提高生成速度?

确保使用常规加载器/加载检查点节点来加载检查点。它将根据您的 GPU 自动选择正确的设置。

您可以设置此命令行设置以在某些交叉注意操作中禁用向上转换到 fp32,这将提高您的速度。请注意,这很可能会在 SD2.x 型号上产生黑色图像。如果您使用 xformers 或 pytorch 注意此选项不会执行任何操作。

--dont-upcast-attention

如何展示高质量的预览?

用于--preview-method auto启用预览。

默认安装包括低分辨率的快速潜在预览方法。要使用TAESD启用更高质量的预览,请下载taesd_decoder.pth(适用于 SD1.x 和 SD2.x)和taesdxl_decoder.pth(适用于 SDXL)模型并将它们放在models/vae_approx文件夹中。安装后,重新启动 ComfyUI 以启用高质量预览。

支持和开发频道

矩阵空间:#comfyui_space:matrix.org(它就像不和谐但开源)。

质量保证

你为什么做这个?

我想了解稳定扩散的详细工作原理。我还想要一些干净而强大的东西,让我能够不受限制地尝试 SD。

这是给谁的?

这适用于任何想要使用 SD 制作复杂工作流程或想要了解更多 SD 工作原理的人。该界面紧密遵循 SD 的工作原理,并且代码应该比其他 SD UI 更容易理解。