ARTICLE DETAIL

资讯详情

深耕郑州网站建设与运营推广的一线实战洞察。

ComfyUI 从零部署与节点式工作流搭建指南

ComfyUI 从零部署与节点式工作流搭建指南 最近在尝试用 Stable Diffusion 生成图片和视频时你是否也厌倦了 WebUI 那略显复杂的界面和偶尔不稳定的插件或者你是否渴望一种更灵活、更可控、更能体现“程序化”思维的 AI 图像生成方式如果你有这些想法那么ComfyUI绝对值得你投入时间学习。ComfyUI 以其节点式、可视化的工作流搭建方式将 AI 图像生成的每一步都清晰地展现在你面前。它不仅是 Stable Diffusion 的另一种前端更是一种全新的创作范式。从基础的文生图、图生图到复杂的动画制作、多模型融合一切皆可通过连接不同的“节点”来实现。本文将为你提供一份从零开始的超详细指南涵盖ComfyUI 本地环境部署、插件安装、核心节点搭建并手把手教你构建第一个工作流让你轻松驾驭这个强大的工具实现从静态图片到动态视频的创意输出。1. ComfyUI 核心概念与优势解析在深入动手之前我们先来理解 ComfyUI 到底是什么以及它为何能吸引众多开发者和高级用户。1.1 什么是 ComfyUIComfyUI 是一个基于节点图Node Graph的 Stable Diffusion 图形用户界面GUI和后台引擎。与 Automatic1111 的 WebUI 不同它将图像生成的每一个步骤如加载模型、编写提示词、设置采样器、解码图像等都抽象为独立的“节点”Node。用户通过连接这些节点的输入和输出端口构建出一个完整的图像生成“工作流”Workflow。你可以把它想象成Unreal Engine 的蓝图系统或Blender 的几何节点但应用在 AI 图像生成领域。这种设计带来了几个革命性的优势完全透明化你能看到数据潜空间、图像、条件等是如何在流程中流动和变化的便于理解和调试。极致灵活性你可以自由组合、循环、分支流程实现诸如多模型串联、图像迭代优化、复杂逻辑控制等高级操作。可复用与分享工作流可以保存为.json或.png文件轻松分享给他人或在不同的项目中复用。资源高效由于其非阻塞式设计和精细的流程控制在某些场景下比传统 WebUI 更节省显存运行更稳定。1.2 ComfyUI 与 WebUI 的核心区别为了让你更清晰地做出选择这里做一个简单对比特性ComfyUIAutomatic1111 WebUI交互方式节点式连接可视化编程表单填写按钮操作学习曲线较陡峭需要理解流程概念相对平缓直观易上手灵活性极高可自定义任意复杂流程较高但受限于插件和界面设计透明度完全透明每个步骤可见可控黑盒较多内部流程不可见资源占用通常更优可按需加载节点相对较高一次性加载较多功能主要用户开发者、技术爱好者、工作流创作者广大AI绘画爱好者、普通用户插件生态节点即插件管理相对清晰插件丰富但可能冲突简单来说如果你满足于“输入提示词点击生成”WebUI 很棒。但如果你想深入控制生成过程、构建自动化流水线或实现独特效果ComfyUI 是更强大的武器。1.3 核心术语节点、工作流、管理器节点 (Node)构成工作流的基本功能单元。例如Load Checkpoint加载模型、CLIP Text Encode编码提示词、KSampler采样器。工作流 (Workflow)由多个节点通过连线连接而成的完整图像生成流程。它定义了从输入到输出的所有步骤。ComfyUI Manager一个至关重要的插件用于管理安装、更新、删除其他自定义节点和模型是扩展 ComfyUI 能力的核心工具。理解了这些我们就可以开始准备战斗环境了。2. 环境准备与部署方案选择部署 ComfyUI 有多种方式我们将介绍最主流的两种并详细讲解手动部署流程这是理解其运行原理的最佳途径。2.1 方案对比一键包 vs 手动部署部署方案优点缺点适合人群秋叶一键整合包下载即用内置常用插件和模型对新手极其友好版本可能非最新自定义程度低依赖包管理不透明绝对新手希望最快速度体验手动部署版本可控环境干净深度理解依赖便于后续开发和调试步骤较多需要命令行基础开发者、学习者追求纯净和可控环境强烈建议即使你是新手如果条件允许也尝试手动部署一次。这能帮你扫清未来90%的环境问题。2.2 手动部署 ComfyUIWindows以下是基于 Windows 系统使用 Python 3.10 的详细步骤。其他系统Linux/macOS步骤类似主要区别在命令前缀和路径。2.2.1 前置条件检查Python 3.10-3.11这是目前 Stable Diffusion 相关生态最稳定的版本。请从 python.org 下载并安装务必勾选“Add Python to PATH”。Git用于克隆代码仓库。从 git-scm.com 下载安装。NVIDIA 显卡驱动确保你的驱动是最新的以支持 CUDA。打开命令提示符CMD或 PowerShell验证安装python --version # 应输出 Python 3.10.x 或 3.11.x git --version # 应输出 git 版本号2.2.2 克隆仓库与创建虚拟环境虚拟环境可以隔离项目依赖避免污染系统Python。# 1. 选择一个你喜欢的目录例如 D:\AI_Tools cd D:\AI_Tools # 2. 克隆官方 ComfyUI 仓库 git clone https://github.com/comfyanonymous/ComfyUI.git # 3. 进入 ComfyUI 目录 cd ComfyUI # 4. 创建虚拟环境命名为 venv你也可以用其他名字 python -m venv venv # 5. 激活虚拟环境 # 在 CMD 中 venv\Scripts\activate # 在 PowerShell 中 .\venv\Scripts\Activate.ps1 # 激活后命令行前缀会变成 (venv)2.2.3 安装 PyTorch 与依赖PyTorch 需要根据你的 CUDA 版本选择。首先查看你的 CUDA 版本在 NVIDIA 控制面板或通过nvidia-smi命令查看。# 激活虚拟环境后安装 PyTorch # 以 CUDA 11.8 为例访问 https://pytorch.org/get-started/locally/ 获取最新命令 # 以下命令适用于 CUDA 11.8 pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu118 # 安装 ComfyUI 的其他核心依赖 pip install -r requirements.txt如果网络不佳可以使用-i https://pypi.tuna.tsinghua.edu.cn/simple换源加速。2.2.4 放置基础模型ComfyUI 不会自带模型你需要将已有的 Stable Diffusion 模型文件.safetensors或.ckpt放入指定文件夹。在ComfyUI目录下找到models文件夹。将你的大模型如sd_xl_base_1.0.safetensors放入models/checkpoints目录。将 VAE 模型可选放入models/vae目录。将 LoRA 模型放入models/loras目录。将 ControlNet 模型放入models/controlnet目录。目录结构应类似ComfyUI/ ├── models/ │ ├── checkpoints/ │ │ └── your_model.safetensors │ ├── vae/ │ ├── loras/ │ └── controlnet/ ├── venv/ └── ...2.2.5 启动 ComfyUI一切就绪后启动它# 确保在 ComfyUI 目录下且虚拟环境已激活 python main.py启动成功后命令行会输出本地访问地址通常是http://127.0.0.1:8188。用浏览器打开这个地址你将看到 ComfyUI 的空白节点画布界面。恭喜最纯净的 ComfyUI 环境已经搭建完成。3. 插件生态与 ComfyUI Manager 安装原版 ComfyUI 只提供最核心的节点。强大的功能依赖于社区开发的海量自定义节点插件。而管理这些插件的最佳工具就是ComfyUI Manager。3.1 安装 ComfyUI Manager由于 ComfyUI 本身没有内置插件市场我们需要手动安装 Manager。进入 ComfyUI 的custom_nodes目录。这是所有第三方节点的家。cd ComfyUI/custom_nodes使用 Git 克隆 Manager 的仓库git clone https://github.com/ltdrdata/ComfyUI-Manager.git重启 ComfyUI 服务在命令行按CtrlC停止再重新运行python main.py。刷新浏览器页面你应该能在界面上看到多了一个“Manager”按钮。3.2 使用 Manager 安装其他插件Manager 极大地简化了插件的安装、更新和移除流程。点击界面上的“Manager”按钮。切换到“Install Node(s)”标签页。你可以通过搜索框查找插件如ComfyUI-Impact-Pack,ComfyUI-AnimateDiff-Evolved。找到后点击插件右边的“Install”按钮。安装完成后必须重启 ComfyUI才能使新节点生效。重要提示安装插件本质上就是克隆一个 Git 仓库到custom_nodes目录下。因此你也可以通过直接克隆仓库的方式手动安装任何插件。3.3 推荐必备插件清单以下插件能显著提升你的 ComfyUI 体验和能力ComfyUI-Impact-Pack功能巨无霸包含细节修复、人脸修复、分段、检测器等大量实用节点。ComfyUI-AnimateDiff-Evolved制作 AI 动画视频的核心插件。ComfyUI-Advanced-ControlNet提供更强大的 ControlNet 控制节点。ComfyUI-InstantID或ComfyUI-IPAdapter用于人脸一致性生成。efficiency-nodes-comfyui提供能提升工作流效率的节点如通配符处理、逻辑判断等。ComfyUI-KJNodes提供各种图像处理、工具类和工具节点。建议先安装Impact-Pack和AnimateDiff它们覆盖了最常用的高级功能。4. 核心节点详解与第一个工作流搭建现在让我们认识一些最核心的节点并搭建一个最简单的文生图工作流。这是理解 ComfyUI 逻辑的关键。4.1 认识基础节点在空白处右键选择 “Add Node”可以看到节点分类。我们关注以下几个load checkpoint位于Loaders类别。用于加载 Stable Diffusion 大模型。CLIP Text Encode (Prompt)位于Conditioning类别。用于将你的正面/负面提示词编码为模型能理解的条件。KSampler位于Sampling类别。这是生成过程的核心设置采样器、步数、CFG 等参数。VAE Decode位于Latent类别。将采样器输出的“潜空间”数据解码成最终的像素图像。Save Image位于Image类别。将生成的图像保存到磁盘。4.2 搭建最小文生图工作流让我们像搭积木一样连接这些节点。步骤 1添加并设置节点右键 - Add Node -Loaders-Load Checkpoint。在节点上选择你放入checkpoints文件夹的模型。右键 - Add Node -Conditioning-CLIP Text Encode。添加两个一个用于正面提示词prompt一个用于负面提示词negative prompt。在节点的text输入框内填写内容。右键 - Add Node -Sampling-KSampler。设置steps步数如20、cfg如7、sampler_name如dpmpp_2m、scheduler如karras。右键 - Add Node -Latent-VAE Decode。右键 - Add Node -Image-Save Image。步骤 2连接节点关键连线代表了数据流。用鼠标从一个节点的输出端口右侧拖拽到另一个节点的输入端口左侧。将Load Checkpoint节点的MODEL输出连接到KSampler的model输入。CLIP输出分别连接到两个CLIP Text Encode节点的clip输入。VAE输出连接到VAE Decode节点的vae输入。将CLIP Text Encode (正面)节点的CONDITIONING输出连接到KSampler的positive输入。将CLIP Text Encode (负面)节点的CONDITIONING输出连接到KSampler的negative输入。将KSampler节点的LATENT输出连接到VAE Decode节点的samples输入。将VAE Decode节点的IMAGE输出连接到Save Image节点的images输入。步骤 3生成图像确保KSampler节点的seed是随机的或设为一个固定值。点击右下角的“Queue Prompt”按钮。观察命令行窗口的进度完成后图像会显示在Save Image节点上并自动保存到ComfyUI/output目录。你的第一个工作流就完成了它清晰地展示了数据流向模型和CLIP被加载提示词被编码为条件采样器在潜空间生成数据最后通过VAE解码为图像。4.3 工作流的保存与加载保存点击右侧的“Save”按钮可以将当前画布上的所有节点和连接保存为一个.json文件。你也可以点击“Save (API Format)”。加载点击“Load”按钮选择之前保存的.json文件即可完整还原工作流。嵌入图像ComfyUI 还有一个神奇功能你可以将整个工作流信息嵌入到生成的 PNG 图像中。只需使用Load Image节点加载这种 PNG然后点击“Load Workflow from Image”按钮工作流就会被自动解析并加载到画布上。这是分享工作流最方便的方式。5. 进阶工作流搭建图生图与 LoRA 应用掌握了基础我们来构建更实用的工作流。5.1 构建图生图工作流图生图的核心是有一个初始图像输入并影响生成过程。在基础文生图工作流上修改。添加节点Load Image位于image类别用于加载你的输入图片。添加节点VAE Encode位于latent类别用于将像素图像编码为潜空间数据。连接Load Image-VAE Encode的pixels输入。将Load Checkpoint的VAE也连接到VAE Encode的vae输入。将VAE Encode输出的LATENT连接到KSampler的latent_image输入。注意这会覆盖掉KSampler节点自带的空潜空间输入。调整KSampler的denoise参数降噪强度控制原图的影响程度1.0表示完全重绘0.0表示几乎不变。5.2 集成 LoRA 模型LoRA 是一种轻量化的模型微调方式用于定制风格或人物。添加节点Load LoRA位于Loaders类别。连接将Load Checkpoint的MODEL和CLIP输出分别连接到Load LoRA的model和clip输入。在Load LoRA节点上选择你的 LoRA 文件需放在models/loras下并设置强度strength_model和strength_clip通常设为相同值如0.8。将Load LoRA输出的MODEL和CLIP分别连接到后续的KSampler和CLIP Text Encode节点。现在你的提示词将受到 LoRA 特性的影响。6. 常见问题与深度排错指南使用 ComfyUI 过程中你一定会遇到各种问题。这里列出高频问题及其解决方案。6.1 启动与加载问题问题现象可能原因解决方案启动时提示No module named ‘torch’虚拟环境未激活或 PyTorch 未在当前环境安装1. 确认命令行前缀有(venv)。2. 在激活的 venv 中重新执行pip install torch ...启动后网页空白或无法连接端口被占用或防火墙阻止1. 尝试更换端口python main.py --port 8189。2. 检查防火墙设置允许 Python 入站连接。加载模型时报错或崩溃模型文件损坏或模型类型与节点不匹配1. 重新下载模型。2. 确认 SD1.5、SDXL 模型与对应工作流匹配。3. 检查显存是否不足。节点缺失或显示为红色自定义节点未安装或其依赖未安装1. 通过 Manager 安装对应节点。2. 重启 ComfyUI。3. 查看命令行错误手动安装缺失的Python包如pip install opencv-python。关于“请安装缺失的包以使用此工作流”这是最常见的问题之一。当加载别人分享的工作流时如果缺少必要的自定义节点ComfyUI 会提示。解决方案仔细阅读错误信息找到缺失的节点名称。打开 ComfyUI Manager在 “Install Node(s)” 标签页搜索该节点名称并安装。如果 Manager 里找不到可能需要根据错误提示中的 GitHub 仓库地址手动克隆到custom_nodes目录。安装后务必重启 ComfyUI。6.2 生成过程问题问题现象可能原因解决方案生成图像全黑或全灰VAE 未正确连接或选择错误检查Load Checkpoint的VAE输出是否连接到VAE Decode。尝试切换不同的 VAE 模型。提示词似乎没效果CLIP 连接断开或文本编码节点未连接检查Load Checkpoint的CLIP输出是否连接到CLIP Text Encode并且后者的输出是否连接到KSampler。报错CUDA out of memory显存不足1. 减小生成分辨率。2. 使用--lowvram参数启动python main.py --lowvram。3. 使用性能更优的采样器如dpmpp_2m。4. 关闭其他占用显存的程序。生成速度异常慢使用了计算复杂的采样器或 CPU 模式运行1. 检查命令行确认是否使用了 GPU。2. 更换为dpmpp_2m等快速采样器。3. 减少步数。6.3 插件与工作流问题问题现象可能原因解决方案安装了插件但节点不出现插件安装路径错误或需要重启1. 确认插件文件夹在custom_nodes内。2.重启 ComfyUI是最关键的步骤。3. 检查插件是否与当前 ComfyUI 版本兼容。加载他人工作流后连线混乱节点版本差异或缺失1. 先确保所有依赖节点已安装。2. 使用 Manager 的 “Update All” 功能更新节点。3. 手动删除错误节点从 Add Node 菜单重新添加正确版本。Save Image 节点不保存图片输出目录权限问题或节点未正确触发1. 检查ComfyUI/output文件夹是否存在且有写入权限。2. 确保VAE Decode的输出确实连到了Save Image。3. 尝试使用Preview Image节点先查看结果。7. 最佳实践与工程化建议当你熟悉基础操作后遵循以下实践能让你的 ComfyUI 使用体验更高效、更稳定。7.1 工作流设计与组织模块化设计将常用的功能组如高清修复、人脸修复、调色封装成子工作流使用Group功能让主工作流更清晰。善用注释和标签右键画布可以添加注释框对复杂区域进行说明。为重要的参数如种子、强度添加标签便于识别和调整。版本化管理将你的工作流.json文件用 Git 管理起来记录每次有意义的修改。备份关键配置对于调试好的、包含特定模型和参数组合的工作流务必保存。你可以将其与生成的效果图一起归档。7.2 性能与资源优化使用Empty Latent Image对于文生图使用此节点指定初始分辨率比先加载一张大图再编码更节省资源。理解缓存ComfyUI 会缓存节点计算结果。修改上游节点参数后其下游所有节点会重新计算。合理规划节点顺序可以减少不必要的重复计算。按需加载节点启动时ComfyUI 会加载所有已安装节点的定义。如果安装了大量不用的插件可能会略微增加启动时间。保持custom_nodes目录的整洁。命令行参数--lowvram低显存模式将计算分块进行。--cpu强制使用 CPU极慢仅用于调试。--port xxxx指定运行端口。--listen允许局域网内其他设备访问。7.3 模型与文件管理规范的目录结构严格遵守models下的子目录分类checkpoints, vae, loras, controlnet等。可以创建符号链接将模型库指向一个统一的存储位置避免重复占用磁盘空间。定期清理输出output文件夹会快速增长。建议定期清理或修改默认输出路径。模型来源安全只从可信来源如 Civitai、Hugging Face 官方下载模型防止恶意代码。7.4 进阶学习路径掌握 Impact Pack这是你的瑞士军刀学习其 Inpaint局部重绘、Detailer细节修复、Segmentation语义分割节点。探索 AnimateDiff学习制作短视频。理解运动模块Motion Module、上下文长度、帧插值等概念。学习 ControlNet在 ComfyUI 中应用 ControlNet如 Canny, Depth, OpenPose进行精准构图控制。研究工作流逻辑尝试使用efficiency节点包中的逻辑节点如 If/Else, Switch实现条件化生成。对接外部 APIComfyUI 本身提供 API。学习如何通过 Python 脚本调用你的工作流实现批量生成或集成到其他应用中。ComfyUI 的魅力在于它将 AI 图像生成从“黑盒魔法”变成了“可视化工程”。最初的节点连线可能会让你感到困惑但一旦理解其数据流思想你就会获得前所未有的控制力和创造力。从搭建第一个文生图工作流开始逐步尝试集成 LoRA、ControlNet再到挑战动画制作每一步的探索都会加深你对 Stable Diffusion 本身的理解。
返回列表