绘画类AI 生成

ComfyUI

作者头像
项目作者comfyanonymous

The most powerful and modular diffusion model GUI, api and backend with a graph/nodes interface.

ComfyUI 预览图

ComfyUI 介绍

了解项目的详细信息和使用方法

功能最强大且高度模块化的稳定扩散GUI和后端系统。

这个用户界面允许您通过一个基于图表、节点和流程图的界面设计和执行高级稳定扩散流程。您可以通过以下链接查看一些工作流示例,了解 ComfyUI 的强大功能:

ComfyUI 示例

安装 ComfyUI

功能

  • 提供图表、节点和流程图界面,用户可以在无需编码的情况下试验和创建复杂的稳定扩散工作流。
  • 完整支持 SD1.x, SD2.x, SDXL, Stable Video DiffusionStable Cascade
  • 异步队列系统。
  • 多项优化:仅重新执行工作流中变化的部分。
  • 提供命令行选项 --lowvram,使软件在低于3GB VRAM的GPU上自动适配运行。
  • 也可以在没有 GPU 的情况下通过 --cpu 选项运行(速度较慢)。
  • 支持加载 ckpt、safetensors 和 diffusers 的模型/检查点,包括独立的 VAEs 和 CLIP 模型。
  • 支持嵌入技术和文本反演。
  • 支持 Loras (常规, locon 和 loha)Hypernetworks
  • 支持从生成的 PNG 文件加载完整的工作流(包括种子)。
  • 支持将工作流保存/加载为 Json 文件。
  • 节点界面可用于创建如 Hires fix 等复杂工作流程。
  • 支持 Area Composition、[Inpainting](https://comfyanonymous.github.io

/ComfyUI_examples/inpaint/)、ControlNet 和 T2I-AdapterUpscale Models (ESRGAN, ESRGAN variants, SwinIR, Swin2SR, 等...)unCLIP ModelsGLIGENModel MergingLCM models and LorasSDXL Turbo

  • 支持带有 TAESD 的潜在预览。
  • 启动速度非常快。
  • 完全离线操作,不会下载任何数据。
  • 配置文件 可设置模型的搜索路径。

更多工作流程示例,请访问 示例页面

快捷方式

快捷键说明
Ctrl + Enter队列当前图形以进行生成
Ctrl + Shift + Enter将当前图形作为首个进行生成
Ctrl + Z/Ctrl + Y撤销/重做
Ctrl + S保存工作流程
Ctrl + O加载工作流程
Ctrl + A选择所有节点
Alt + C折叠/展开选定节点
Ctrl + M静音/取消静音选定节点
Ctrl + B绕过选定节点(像是将节点从图中移除并重新连接线路)
Delete/Backspace删除选定节点
Ctrl + Delete/Backspace删除当前图形
Space移动画布时按住空格键并移动光标
Ctrl/Shift + Click将点击的节点添加到选择中
Ctrl + C/Ctrl + V复制并粘贴选定节点(不保留与未选中节点输出的连接)
Ctrl + C/Ctrl + Shift + V复制并粘贴选定节点(保留从未选中节点输出到粘贴节点输入的连接)
Shift + Drag同时移动多个选定节点
Ctrl + D加载默认图形
Alt + +放大画布
Alt + -缩小画布
Ctrl + Shift + LMB + Vertical drag通过垂直拖动放大/缩小画布
Q切换队列可见性
H切换历史可见性
R刷新图形
Double-Click LMB打开节点快速搜索调色板

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

安装

Windows

Windows 平台有一个便携式独立构建版本,适用于在 Nvidia GPU 或仅在 CPU 上运行,可在 发布页面 找到。

直接下载链接

只需下载、解压使用 7-Zip 并运行。确保您的稳定扩散检查点/模型(大型 ckpt/safetensors 文件)放在:ComfyUI\models\checkpoints

如果在解压时遇到问题,可

右键文件 -> 属性 -> 解除锁定

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

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

Jupyter Notebook

