ComfyUI 是一款基于节点式工作流 (Node-based Workflow)的开源 AI 图像生成工具,专为 Stable Diffusion 等扩散模型设计。ComfyUI 是一款基于 节点式工作流(Node-based Workflow) 的 Stable Diffusion 图形用户界面(GUI),它通过将图像生成流程拆解为可自由连接和配置的模块化节点,为用户提供了前所未有的灵活性、可控性和可复现性 。
它允许用户通过拖拽和连接不同的功能模块(节点)来构建可视化的图像生成流程,实现了高度定制化和灵活可控的 AI 创作体验。下面我将从多个角度为你系统介绍 ComfyUI。ComfyUI 的核心在于其模块化 和可视化 的工作流设计,这与传统的 WebUI(如 AUTOMATIC1111)的表单式操作有根本区别。
🧠 一、核心特点与设计理念
ComfyUI 的核心在于其模块化 和可视化 的工作流设计:
•高度灵活与可控 :用户可以直接调整每个生成步骤的参数,精确控制图像生成的各个环节,甚至构建非常复杂或特殊的工作流。
•强大的扩展性 :支持丰富的插件和自定义脚本(如 ControlNet、LoRA、IP-Adapter等),社区不断贡献新节点和功能。
•节点式操作(Node-Based) :所有功能被拆解为独立节点(如加载模型、输入提示词、设置采样器等),用户通过拖拽和连接这些节点来构建完整流程。这种方式让整个生成过程变得透明,易于理解和调试。
•高性能与低显存占用 :ComfyUI 进行了多项优化,例如懒加载(Lazy Evaluation) ,即只有工作流中发生变化的节点才会被重新执行,这大大节省了计算资源和时间。其显存需求通常低于同类工具,使得显存≥8GB的消费级显卡 也能获得良好体验。
•强大的扩展性 :支持丰富的自定义节点(Custom Nodes)和插件,社区不断贡献新功能(如 ControlNet、IP-Adapter、AnimateDiff等),使其能力边界持续扩展。
•工作流的可复现与共享 :任何生成流程都可以保存为 .json文件或直接嵌入输出图片的元数据中。这意味着你可以轻松分享你的完整创作流程,他人导入后可以完全复现你的结果,这对于协作和研究至关重要。
•活跃的开源社区 :拥有一个由开发者和爱好者组成的活跃社区,不断推动其发展,分享工作流、教程和资源。
🔄 二、ComfyUI 与 Stable Diffusion WebUI 的对比
了解 ComfyUI 时,常会将其与 AUTOMATIC1111 的 Stable Diffusion WebUI 进行比较:
对比维度 ComfyUI Stable Diffusion WebUI (AUTOMATIC1111) 界面与交互 节点式流程图,类似编程,学习曲线稍陡峭 传统网页布局,按钮与表单操作,对新手更友好 灵活性与控制力 极高 ,可自由构建和调整复杂工作流 相对固定,灵活性较低 硬件需求(显存) 相对较低 (例如6GB显存可运行基础模型) 相对较高(推荐12GB+显存) 功能扩展 插件生态快速增长 插件生态非常成熟和丰富 适用场景 技术研究、流程自动化、批量生成、追求极致控制 快速创作、单次生成、初学者入门
🛠️ 三、核心概念与工作流原理
要理解 ComfyUI,需要了解其几个核心概念:
•节点(Nodes) :构成工作流的基本单元,每个节点执行特定任务(如 KSampler采样器, CLIPTextEncode文本编码器, VAEDecode解码器等)。
•工作流(Workflow) :由节点通过输入输出接口连接而成的有向无环图(DAG),定义了图像生成的完整管道7。工作流可以保存为 .json文件,方便分享和复用。
•潜空间(Latent Space) :Stable Diffusion 的核心工作原理之一。大部分计算在低维的潜空间中完成,最后由 VAE 解码器转换为像素空间的高清图像。这大大节省了计算资源和内存。
一个典型的文生图(txt2img)工作流逻辑通常从左向右执行:
加载模型-> CLIP文本编码器(处理提示词)-> 生成初始潜在噪声-> 采样器(在潜空间中去噪)-> VAE解码器(潜空间转像素空间)-> 保存图像。
📥 四、安装与入门指南
ComfyUI 的安装方式多样,以下是常见方法:
通过 Git 克隆(推荐) :这种方式便于后续更新。
# 克隆官方仓库
git clone https://github.com/comfyanonymous/ComfyUI.git[4,7](@ref)
cd ComfyUI
# 创建并激活Python虚拟环境(可选但推荐)
# 安装依赖包
pip install -r requirements.txt[4](@ref)
完成后,运行 python main.py启动,默认在浏览器中打开 http://127.0.0.1:81885。
使用秋叶启动器等整合包 :针对 Windows 用户,国内开发者秋叶等制作的整合包解压即用,内置了常用插件和依赖,对新手非常友好。请注意从可信来源获取。
桌面应用(Beta) :ComfyUI 团队正在开发一键安装的桌面版程序,旨在进一步降低安装门槛。
安装后,你需要下载模型文件 (如 .safetensors格式的 Stable Diffusion 大模型、VAE、LoRA 等),并放置在 ComfyUI 目录下对应的 models子文件夹中(如 checkpoints, loras, vae)。
🚀 五、应用场景
ComfyUI 的灵活性使其适用于多种高级应用场景:
•艺术创作 :通过精细控制工作流,生成独特风格的艺术作品。
•概念设计 :快速生成和迭代不同风格、主题的图像,辅助创意开发。
•图像超分辨率与修复 :构建包含放大和修复节点的流程提升图像质量。
•风格迁移 :利用特定节点或模型实现图像风格转换。
•AI研究与实验 :其模块化特性非常适合研究人员设计和测试新的生成流程或算法。
•视频生成 :通过与 AnimateDiff 等插件结合,可以生成连贯的视频序列。
以下是COMFY官方在GITHUB的部分自述:
特色
工作流程示例可以在示例页面 上找到。
发布流程
ComfyUI遵循每周一次的发布周期,通常在周五发布,但由于模型更新或代码库的重大修改,这一时间安排会经常发生变化。该项目有三个相互关联的代码仓库:
ComfyUI Core
发布一个新的稳定版本(例如,v0.7.0)
这是桌面版本发布的基础。
ComfyUI桌面版
ComfyUI 前端
每周的前端更新都会合并到核心代码库中。
即将发布的核心版本中,各项功能将保持不变(即不会进行修改或更新)。
下一个发布周期的开发工作仍在继续。
快捷方式
按键绑定 解释;说明 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显示/隐藏菜单 .将视图调整以适应所选内容(当未选择任何内容时显示整个图表) 双击左鼠标按钮 打开节点快速搜索调色板 Shift + 拖动同时移动多根电线 Ctrl + Alt + 左键鼠标将所有电线从所连接的插槽中拔出。
对于 macOS 用户来说,Ctrl 也可以被 Cmd 替代。
安装
Windows Portable
有一个适用于 Windows 的便携式独立版本,可以在 发布页面 上找到。该版本既可以在 Nvidia 显卡上运行,也可以仅通过 CPU 运行。
只需下载文件,使用7-Zip 解压后运行即可。请确保将您的Stable Diffusion检查点/模型文件(即那些庞大的ckpt/safetensors文件)放入以下路径:ComfyUI\models\checkpoints。
如果你提取文件有困难,可以右键点击该文件 -> 属性 -> 解锁。
我该如何在另一个用户界面(UI)和ComfyUI之间共享模型?
请参阅配置文件 ,以设置模型的搜索路径。在独立的Windows构建版本中,您可以在ComfyUI目录中找到该文件。将此文件重命名为extra_model_paths.yaml,并使用您喜欢的文本编辑器对其进行编辑。
你可以使用 comfy-cli 来安装并启动 ComfyUI:
pip install comfy-cli
comfy install
手动安装(Windows、Linux)
Python 3.13得到了很好的支持。如果你在某些自定义节点依赖方面遇到问题,可以尝试使用3.12版本。
使用 Git 克隆这个仓库。
将你的 SD 检查点文件(即那些庞大的 checkpoint/safetensors 文件)放在以下路径:models/checkpoints
将你的变分自编码器(VAE)放入:models/vae
AMD显卡(仅适用于Linux系统)
AMD用户如果还没有安装rocm和pytorch,可以通过pip来安装。以下是安装稳定版本的命令:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/rocm6.4
这是用于安装带有 ROCm 6.4 的 nightly 版本的命令,该版本可能具备一些性能提升。
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/rocm6.4
英特尔显卡(适用于Windows和Linux系统)
(选项1)Intel Arc GPU用户可以使用pip安装支持torch.xpu的原生PyTorch。更多信息请参见此处 。
要安装 PyTorch XPU,请使用以下命令:
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/xpu
这是用于安装 Pytorch xpu nightly 版本的命令,该版本可能具备一些性能提升。
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/xpu
(选项2)或者,支持 Intel Extension for PyTorch(IPEX)的英特尔 GPU 可以利用 IPEX 来提升性能。
访问安装指南 以获取更多信息。
英伟达
Nvidia用户应使用以下命令安装稳定的PyTorch版本:
pip install torch torchvision torchaudio --extra-index-url https://download.pytorch.org/whl/cu129
这是用于安装 nightly 版 PyTorch 的命令,该版本可能在性能上有所提升。
pip install --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu129
故障排除
如果你遇到“Torch未使用CUDA编译”错误,可以使用以下命令卸载torch:
pip uninstall torch
然后使用上述命令再次安装它。
依赖项
通过在 ComfyUI 文件夹内打开终端并执行以下命令来安装依赖项:
pip install -r requirements.txt
完成这些步骤后,你应该已经安装好了所有所需的内容,接下来就可以运行 ComfyUI 了。
其他:
苹果Mac电脑所使用的硅芯片
你可以在搭载苹果M1或M2芯片的Mac电脑上,使用任何最新版本的macOS来安装ComfyUI。
安装 nightly 版本的 PyTorch。有关说明,请阅读 在 Mac 上加速 PyTorch 训练 的 Apple 开发者指南(确保安装最新版本的 nightly PyTorch)。
请按照ComfyUI手动安装 指南中的说明,在Windows和Linux系统上进行操作。
安装 ComfyUI依赖关系;从属关系 如果你有另一个Stable Diffusion用户界面……你或许可以重新使用这些依赖项。 .
通过运行 python main.py 来启动 ComfyUI。
注意:请按照ComfyUI 手动安装 中的说明,将您的模型、VAE、LoRAs 等文件添加到相应的 Comfy 文件夹中。
DirectML(Windows系统上的AMD显卡)
这种做法的依据非常薄弱,因此不建议使用。目前确实存在一些非官方的 PyTorch ROCm Windows 版本,它们的使用体验要比这种方法好得多。一旦官方的 PyTorch ROCm Windows 版本发布,这份说明文件将会进行更新。pip install torch-directml 然后你可以使用以下命令启动 ComfyUI:python main.py --directml
升级神经处理单元(NPU)
适用于与 PyTorch 的 Ascend Extension(torch_npu)兼容的模型。要开始使用,请确保您的环境满足 安装 页面中列出的先决条件。以下是根据您的平台和安装方法定制的分步指南:
首先,根据 torch-npu 的安装页面说明,如有必要,安装推荐版本或更新版本的 Linux 内核。
按照适用于您特定平台的说明,继续安装 Ascend Basekit。该软件包包含驱动程序、固件以及 CANN(Controlled Access Network)组件。
接下来,请按照安装 页面上针对特定平台的说明来安装torch-npu所需的包。
最后,请按照ComfyUI在Linux系统上的手动安装 指南进行操作。所有组件安装完成后,即可按照之前的说明运行ComfyUI。
Cambricon MLU(门阵列单元)
适用于兼容 Cambricon Extension for PyTorch (torch_mlu) 的模型。以下是根据您的平台和安装方法定制的逐步指南:
按照安装 中针对相应平台的说明来安装Cambricon CNToolkit。
接下来,按照安装 中的说明安装PyTorch(torch_mlu)。
通过运行 python main.py 来启动 ComfyUI。
适用于兼容 PyTorch 的 Iluvatar 扩展的模型。以下是根据您的平台和安装方法定制的逐步指南:
按照安装 中针对特定平台的说明来安装Iluvatar Corex工具包。
通过运行 python main.py 来启动 ComfyUI。
💎 六、总结
ComfyUI 以其独特的节点式工作流、极高的灵活性和控制精度 ,在 Stable Diffusion 生态中占据了重要地位,尤其受到进阶用户和研究者的青睐。虽然学习曲线相对陡峭,但一旦掌握,它所能带来的创作自由度和效率提升是显著的。
无论你是想深入研究 AI 图像生成的奥秘,还是需要精细控制每一个生成环节,ComfyUI 都是一个非常强大且值得尝试的工具。其活跃的社区和丰富的扩展生态也在不断推动其向前发展。