ComfyUI从零到一:基于秋叶整合包的Stable Diffusion节点式工作流实战指南
这次我们来看一个关于 ComfyUI 的完整入门到进阶教程。ComfyUI 作为 Stable Diffusion 领域一个极具潜力的图形化节点式界面正吸引着越来越多希望获得更精细控制和更高效率的用户。它的核心优势在于将 AI 图像/视频生成过程拆解为一个个可视化的“节点”通过连线构建出复杂且可复用的“工作流”。对于想要从 WebUI 进阶或追求稳定、批量、自动化生成的朋友来说掌握 ComfyUI 是必经之路。本教程将围绕“秋叶一键整合包”这个对新手最友好的起点带你完成从零开始的完整部署、插件安装、节点搭建直到能独立搭建工作流并生成图片和 AI 视频。整个过程重点关注实操环境怎么配、插件怎么装、工作流怎么导入和修改、常见坑怎么避。无论你是想提升出图效率还是为未来的 AI 视频生成做准备这篇文章都能提供一条清晰的路径。1. 核心能力速览在深入细节之前我们先快速了解 ComfyUI 及其配套整合包的核心特性帮助你判断是否值得投入时间学习。能力项说明项目类型基于节点的 Stable Diffusion 图形化界面用于文生图、图生图、AI视频生成等。核心优势工作流可视化、可保存/复用、执行逻辑清晰、资源利用高效、支持复杂管线。推荐起点秋叶 ComfyUI 一键整合包内置 Python、Git、常用插件和模型管理。硬件门槛显存需求基础文生图建议 4GB复杂工作流或视频生成建议 8GB。支持 NVIDIA GPU含 40系也支持纯 CPU 模式速度慢。启动方式一键启动脚本run_nvidia_gpu.bat或run_cpu.bat自动处理依赖和端口。主要功能文生图、图生图、局部重绘、ControlNet、LoRA 模型调用、多模型融合、基础动画/视频生成。扩展能力通过ComfyUI Manager安装海量社区插件无限扩展节点功能。是否支持 API支持提供原生 API 接口可用于自动化脚本或与其他应用集成。是否支持批量原生支持可通过图像加载节点或文本读取节点实现目录批量处理。适合场景追求生成流程稳定可控的用户、需要批量处理任务的创作者、希望将 AI 生成集成到工作流中的开发者、WebUI 进阶学习者。2. 适用场景与使用边界ComfyUI 并非适合所有人明确其边界能帮你更好地决策。它非常适合以下场景流程固化与复用当你有一套固定的、参数复杂的出图流程例如固定的人物风格背景高清修复可以将其保存为工作流下次一键加载无需重复设置。批量稳定产出对于电商图、角色设定图等需要风格一致、批量生成的任务ComfyUI 的工作流能保证每次生成的流程完全一致减少随机性。深入理解生成过程节点式界面让你清晰地看到从提示词输入、模型加载、VAE 解码到最终输出的每一步是学习 Stable Diffusion 原理的绝佳工具。资源优化与进阶控制可以更精细地控制显存使用例如分步加载模型并集成 ControlNet、IP-Adapter 等多重控制网络实现精准的图像控制。自动化与集成通过其 API可以将 ComfyUI 作为后端服务集成到自己的工具链或平台中。它可能不适合以下情况追求极致简单、快速试错如果你只是想快速输入几个词看看效果WebUI 的交互可能更直观、更快。硬件资源极其有限虽然比 WebUI 更省显存但运行复杂工作流尤其是视频仍需一定的 GPU 性能。完全零基础的纯小白需要一点耐心来理解节点、连线的基本逻辑但秋叶整合包大大降低了入门门槛。重要合规与安全边界版权与授权使用 ComfyUI 生成图像或视频时务必确保你的训练数据、参考图以及最终生成内容不侵犯他人肖像权、著作权等合法权益。商用前请进行充分的合规审查。模型来源从正规渠道下载模型文件警惕恶意软件。秋叶整合包通常不包含模型本体需要用户自行下载放置。隐私保护处理涉及人脸的图像时特别是在进行图生图或训练 LoRA 时必须获得当事人的明确授权并遵守相关法律法规。3. 环境准备与前置条件开始之前请确保你的系统环境满足基本要求并准备好必要的资源。操作系统Windows 10/11 64位本教程主要基于 Windows。macOS 和 Linux 也可运行 ComfyUI但部署方式不同。硬件要求GPU推荐NVIDIA GPU显存 4GB 及以上。确保已安装较新版本的显卡驱动。CPU备用如果无 GPU 或显存不足可使用 CPU 模式运行但生成速度会非常慢。磁盘空间至少准备 20GB 可用空间用于存放整合包、Python 环境、插件以及后续下载的模型文件模型文件通常很大一个基础大模型约 2-7GB。网络环境需要稳定的网络连接用于下载整合包、插件以及通过 ComfyUI Manager 在线安装节点。必要资源秋叶 ComfyUI 一键整合包这是核心它集成了 Python、Git、Pip 以及一些预配置避免了手动配置环境的繁琐。你需要从可靠的来源如秋叶的发布页面获取最新版本的整合包压缩文件。基础模型文件例如 Stable Diffusion 1.5、SDXL 或你喜欢的任何 Checkpoint 模型。你需要提前从 CivitAI、Hugging Face 等平台下载并知道如何放置。4. 安装部署与启动方式我们将以秋叶整合包为例展示最简化的部署流程。4.1 获取与解压整合包从可信源下载名为类似ComfyUI_windows_portable_nvidia_vX.X.X.7z的整合包文件。将其解压到一个英文路径、无空格的目录下例如D:\AI_Tools\ComfyUI。路径中包含中文或空格可能导致一些未知错误。4.2 放置模型文件整合包解压后其内部结构已经预设好。你需要将下载的模型文件放入对应的文件夹大模型 (Checkpoint)放入ComfyUI\models\checkpoints\目录。VAE 模型放入ComfyUI\models\vae\目录。LoRA 模型放入ComfyUI\models\loras\目录。ControlNet 模型放入ComfyUI\models\controlnet\目录。其他模型如 Upscale超分模型、IP-Adapter 模型等放入ComfyUI\models下相应的子目录。4.3 一键启动服务进入解压后的ComfyUI目录你会看到几个启动脚本run_nvidia_gpu.bat推荐使用 NVIDIA GPU 运行。run_cpu.bat使用 CPU 运行速度慢。run_cuda.bat备用 GPU 启动脚本。首次启动步骤双击run_nvidia_gpu.bat。首次运行会自动安装必要的 Python 依赖包这需要一些时间请耐心等待命令行窗口自动运行完成。当看到类似“Running on local URL: http://127.0.0.1:8188”的输出时表示启动成功。打开浏览器访问http://127.0.0.1:8188即可看到 ComfyUI 的界面。启动参数说明高级如果需要自定义端口或监听地址可以编辑extra_model_paths.yaml或直接修改启动脚本。更常见的做法是编辑ComfyUI目录下的comfy.bat或main.py的启动参数。例如想改用 7860 端口可以在启动命令后添加--port 7860。5. 功能测试与效果验证成功启动后我们从最基础的工作流开始测试验证整个环境是否正常工作。5.1 基础文生图测试这是验证环境是否就绪的最快方法。清空画布启动后界面中间可能有一个示例工作流。点击菜单栏的Clear清空所有节点。加载基础工作流点击右侧的Load按钮。在弹出的默认对话框中选择example/workflows文件夹下的basic_api_workflow.json并加载。这是一个极简的文生图工作流。认识节点加载后你会看到几个关键节点CheckpointLoaderSimple加载你放在checkpoints文件夹里的大模型。CLIP Text Encode (Prompt)和CLIP Text Encode (Negative)分别输入正向和负向提示词。KSampler核心采样器设置采样步数、CFG 值等。VAEDecode和Save Image解码并保存图片。配置参数并生成在CheckpointLoaderSimple节点点击选择你已放入的模型如sd_xl_base_1.0.safetensors。在CLIP Text Encode (Prompt)节点的文本框输入正向提示词例如“masterpiece, best quality, a cute cat, on the grass”。在CLIP Text Encode (Negative)节点输入负向提示词例如“worst quality, low quality”。点击界面最下方的Queue Prompt按钮。观察结果右侧会显示生成进度。完成后生成的图片会显示在预览区域。图片会自动保存到ComfyUI\output目录下文件名包含时间戳。成功标准能正常加载模型、无报错、成功生成一张符合提示词的图片。5.2 插件安装与管理器使用ComfyUI 的强大在于插件生态。我们使用ComfyUI Manager来安装和管理插件。确认 Manager 已安装秋叶整合包通常预装了 ComfyUI Manager。启动后在界面上寻找一个类似“商店”或“工具箱”的图标或者查看节点列表里是否有Manager相关节点。通过 Manager 安装插件点击Manager图标打开管理器界面。切换到Install Custom Nodes标签页。在搜索框中输入你想安装的插件名例如“ComfyUI-Impact-Pack”一个功能强大的工具包。找到后点击其右侧的Install按钮。管理器会自动从 GitHub 克隆仓库并安装。安装完成后必须重启 ComfyUI 服务关闭命令行窗口重新运行run_nvidia_gpu.bat新安装的节点才会出现在节点列表中。手动安装插件备用如果某个插件不在 Manager 列表或安装失败可以手动安装。将插件仓库克隆或下载到ComfyUI\custom_nodes\目录下。通常插件目录内会有一个__init__.py文件。同样重启 ComfyUI 服务。5.3 加载与使用复杂工作流社区分享的.json或.png工作流文件是快速上手的捷径。获取工作流文件从 CivitAI、Reddit 或相关社区下载你喜欢的工作流文件.json或.png。加载工作流对于.json文件直接点击界面上的Load按钮选择文件即可。对于.png文件ComfyUI 支持将工作流信息嵌入图片。只需将图片拖拽到 ComfyUI 界面上它就会自动解析并重建工作流。这是最方便的分享方式。解决缺失节点加载外部工作流时最常见的问题是提示“Missing Nodes”。这意味着你的环境中没有安装工作流所需的插件。仔细阅读错误信息它会告诉你具体缺失哪个自定义节点Custom Node。打开 ComfyUI Manager在Install Custom Nodes标签页搜索缺失的节点名称进行安装。有时需要根据错误提示的 GitHub 仓库地址手动安装。安装所有缺失节点后重启 ComfyUI 再重新加载工作流。运行与调整工作流加载成功后你可以观察其结构尝试修改提示词、采样器参数、切换模型等然后点击Queue Prompt运行理解每个节点的作用。5.4 初步尝试图生图与 ControlNet在掌握了基础后可以测试更高级的控制功能。构建简单图生图流程清空画布从节点菜单添加Load Image节点上传一张图片。添加VAEEncode节点将Load Image输出的IMAGE连接到VAEEncode的pixels。将VAEEncode输出的LATENT连接到KSampler的latent_image输入替换掉原来的Empty Latent Image节点。这样采样器就会基于你上传的图片的潜空间表示进行生成实现图生图。引入 ControlNet你需要先安装 ControlNet 相关的自定义节点如comfyui_controlnet_aux并将 ControlNet 模型放入对应文件夹。在工作流中在KSampler之前插入 ControlNet 应用节点。流程通常是Load Image(控制图) -ControlNetLoader(加载对应预处理器和模型) -ControlNetApply-KSampler。通过这种方式可以用线稿、深度图、姿态图等精确控制生成图像的构图。6. 接口 API 与批量任务ComfyUI 不仅是一个 GUI 工具更是一个强大的自动化后端。6.1 API 接口调用ComfyUI 原生支持 WebSocket 和 HTTP POST API。最常用的是通过 HTTP API 提交工作流 JSON。获取当前工作流的 API 格式在 ComfyUI 界面中搭建好你的工作流。点击右侧菜单的Save (API Format)按钮这将保存一个专为 API 调用设计的.json文件。这个文件包含了所有节点的连接信息和参数。编写 Python 调用脚本import requests import json import time import uuid # ComfyUI 服务器地址 server_address 127.0.0.1:8188 def queue_prompt(prompt): 提交工作流到队列 p {prompt: prompt} data json.dumps(p).encode(utf-8) req requests.post(fhttp://{server_address}/prompt, datadata) return req.json() def get_history(prompt_id): 根据提示ID获取生成历史 req requests.get(fhttp://{server_address}/history/{prompt_id}) return req.json() # 1. 加载你通过 Save (API Format) 保存的工作流文件 with open(your_workflow_api.json, r, encodingutf-8) as f: prompt_data json.load(f) # 2. 可以动态修改工作流中的参数例如提示词 # 假设你的正向提示词节点ID是 6 prompt_data[6][inputs][text] a beautiful landscape, sunset, mountains # 3. 提交任务 print(提交生成任务...) response queue_prompt(prompt_data) prompt_id response[prompt_id] print(f任务ID: {prompt_id}) # 4. 轮询查询结果 print(等待生成完成...) while True: history get_history(prompt_id) if prompt_id in history: outputs history[prompt_id][outputs] for node_id in outputs: if images in outputs[node_id]: for image in outputs[node_id][images]: filename image[filename] subfolder image[subfolder] print(f图片已生成: {subfolder}/{filename}) break time.sleep(1) # 每秒查询一次 print(任务完成)这个脚本演示了如何提交工作流并获取生成的图片信息。你可以在此基础上扩展实现循环、多参数批量生成等。6.2 批量任务处理对于本地批量处理ComfyUI 本身可以通过节点组合实现。使用LoadImage节点批量读取你可以使用LoadImage节点并将其image输入设置为一个目录路径某些插件节点支持或者使用ImageFromPath等节点配合迭代器节点来实现。更推荐的方式脚本驱动对于复杂的批量任务更可靠的方式是使用上述的 API。编写一个 Python 脚本读取一个包含所有提示词或图片路径的 CSV/TXT 文件。循环读取每一行。在循环内加载基础的 API 工作流 JSON 模板。根据当前行的数据修改模板中对应节点的参数如提示词、图片路径。调用queue_prompt提交任务。可以加入简单的队列控制避免同时提交过多任务导致显存溢出。输出管理在 API 脚本中可以根据返回的图片信息将文件复制或移动到按任务分类的目录中便于管理。7. 资源占用与性能观察合理管理资源是稳定运行 ComfyUI 的关键。观察显存占用任务管理器在 Windows 下打开任务管理器进入“性能”选项卡选择 GPU查看“专用 GPU 内存”的使用情况。命令行工具使用nvidia-smi命令需安装 NVIDIA 驱动可以更详细地查看 GPU 使用率和显存占用。典型占用一个基础的 SDXL 文生图工作流在 1024x1024 分辨率下可能占用 6-8GB 显存。加载多个模型如同时加载 Base 和 Refiner或使用 ControlNet 会增加显存消耗。性能优化建议使用--lowvram或--normalvram模式在启动脚本的COMMANDLINE_ARGS中添加这些参数可以改变显存分配策略。--lowvram模式会频繁交换显存和内存速度慢但能在小显存卡上运行大模型。分步加载模型在工作流中合理安排节点让不用的模型及时卸载。例如先运行需要 Base 模型的步骤完成后断开连接再加载 Refiner 模型。降低分辨率生成分辨率是影响显存占用的最大因素。先用小图测试工作流成功后再尝试提高分辨率。关闭预览在复杂工作流中实时预览所有中间图像会消耗额外资源。可以在设置中关闭部分预览。端口与进程管理端口冲突如果 8188 端口被占用启动时会报错。可以修改启动参数中的--port例如改为--port 7861。进程残留如果非正常关闭如直接关闭命令行窗口ComfyUI 进程可能残留。下次启动前打开任务管理器结束所有python.exe进程或使用命令taskkill /f /im python.exe。8. 常见问题与排查方法以下是新手在部署和使用 ComfyUI 时最常遇到的问题及解决方法。问题现象可能原因排查方式解决方案启动脚本闪退1. 路径包含中文或空格。2. 显卡驱动太旧。3. 系统缺少运行库。查看cmd窗口闪退前的最后几行错误信息。可以尝试在cmd中手动进入目录运行python main.py看具体报错。1. 将整合包移动到纯英文、无空格路径。2. 更新 NVIDIA 显卡驱动。3. 安装 Microsoft Visual C Redistributable。访问http://127.0.0.1:8188失败1. 服务未成功启动。2. 防火墙阻止。3. 端口被占用。检查启动命令行窗口是否还在运行并确认输出中有Running on local URL。1. 等待启动完成。2. 检查防火墙设置或尝试关闭防火墙测试。3. 修改启动脚本中的端口号。加载工作流提示“Missing Nodes”缺少必要的自定义节点插件。错误信息会明确告知缺失节点的名称。使用 ComfyUI Manager 搜索并安装对应节点或根据错误提示的 GitHub 地址手动安装。生成图片纯黑或纯灰1. VAE 模型不匹配或缺失。2. 模型本身有问题。检查VAEDecode节点是否连接了正确的 VAE或尝试切换其他 VAE 模型。1. 在CheckpointLoader节点中勾选自动加载 VAE或手动连接一个 VAE 节点。2. 更换其他大模型测试。生成速度极慢1. 意外运行在 CPU 模式。2. 使用了--lowvram模式。3. 图片分辨率设置过高。观察启动日志确认是否调用了 CUDA。查看任务管理器的 GPU 使用率。1. 确保使用run_nvidia_gpu.bat启动。2. 移除--lowvram参数如果显存足够。3. 适当降低生成分辨率。显存不足 (Out of Memory)1. 工作流过于复杂同时加载模型过多。2. 分辨率设置超出显卡能力。3. 批量大小 (batch size) 设置过大。使用nvidia-smi监控显存占用峰值。1. 简化工作流分步执行。2. 降低分辨率如从 1024 降至 768。3. 将 batch size 设为 1。4. 添加--medvram或--lowvram启动参数。插件安装后不显示插件安装后未重启 ComfyUI。检查custom_nodes目录下是否存在插件文件夹。安装任何插件后必须完全重启 ComfyUI 服务关闭窗口再重新启动。API 调用返回错误1. 工作流 JSON 格式错误。2. 节点 ID 引用错误。3. 服务器未就绪。仔细检查 API 调用的 JSON 结构确保与Save (API Format)保存的文件一致。1. 始终使用Save (API Format)保存的 JSON 作为模板。2. 确保在修改 JSON 时只改动inputs中的值不改变节点连接结构。9. 最佳实践与使用建议掌握基础操作后遵循一些最佳实践能让你的 ComfyUI 使用体验更顺畅、更高效。项目目录管理D:\AI_Workspace\ ├── ComfyUI/ # 秋叶整合包本体 ├── Models/ # 集中存放所有模型可软链接到 ComfyUI 内部目录 │ ├── checkpoints/ │ ├── loras/ │ └── controlnet/ ├── Workflows/ # 存放收集的 .json 和 .png 工作流文件 ├── Inputs/ # 存放待处理的输入图片 └── Outputs/ # 重定向 ComfyUI 的输出目录到此便于管理通过修改extra_model_paths.yaml配置文件可以将模型目录指向外部的Models文件夹实现多个 AI 工具如 WebUI 和 ComfyUI共享模型节省磁盘空间。工作流学习与备份从简单开始不要一开始就尝试加载极其复杂的工作流。从基础文生图、图生图开始逐步添加 ControlNet、LoRA 等节点理解每一步的作用。善用“另存为”在调整出一个满意的效果后立即使用Save或Save (API Format)保存工作流。可以附加描述性的文件名如“portrait_with_controlnet_and_lora.json”。备份custom_nodes如果你配置了一套稳定且常用的插件组合定期备份整个custom_nodes文件夹在重装系统或迁移时可以快速恢复。探索社区与资源CivitAI不仅是模型网站也有大量高质量的工作流分享。关注“Workflows”标签。Reddit (r/comfyui)活跃的社区有很多讨论和问题解答。YouTube 和 Bilibili搜索“ComfyUI 教程”有许多视频教程直观易懂。向 AI 视频工作流进阶 当你熟悉了静态图像生成后可以尝试 ComfyUI 的动画/视频工作流。这通常涉及安装专门的动画插件如ComfyUI-AnimateDiff-Evolved。使用LoadVideo或图像序列节点。配置运动模块Motion Modules。理解帧间一致性控制。 这是一个更专业的领域建议在图像工作流熟练后再进行探索。从秋叶一键整合包入手ComfyUI 的学习曲线被大大平滑。核心在于动手实践部署环境、加载一个简单工作流、生成第一张图、尝试安装一个插件、修改一个参数。遇到“Missing Nodes”错误是常态这正是你了解插件生态的机会。当你成功搭建出第一个属于自己的、能稳定产出特定风格图片的工作流时你会真正体会到节点式编程带来的掌控感和效率提升。建议将本文作为操作手册收藏在遇到具体问题时回来查阅对应的排查章节。