ComfyUI 让您能够使用基于图形/节点/流程图的界面设计和执行高级稳定扩散流程。可在 Windows、Linux 和 macOS 上使用。
入门指南
桌面应用程序
- 开始使用的最简单方式。
- 可在 Windows & macOS 上使用。
Windows 可移植包
- 获取最新提交并完全可移植。
- 可在 Windows 上使用。
手动安装
支持所有操作系统和 GPU 类型(NVIDIA、AMD、Intel、Apple Silicon、Ascend)。
示例
查看 ComfyUI 可以做什么,以及 示例工作流。
功能
- 节点/图形/流程图界面,无需编写任何代码即可实验和创建复杂的 Stable Diffusion 工作流。
- 图像模型
- SD1.x, SD2.x,
- SDXL, SDXL Turbo
- 稳定级联
- SD3 和 SD3.5
- Pixart Alpha 和 Sigma
- AuraFlow
- HunyuanDiT
- Flux
- Lumina Image 2.0
- HiDream
- Cosmos Predict2
- 图像编辑模型
- 视频模型
- 音频模型
- 3D 模型
- 异步队列系统
- 许多优化:仅重新执行工作流中在执行之间发生变化的部分。
- 智能内存管理:可以自动在显存仅为 1GB 的 GPU 上运行模型。
- 即使没有支持 GPU 的用户也可以使用:
--cpu(速度慢) - 可以加载 ckpt、safetensors 和 diffusers 模型/检查点。独立的 VAE 和 CLIP 模型。
- 安全加载 ckpt、pt、pth 等文件。
- 嵌入/文本反转
- LoRA(常规、locon 和 loha)
- 超网络
- 从生成的 PNG、WebP 和 FLAC 文件中加载完整工作流(包括种子)。
- 将工作流作为 Json 文件保存/加载。
- 节点界面可用于创建复杂的工作流,例如用于 高分辨率修复 或更高级的工作流。
- 区域合成
- 修复,支持常规和修复模型。
- ControlNet 和 T2I-Adapter
- 提升模型(ESRGAN、ESRGAN 变体、SwinIR、Swin2SR 等)
- unCLIP 模型
- GLIGEN
- 模型合并
- LCM 模型和 LoRA
- 使用 TAESD 的潜在预览
- 完全离线工作:核心永远不会下载任何内容,除非您希望这样做。
- 可选 API 节点,通过在线 Comfy API 使用来自外部提供者的付费模型。
- 配置文件 来设置模型搜索路径。
工作流示例可以在 示例页面 找到
发布流程
ComfyUI 每周五遵循每周发布周期,涉及三个相互关联的存储库:
-
- 发布新的稳定版本(例如,v0.7.0)
- 作为桌面发布的基石
-
- 使用最新的稳定核心版本构建新版本
-
- 每周前端更新会合并到核心存储库
- 即将发布的核心版本的功能冻结
- 继续为下一个发布周期开发
快捷键
| 快捷键 | 说明 |
|---|---|
Ctrl + Enter | 将当前图形排队以生成 |
Ctrl + Shift + Enter | 将当前图形作为第一个排队以生成 |
Ctrl + Alt + Enter | 取消当前生成 |
Ctrl + Z/Ctrl + Y | 撤销/重做 |
Ctrl + S | 保存工作流 |
Ctrl + O | 加载工作流 |
Ctrl + A | 选择所有节点 |
Alt + C | 折叠/展开选定的节点 |
Ctrl + M | 静音/取消静音选定的节点 |
Ctrl + B | 跳过选定的节点(就像节点已从图形中删除并通过重新连接的线连接一样) |
Delete/Backspace | 删除选定的节点 |
Ctrl + Backspace | 删除当前图形 |
Space | 当按住并移动光标时,移动画布 |
Ctrl/Shift + Click | 将点击的节点添加到选择 |
Ctrl + C/Ctrl + V | 复制和粘贴选定的节点(不维护与未选中节点输出的连接) |
Ctrl + C/Ctrl + Shift + V | 复制和粘贴选定的节点(维护与未选中节点输出的连接到粘贴节点的输入) |
Shift + Drag | 同时移动多个选定的节点 |
Ctrl + D | 加载默认图形 |
Alt + + | 画布放大 |
Alt + - | 画布缩小 |
Ctrl + Shift + LMB + 垂直拖动 | 画布放大/缩小 |
P | 固定/取消固定选定的节点 |
Ctrl + G | 组合选定的节点 |
Q | 切换队列的可见性 |
H | 切换历史的可见性 |
R | 刷新图形 |
F | 显示/隐藏菜单 |
. | 将视图调整为选择(当未选择任何内容时为整个图形) |
| 双击 LMB | 打开节点快速搜索调色板 |
Shift + Drag | 同时移动多条线 |
Ctrl + Alt + LMB | 断开点击插槽的所有线连接 |
Ctrl 也可以被 macOS 用户替换为 Cmd
安装
Windows 可移植
有一个适用于 Windows 的可移植独立构建,应该可以在 NVIDIA GPU 上运行,或者仅在 发布页面 上仅使用 CPU 运行。
直接下载链接
只需下载、使用 7-Zip 解压并运行。确保您将您的 Stable Diffusion 检查点/模型(巨大的 ckpt/safetensors 文件)放在:ComfyUI\models\checkpoints
如果您在解压时遇到问题,右键单击文件 -> 属性 -> 解锁
我如何在不同 UI 和 ComfyUI 之间共享模型?
查看 配置文件 来设置模型搜索路径。在独立的 Windows 构建中,您可以在 ComfyUI 目录中找到此文件。将此文件重命名为 extra_model_paths.yaml 并使用您喜欢的文本编辑器编辑它。
comfy-cli
您可以使用 comfy-cli 安装和启动 ComfyUI:
pip install comfy-cli
comfy install
手动安装 (Windows, Linux)
支持 python 3.13,但建议使用 3.12,因为一些自定义节点及其依赖项可能尚未支持它。
克隆此存储库。
将您的 SD 检查点(巨大的 ckpt/safetensors 文件)放在:models/checkpoints
将您的 VAE 放在:models/vae
AMD GPU (仅限 Linux)
AMD 用户如果尚未安装,可以使用 pip 安装 rocm 和 pytorch,这是安装稳定版本的命令:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.3
这是安装带有 ROCm 6.4 的 nightly 版本的命令,可能会有一些性能改进:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4
Intel GPU (Windows 和 Linux)
(选项 1) Intel Arc GPU 用户可以使用 pip 安装原生 PyTorch,支持 torch.xpu(目前可在 PyTorch nightly 构建中找到)。更多信息可以在 这里
- 要安装 nightly PyTorch,请使用以下命令:
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu
- 通过运行
python main.py启动 ComfyUI
(选项 2) 或者,Intel GPU 支持由 Intel PyTorch 扩展 (IPEX) 支持,可以利用 IPEX 提高性能。
- 对于使用 IPEX 的 Intel® Arc™ A-Series 显卡,创建 conda 环境并使用以下命令:
conda install libuv
pip install torch==2.3.1.post0+cxx11.abi torchvision==0.18.1.post0+cxx11.abi torchaudio==2.3.1.post0+cxx11.abi intel-extension-for-pytorch==2.3.110.post0+xpu --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/us/ --extra-index-url https://pytorch-extension.intel.com/release-whl/stable/xpu/cn/
对于其他支持 IPEX 的 Intel GPU,请访问 安装 以获取更多信息。
额外的讨论和帮助可以在 这里 找到。
NVIDIA
NVIDIA 用户应使用此命令安装稳定 pytorch:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu128
这是安装 nightly PyTorch 的命令,可能会有性能改进。
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129
故障排除
如果您遇到 "Torch not compiled with CUDA enabled" 错误,请使用以下命令卸载 torch:
pip uninstall torch
然后使用上述命令重新安装它。
依赖项
在 ComfyUI 文件夹中的终端中打开您的终端并:
pip install -r requirements.txt
完成此操作后,您应该已经安装了所有内容,可以继续运行 ComfyUI。
其他:
Apple Mac silicon
您可以在 Apple Mac silicon(M1 或 M2)上安装 ComfyUI,任何较新的 macOS 版本。
- 安装 nightly PyTorch。有关说明,请阅读 在 Mac 上加速 PyTorch 训练 Apple 开发者指南(请确保安装最新的 nightly PyTorch)。
- 按照 ComfyUI 手动安装 说明进行 Windows 和 Linux 安装。
- 安装 ComfyUI 依赖项。如果您已经安装了另一个 Stable Diffusion UI 您可能可以重用这些依赖项。
- 通过运行
python main.py启动 ComfyUI
注意:请记住将您的模型、VAE、LoRAs 等添加到相应的 Comfy 文件夹,如 ComfyUI 手动安装 中所述。
DirectML (Windows 上的 AMD 卡)
这非常不受支持,不推荐使用。存在一些 Windows 上未经官方认证的 pytorch ROCm 构建,它们将提供比这更好的体验。此 README 将在官方 Windows pytorch ROCm 构建出来后更新。
pip install torch-directml 然后,您可以使用:python main.py --directml
Ascend NPUs
对于与 Ascend PyTorch 扩展(torch_npu)兼容的模型。要开始使用,请确保您的环境满足 安装 页面上概述的先决条件。以下是针对您的平台和安装方法量身定制的一步一步指南:
- 首先,根据 torch-npu 的安装页面中指定在安装时安装推荐的或较新的内核版本,如有必要。
- 接下来,按照为您的特定平台提供的说明安装 Ascend Basekit,其中包括驱动程序、固件和 CANN。
- 然后,按照 安装 页面上平台特定的说明安装必要的 torch-npu 软件包。
- 最后,遵循 ComfyUI 手动安装 指南进行 Linux。安装所有组件后,您可以按照前面的说明运行 ComfyUI。
Cambricon MLUs
对于与 Cambricon PyTorch 扩展(torch_mlu)兼容的模型。以下是针对您的平台和安装方法量身定制的一步一步指南:
- 按照 安装 上的平台特定说明安装 Cambricon CNToolkit
- 接下来,按照 安装 上的说明安装 PyTorch(torch_mlu)
- 通过运行
python main.py启动 ComfyUI
运行
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
AMD ROCm 提示
您可以使用此命令在 ComfyUI 中的一些 AMD GPU 上启用实验性内存高效注意力,它应该已经在 RDNA3 上默认启用。如果这提高了您最新 pytorch GPU 上的速度,请报告它,以便我可以默认启用它。
TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention
您还可以尝试设置此环境变量 PYTORCH_TUNABLEOP_ENABLED=1,这可能加快速度,但代价是初始运行非常慢。
注意事项
只有当图形的输出具有所有正确的输入时,才会执行。
只有当图形从一次执行到下一次执行发生变化时,才会执行,如果您两次提交相同的图形,则只有第一次会执行。如果您更改图形的最后一部分,则只有您更改的部分及其依赖的部分会执行。
将生成的 png 拖到网页上或加载它将为您提供完整的工作流,包括创建它时使用的种子。
您可以使用 () 来更改单词或短语的强调程度,例如: (good code:1.2) 或 (bad code:0.8)。() 的默认强调程度为 1.1。要在实际提示中使用 () 字符,请像这样转义它们:\( 或 \)。
您可以使用 {day|night} 进行通配符/动态提示。使用此语法 "{wild|card|test}" 将会被前端每次排队提示时随机替换为 "wild"、"card" 或 "test"。要在实际提示中使用 {} 字符,请像这样转义它们:\{ 或 \}。
动态提示还支持 C 风格的注释,例如 // 注释 或 /* 注释 */。
要在文本提示中使用文本反转概念/嵌入,请将它们放在 models/embeddings 目录中,并在 CLIPTextEncode 节点中使用它们,如下所示(您可以省略 .pt 扩展名):
embedding:embedding_filename.pt
如何显示高质量预览?
使用 --preview-method auto 启用预览。
默认安装包含一个快速潜在预览方法,分辨率为低。要启用更高质量的预览,请使用 TAESD,下载 taesd_decoder.pth、taesdxl_decoder.pth、taesd3_decoder.pth 和 taef1_decoder.pth 并将它们放置在 models/vae_approx 文件夹中。安装后,重新启动 ComfyUI 并使用 --preview-method taesd 启用高质量预览。
如何使用 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 终端当前目录。
支持 和 开发频道
Discord: 尝试 #help 或 #feedback 频道。
矩阵空间: #comfyui_space:matrix.org(它就像 discord,但开源)。
前端开发
截至 2024 年 8 月 15 日,我们已经过渡到新的前端,它现在托管在一个单独的存储库中:ComfyUI Frontend。此存储库现在托管在 web/ 目录下的编译的 JS(来自 TS/Vue)。
报告问题 和 请求功能
对于与前端相关的任何错误、问题或功能请求,请使用 ComfyUI Frontend 存储库。这将帮助我们更有效地管理和解决前端特定的问题。
使用最新前端
新的前端现在是 ComfyUI 的默认设置。但是,请注意:
- 主 ComfyUI 存储库中的前端每两周更新一次。
- 每日发布可在单独的前端存储库中获取。
要使用最新的前端版本:
-
对于最新的每日发布,使用此命令行参数启动 ComfyUI:
--front-end-version Comfy-Org/ComfyUI_frontend@latest -
对于特定版本,将
latest替换为所需版本号:--front-end-version Comfy-Org/ComfyUI_frontend@1.2.2
这种方法允许您轻松切换稳定的每两周发布版本和尖端每日更新,甚至特定版本用于测试目的。
访问旧版前端
如果您有任何原因需要使用旧版前端,您可以使用以下命令行参数访问它:
--front-end-version Comfy-Org/ComfyUI_legacy_frontend@latest
这将使用 ComfyUI Legacy Frontend 存储库 中保留的旧版前端快照。