要在像 paperspace、kaggle 或 colab 这类服务上运行,您可以使用我的 Jupyter 笔记本

手动安装 (Windows, Linux)

克隆此仓库。

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

将您的 VAE 放在:models/vae

AMD GPUs (仅限 Linux)

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

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

这是安装可能具有性能改进的 ROCm 6.0 夜间版本的命令:

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

NVIDIA

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

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

这是安装 pytorch 夜间版本的命令,可能具有性能改进:

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

故障排除

如果您收到“Torch not compiled with CUDA enabled”错误,请使用:

pip uninstall torch

然后再次使用上述命令安装。

依赖项

通过在 ComfyUI 文件夹内打开您的终端并运行以下命令来安装依赖项:

pip install -r requirements.txt

完成此操作后,您应该已经安装了所有东西并可以继续运行 ComfyUI。

其他:

Intel Arc

Apple Mac silicon

您可以在任何最近的 macOS 版本上在 Apple Mac silicon (M1 或 M2) 上安装 ComfyUI。

  1. 安装 pytorch 夜间版本。有关说明,请阅读 Mac 上的加速 PyTorch 培训 Apple 开发者指南(确保安装最新的 pytorch 夜间版本)。
  2. 按照 Windows 和 Linux 的 ComfyUI 手动安装 指南操作。
  3. 安装 ComfyUI 依赖项。如果您已经有另一个稳定扩散 UI 您可能可以重用这些依赖项
  4. 通过运行 python main.py 启动 ComfyUI

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

DirectML (AMD Cards on Windows)

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

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

您不需要。如果您已经安装并使用其自己的 python venv 正在运行另一个 UI,您可以使用该 venv 运行 ComfyUI。您可以打开您最喜欢的终端并激活它

source path_to_other_sd_gui/venv/bin/activate

或在 Windows 上:

使用 Powershell: "path_to_other_sd_gui\venv\Scripts\Activate.ps1"

使用 cmd.exe: "path_to_other_sd_gui\venv\Scripts\activate.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

如何提高生成速度?

在非 Nvidia 硬件上,您可以设置此命令行设置以禁用某些交叉注意力操作中的上转换至 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 以启用高质量预览。

如何使用 TLS/SSL?

通过运行命令生成自签名证书(不适用于共享/生产用途)和密钥:`openssl req -x509 -newkey rsa:4096 -keyout key.pem -out cert.pem -sha256 -days

3650 -nodes -subj "/C=XX/ST=StateName/L=CityName/O=CompanyName/OU=CompanySectionName/CN=CommonNameOrHostname"`

使用 --tls-keyfile key.pem --tls-certfile cert.pem 启用 TLS/SSL,应用程序现在可以通过 https://... 而不是 http://... 访问。

注意:Windows 用户可以使用 alexisrolland/docker-openssl第三方二进制发行版之一 运行上述命令示例。

如果您使用容器,请注意 -v 卷挂载可以是相对路径,因此 ... -v ".\:/openssl-certs" ... 会在您的命令提示符或 powershell 终端的当前目录中创建密钥和证书文件。

支持和开发频道

Matrix 空间:#comfyui_space:matrix.org(它就像开源的 discord)。

QA

为什么你要制作这个?

我想详细了解 Stable Diffusion 的工作原理。我还想要一个干净而强大的东西,让我可以在没有限制的情况下试验 SD。

这是为谁准备的?

这是为想要制作复杂的 SD 工作流程的任何人,或想要更多了解 SD 工作原理的人准备的。界面紧密遵循 SD的工作方式,代码应该比其他 SD UI 更容易理解。

使用教程

Stars
80.5k
Forks
8.9k
Watch
555
版本 v0.3.41
GNU General Public License v3.0
更新于 2025年6月23日
ai, python, pytorch, stable-diffusion
免责声明:本站大资源来自网络收集整理,小部分资源来自原创,如有侵权等,请联系处理。

相关项目

探索更多类似的开源项目