ComfyUI是目前最强大和模块化的视觉AI引擎和应用程序,它通过基于节点/图形/流程图的界面,让用户能够设计和执行高级稳定扩散管道,而无需编写任何代码。在AI225导航,我们致力于为用户提供最全面的AI工具使用指南,本文将详细介绍如何充分利用ComfyUI的强大功能。
项目地址:https://github.com/comfyanonymous/ComfyUI
什么是ComfyUI?¶
ComfyUI是一个基于节点/图形/流程图界面的工具,专门用于设计和执行高级稳定扩散管道。它支持Windows、Linux和macOS系统,具有以下特点:
- 模块化和可扩展的节点系统
- 异步队列系统,支持高效的任务处理
- 智能内存管理,可在低至1GB VRAM的GPU上运行大型模型
- 支持多种图像模型,包括SD1.x、SD2.x、SDXL、Stable Cascade等
- 完全离线工作,核心不会下载任何内容
- 可加载ckpt和safetensors格式的模型文件
ComfyUI的主要功能¶
1. 图像模型支持¶
ComfyUI支持多种先进的图像生成模型:
- SD1.x和SD2.x:包括unCLIP功能
- SDXL和SDXL Turbo:高分辨率图像生成
- Stable Cascade:级联扩散模型
- SD3和SD3.5:支持SD3和SD3.5模型
- Pixart Alpha和Sigma:高性能图像生成模型
- AuraFlow:先进的图像生成模型
- HunyuanDiT:腾讯开发的扩散模型
- Flux:高性能图像生成模型
- Lumina Image 2.0:先进的图像生成模型
- HiDream:多模态图像生成模型
- Qwen Image:阿里巴巴开发的图像模型
- Hunyuan Image 2.1:腾讯开发的图像模型
2. 图像编辑模型¶
除了图像生成,ComfyUI还支持多种图像编辑模型:
- Omnigen 2:多功能图像编辑模型
- Flux Kontext:上下文感知的图像编辑
- HiDream E1.1:增强版的图像编辑功能
- Qwen Image Edit:阿里巴巴的图像编辑模型
3. 视频和音频模型¶
ComfyUI不仅限于图像处理,还支持视频和音频生成:
- 视频模型:Stable Video Diffusion、Mochi、LTX-Video、Hunyuan Video、Wan 2.1、Wan 2.2
- 音频模型:Stable Audio、ACE Step
4. 3D 模型¶
ComfyUI还支持3D模型生成:
- Hunyuan3D 2.0:腾讯开发的3D生成模型
5. 高级功能¶
- 嵌入和文本反转:增强模型对特定概念的理解
- LoRA:包括常规、locon和loha格式,用于微调模型
- 超网络:另一种模型微调方法
- 控制网和T2I适配器:精确控制图像生成过程
- 放大模型:ESRGAN、ESRGAN变体、SwinIR等,用于提高图像分辨率
- 模型合并:将多个模型合并以获得新特性
- 区域组合:在同一图像中组合不同元素
- 修复功能:支持常规修复模型和专用修复模型
- GLIGEN:基于文本的定位和生成
- LCM模型和LoRA:潜在一致性模型,加速生成过程
- TAESD潜在预览:高质量潜在预览功能
- 完全离线工作:核心不会下载任何内容,除非您想要
- API节点:可选功能,通过在线Comfy API使用外部提供商的付费模型
- 配置文件:设置模型搜索路径
安装ComfyUI¶
1. 桌面应用程序(推荐)¶
最简单的入门方式是使用ComfyUI的桌面应用程序:
- 适用于Windows和macOS
- 从ComfyOrg官网下载安装
2. Windows便携版¶
对于Windows用户,可以使用便携版本:
- 从发布页面下载
- 使用7-Zip解压缩
- 将Stable Diffusion检查点/模型放在
ComfyUI\models\checkpoints目录中
3. 使用comfy-cli安装¶
通过命令行安装ComfyUI:
pip install comfy-cli
comfy install
4. 手动安装¶
适用于所有操作系统和GPU类型(NVIDIA、AMD、Intel、Apple Silicon、Ascend):
- 克隆此仓库
- 将SD检查点放在
models/checkpoints目录 - 将VAE放在
models/vae目录 - Python 3.13得到很好支持,如果遇到一些自定义节点依赖问题,可以尝试3.12版本
- 根据您的GPU类型安装适当的PyTorch版本:
- NVIDIA GPU:pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu129
- AMD GPU(仅Linux):pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.4
- Intel GPU:pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu - 安装依赖项:
pip install -r requirements.txt
运行ComfyUI¶
安装完成后,可以通过以下命令启动ComfyUI:
python main.py
根据您的硬件配置,可能需要添加特定参数:
- CPU模式:
--cpu(速度较慢) - DirectML(AMD卡在Windows上):
--directml
对于不受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提示¶
在某些AMD GPU上,您可以使用以下命令在ComfyUI中启用实验性内存高效注意力,在RDNA3上应该默认已启用。如果在最新版本的pytorch上这对您的GPU提高了速度,请报告,以便我可以默认启用它。
TORCH_ROCM_AOTRITON_ENABLE_EXPERIMENTAL=1 python main.py --use-pytorch-cross-attention
您也可以尝试设置环境变量PYTORCH_TUNABLEOP_ENABLED=1,这可能会以初始运行非常慢为代价来提高速度。
ComfyUI发布流程¶
ComfyUI遵循每周发布周期,通常目标是在周五发布,但由于模型发布或代码库的重大更改,这一时间经常会发生变化。有三个相互关联的仓库:
ComfyUI Core
- 发布新的稳定版本(例如,v0.7.0)
- 作为桌面发布的基础ComfyUI Desktop
- 使用最新的稳定核心版本构建新版本ComfyUI Frontend
- 每周前端更新会合并到核心仓库
- 即将发布的核心版本的功能会被冻结
- 继续为下一个发布周期进行开发
ComfyUI使用技巧¶
1. 节点界面基础¶
ComfyUI的节点界面是其核心功能,理解以下基本概念很重要:
- 节点:代表特定功能或操作
- 连接:节点之间的数据流
- 工作流:完整的节点网络,定义了图像生成过程
2. 快捷键¶
掌握快捷键可以大大提高工作效率:
| 快捷键 | 功能 |
|---|---|
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 + 鼠标左键 + 垂直拖动 | 画布放大/缩小 |
P | 固定/取消固定选定节点 |
Ctrl + G | 将选定节点分组 |
Q | 切换队列的可见性 |
H | 切换历史记录的可见性 |
R | 刷新图形 |
F | 显示/隐藏菜单 |
. | 适合视图到选择(未选择任何内容时为整个图形) |
| 双击鼠标左键 | 打开节点快速搜索面板 |
Ctrl + Alt + 鼠标左键 | 断开点击插槽的所有电线 |
注:对于macOS用户,Ctrl可以用Cmd代替
3. 工作流管理¶
- 保存/加载工作流:可以将工作流保存为JSON文件
- 从生成的图像加载工作流:ComfyUI可以将完整的工作流(包括种子)嵌入到生成的PNG、WebP和FLAC文件中
- 默认图形:使用
Ctrl+D加载默认图形
4. 提示技巧¶
- 使用括号改变强调:可以使用()来改变单词或短语的强调程度,例如:(good code:1.2)或(bad code:0.8)。()的默认强调是1.1。要在实际提示中使用()字符,请像这样转义:\(或\)。
- 使用花括号进行通配符/动态提示:可以使用{day|night}进行通配符/动态提示。使用这种语法"{wild|card|test}"将在每次排队提示时被前端随机替换为"wild"、"card"或"test"中的一个。要在实际提示中使用{}字符,请像这样转义:\{或\}。
- 支持C风格注释:动态提示也支持C风格注释,如
// comment或/* comment */。 - 使用文本反转概念/嵌入:要在文本提示中使用文本反转概念/嵌入,请将它们放在models/embeddings目录中,并在CLIPTextEncode节点中像这样使用它们(可以省略.pt扩展名):
embedding:embedding_filename.pt
实用应用场景¶
1. 文本到图像生成¶
使用文本提示创建图像,是ComfyUI最基本的功能:
- 使用CLIP文本编码器节点处理文本提示
- 连接到采样器节点
- 连接到VAE解码器节点
- 最后连接到保存图像节点
2. 图像到图像转换¶
基于现有图像创建新图像:
- 使用VAE编码器节点编码输入图像
- 应用所需的处理(如修复、放大等)
- 使用VAE解码器节点解码结果
3. 高分辨率修复¶
创建高分辨率图像的两步过程:
- 生成低分辨率图像
- 使用放大模型或高分辨率修复技术提高分辨率
4. 控制图像生成¶
使用ControlNet或T2I-Adapter精确控制图像生成过程:
- 准备控制图像(如边缘图、深度图等)
- 使用适当的预处理器处理控制图像
- 将处理后的控制图像连接到采样器
最佳实践¶
1. 模型管理¶
- 组织模型:将模型放在适当的目录中(检查点、VAE、LoRA等)
- 使用配置文件:通过
extra_model_paths.yaml设置模型搜索路径 - 共享模型:可以与其他UI共享模型,避免重复存储
2. 内存优化¶
- 智能卸载:ComfyUI会自动管理内存,在需要时卸载模型
- 低VRAM设置:对于VRAM有限的GPU,可以调整设置以减少内存使用
- CPU模式:在没有GPU或GPU内存不足的情况下,可以使用CPU模式(速度较慢)
3. 工作流优化¶
- 只重新执行更改的部分:ComfyUI只会重新执行工作流中更改的部分,提高效率
- 分组节点:使用
Ctrl+G将相关节点分组,使工作流更清晰 - 使用注释:为复杂的工作流添加注释,便于理解和分享
4. 高级配置¶
- 高质量预览:使用
--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终端的当前目录中创建密钥和证书文件。
常见问题解答¶
Q: ComfyUI与其他稳定扩散UI有什么区别?¶
A: ComfyUI的主要优势在于其节点/图形界面,提供了更大的灵活性和可定制性。它允许用户精确控制图像生成的每个步骤,而不仅仅是提供简单的文本到图像功能。
Q: 如何在ComfyUI中使用自定义模型?¶
A: 将自定义模型(ckpt、safetensors等)放在相应的目录中(如models/checkpoints),然后重新启动ComfyUI。模型将自动加载并可用。
Q: ComfyUI支持哪些GPU?¶
A: ComfyUI支持多种GPU类型,包括NVIDIA、AMD、Intel和Apple Silicon。对于AMD GPU,Linux上的ROCm支持较好;对于Intel GPU,可以使用PyTorch with XPU支持。
Q: 如何分享ComfyUI工作流?¶
A: 可以将工作流保存为JSON文件,或者生成包含完整工作流信息的图像文件。其他人可以加载这些文件来重现您的工作流。
Q: 我应该为ComfyUI购买哪种GPU?¶
A: 有关GPU推荐,请参阅ComfyUI GPU选择指南。
进阶技巧¶
1. 自定义节点¶
ComfyUI支持自定义节点,可以扩展其功能:
- 从社区获取自定义节点
- 将自定义节点放在
custom_nodes目录中 - 重启ComfyUI以加载新节点
2. API集成¶
ComfyUI提供了API功能,可以与其他应用程序集成:
- 使用API节点通过在线Comfy API访问外部提供商的付费模型
- 通过Comfy API与在线服务集成
- 创建自动化工作流程
3. 批处理¶
使用ComfyUI进行批量处理:
- 设置多个输入
- 使用循环节点处理多个项目
- 自动保存结果
4. 前端开发¶
截至2024年8月15日,ComfyUI已过渡到新的前端,现在托管在单独的存储库中: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存储库中的旧前端快照。
总结¶
ComfyUI是一个强大而灵活的AI图像生成工具,通过其节点/图形界面提供了无与伦比的控制能力。关键要点包括:
- 模块化设计:节点系统提供了极大的灵活性和可扩展性
- 多模型支持:支持最新的图像生成和编辑模型
- 高效资源管理:智能内存管理使其能够在各种硬件配置上运行
- 工作流保存和共享:可以轻松保存和分享复杂的工作流程
- 社区支持:活跃的社区提供持续的支持和新功能
掌握ComfyUI需要一些学习和实践,但一旦熟悉,它将成为您AI创作工具箱中不可或缺的工具。记住,ComfyUI的强大之处在于其灵活性,不要害怕尝试不同的节点组合和工作流程。
想了解更多AI工具使用技巧?请访问AI225导航,我们提供最全面的AI工具使用指南和资源。
