这次我们来看 ComfyUI 这个基于节点式工作流的 AI 图像生成工具。如果你对 Stable Diffusion 的 WebUI 已经熟悉,但想要更灵活的可视化流程控制、更低的显存占用和更好的批量任务管理,ComfyUI 值得一试。本文重点不是讲太多抽象概念,而是带你在本地环境快速部署、启动 ComfyUI,完成基础工作流搭建,并测试 AI 漫剧等实际应用场景的效果。
ComfyUI 最核心的特点是节点化的工作流设计。你可以把文生图、图生图、ControlNet、LoRA 加载、高清修复等步骤拆成独立的节点,通过连线方式组合成完整流程。这种设计不仅直观,而且对显存更友好——节点间数据流动时可以及时释放中间结果占用的显存。对于 6GB 或 8GB 显存的显卡,ComfyUI 通常比 WebUI 能处理更高分辨率或更复杂的流程。
另一个重点是 ComfyUI 支持完整的工作流导出和导入。一旦搭建好一个稳定可用的流程(比如 AI 漫剧生成流水线),你可以保存为 JSON 文件,下次直接加载,或分享给其他人使用。这对于团队协作或批量生产内容非常实用。
本文将基于最新的 ComfyUI 整合包(如秋叶整合包)演示从零安装、基础界面熟悉、简单文生图工作流搭建,再到 AI 漫剧工作流的设计与测试。过程中会重点说明显存占用观察、自定义节点安装、模型文件配置以及常见问题的排查方法。无论你是刚接触 ComfyUI 的新手,还是希望将 ComfyUI 用于实际项目开发,都可以按本文步骤操作。
1. 核心能力速览
| 能力项 | 说明 |
|---|---|
| 工作流类型 | 节点式可视化工作流编辑,支持文生图、图生图、局部重绘、ControlNet、LoRA、高清修复等 |
| 显存需求 | 比 WebUI 更节省显存,6GB 显存可进行 512x768 分辨率生成,8GB 显存可尝试 1024x1024 或简单 AI 漫剧流程 |
| 启动方式 | 一键启动(整合包)、命令行启动、自定义端口 |
| 模型支持 | 兼容 Stable Diffusion 1.5、SDXL、SD3 等多种模型,支持 LoRA、ControlNet、VAE 等扩展 |
| 批量任务 | 支持通过队列或输入目录批量生成,可保存/加载工作流 JSON |
| 接口 API | 提供本地 API 服务,支持外部程序调用工作流 |
| 适合场景 | 本地测试、批量图像生成、AI 漫剧制作、工作流研发、团队流程标准化 |
ComfyUI 适合那些希望更精细控制生成流程、需要可复用工作流、关注显存效率或准备将 AI 生图能力集成到自有工具中的用户。如果你只需要快速文生图,WebUI 可能更直接;但如果你打算做多步处理、角色一致性控制、长漫画生成等复杂任务,ComfyUI 的节点化设计会更有优势。
2. 适用场景与使用边界
ComfyUI 的核心价值在于可视化工作流编辑和可复用的流程设计。它特别适合以下场景:
- AI 漫剧制作:通过串联提示词生成、人物设定、场景切换、分镜生成等节点,实现半自动化的漫画或剧情图片生成。
- 批量形象定制:固定一个角色 LoRA 或 ControlNet 条件,批量生成该角色在不同场景、服装、动作下的图片。
- 实验性流程研发:需要反复调整采样器、步数、重绘幅度、ControlNet 权重等参数,观察中间结果的影响。
- 团队协作与流程固化:将验证好的工作流保存为 JSON 模板,团队成员加载后只需替换输入素材或提示词即可产出统一品质的内容。
但是,ComfyUI 也有明确的使用边界:
- 非实时交互工具:节点工作流需要预先搭建,不适合需要极快速单次生成或实时预览的场景。
- 学习曲线存在:虽然本文力求从零开始,但节点式界面仍需要一定学习成本,尤其是复杂流程的调试。
- 版权与合规性:生成内容涉及人物形象、商业标志、特定画风时,必须确认训练数据的授权情况,避免侵权风险。AI 漫剧如使用真人肖像或知名角色,需格外谨慎。
对于个人学习和非商用的创意实验,ComfyUI 提供了很大的灵活性;但如果用于商业发布,务必对生成内容进行人工审核,并确保符合相关平台的内容政策。
3. 环境准备与前置条件
在开始安装 ComfyUI 之前,请先检查你的本地环境是否满足以下条件:
操作系统
- Windows 10/11(推荐,整合包支持较好)
- Linux(需自行配置 Python 环境)
- macOS(支持但性能可能受限)
硬件要求
- GPU:NVIDIA 显卡(推荐),显存 4GB 起步,6GB 或以上可体验更复杂工作流;AMD 显卡可通过 DirectML 或 ROCm 支持,但需要额外配置。
- CPU:现代多核处理器,主要影响模型加载速度。
- 内存:16GB 或以上,如果处理高分辨率批量任务,建议 32GB。
- 磁盘空间:至少 10GB 可用空间,用于安装 ComfyUI 本体、Python 环境及基础模型;如果下载多个大模型(如 SDXL、SD3),需预留 30-50GB。
软件依赖
- Python 3.10 或 3.11(整合包通常自带便携版 Python,无需单独安装)
- Git(用于克隆自定义节点或更新版本)
- 显卡驱动:NVIDIA 用户请确保已安装最新版显卡驱动
网络环境
- 需要能够访问 Hugging Face 或 Civitai 等模型托管站点,以下载模型文件(如无法直接访问,需通过其他方式获取模型并手动放置到对应目录)。
如果你使用的是 Windows 系统,推荐直接下载 ComfyUI 整合包(如秋叶整合包),它已经包含了 Python 环境、常用自定义节点和模型管理工具,可以省去大量配置时间。
4. 安装部署与启动方式
ComfyUI 的安装主要有两种方式:使用整合包(推荐新手)和通过源码安装。这里我们以整合包为例,演示最快捷的启动流程。
4.1 下载整合包
- 从可靠来源(如秋叶的发布页)下载最新的 ComfyUI 整合包,通常是一个压缩文件(如
ComfyUI_windows_portable_nvidia_cu121_or_cpu.7z)。 - 解压到任意目录,注意路径不要包含中文或特殊字符。解压后的目录结构通常包含:
ComfyUI.exe或run_nvidia_gpu.bat(启动脚本)python_embeded(内置 Python 环境)ComfyUI(主程序目录)models(模型存放目录)
4.2 放置模型文件
ComfyUI 需要 Stable Diffusion 模型文件才能工作。如果你已有 WebUI 的模型,可以将其复制到 ComfyUI 的模型目录;如果没有,需手动下载。
- 进入解压后的目录,找到
models文件夹,其下应有checkpoints、loras、controlnet等子目录。 - 将你的基础模型(如
sd_xl_base_1.0.safetensors)放入models/checkpoints。 - 如需使用 LoRA 或 ControlNet,将相应模型文件放入
models/loras或models/controlnet。
4.3 启动 ComfyUI
- 双击
run_nvidia_gpu.bat(或类似名称的启动脚本),会打开一个命令行窗口。 - 首次启动可能会自动下载一些依赖项或缺失模型,请保持网络通畅。
- 当命令行显示类似 “* Running on http://127.0.0.1:8188” 的信息时,说明服务已启动。
- 打开浏览器,访问
http://127.0.0.1:8188(端口号以实际输出为准),即可看到 ComfyUI 的节点编辑器界面。
注意:如果端口 8188 已被占用,ComfyUI 会自动尝试其他端口(如 8189、8190等),请以命令行输出的实际访问地址为准。
4.4 源码安装方式(备选)
如果你希望使用最新源码或进行定制化开发,可以通过 Git 克隆和 Pip 安装:
# 克隆仓库 git clone https://github.com/comfyanonymous/ComfyUI.git cd ComfyUI # 创建虚拟环境(可选) python -m venv venv venv\Scripts\activate # Windows # source venv/bin/activate # Linux/macOS # 安装依赖 pip install -r requirements.txt # 启动服务 python main.py --port 8188这种方式需要你自行准备 Python 环境和模型文件,适合有一定经验的用户。
5. 界面熟悉与基础工作流搭建
首次打开 ComfyUI 界面,你会看到一个空白的画布。右侧通常有一个节点列表(如果没看到,可以按鼠标中键或点击右键选择 "Add Node")。
5.1 核心节点区域
- 画布:主要工作区,用于放置和连接节点。
- 节点列表:右键点击画布或按鼠标中键可展开,包含所有可用的节点类别。
- 工具栏:通常有加载/保存工作流、运行/停止队列、清除等按钮。
- 视图控制:鼠标滚轮缩放画布,按住右键拖拽平移。
5.2 搭建最简单的文生图工作流
一个最基础的文生图流程需要以下节点:
- Load Checkpoint:用于加载基础模型。从节点列表选择
Load Checkpoint并放置到画布上。 - CLIP Text Encode (Prompt):正面提示词输入。添加
CLIP Text Encode节点,将其连接到 Load Checkpoint 的clip输出。 - CLIP Text Encode (Negative Prompt):负面提示词输入。再添加一个
CLIP Text Encode节点,也连接到 Load Checkpoint 的clip输出。 - Empty Latent Image:指定生成图片的尺寸和批次。添加该节点,设置宽度、高度和批次大小。
- KSampler:采样器配置。添加
KSampler节点,将其model输入连接到 Load Checkpoint 的model输出,将positive和negative分别连接到两个 CLIP Text Encode 的clip输出,将latent_image连接到 Empty Latent Image 的latent输出。 - VAE Decode:将潜空间数据解码为图像。添加
VAE Decode节点,将其连接到 KSampler 的LATENT输出和 Load Checkpoint 的vae输出。 - Save Image:保存生成的图片。添加
Save Image节点,连接到 VAE Decode 的IMAGE输出。
连接完成后,你的工作流应形成一个有向无环图。点击 "Queue Prompt" 按钮,ComfyUI 会开始执行流程,并在 Save Image 节点指定的目录输出图片。
5.3 测试工作流
- 在正面提示词节点输入描述,例如 "masterpiece, best quality, 1girl, solo, white dress, garden"。
- 在负面提示词节点输入常见负面标签,例如 "nsfw, lowres, bad anatomy"。
- 在 KSampler 中设置采样步数(如 20)、CFG Scale(如 7)、采样器(如 Euler a)和种子。
- 点击 "Queue Prompt" 运行。
- 查看命令行窗口或界面右下角的进度提示,生成完成后,图片会保存到
ComfyUI/output目录(具体路径可在 Save Image 节点设置)。
这个基础工作流是后续所有复杂流程的起点,建议先确保它能正常运行。
6. AI 漫剧工作流搭建思路
AI 漫剧通常指通过 AI 生成具有连续剧情或分镜的图片序列。在 ComfyUI 中,我们可以通过工作流实现半自动化的漫剧生成,核心思路如下:
6.1 角色一致性控制
- LoRA 或 Textual Inversion:为特定角色训练或使用现成的 LoRA 模型,在提示词中通过触发词调用。
- Reference Only 或 IPAdapter:使用参考图控制生成人物的脸部、姿势或画风,确保多张图片中角色特征稳定。
6.2 分镜与场景管理
- 提示词模板:为不同场景(如室内、室外、战斗、对话)准备提示词模板,通过文本替换或节点参数输入。
- 背景控制:可以使用 ControlNet 的深度图或线稿控制场景构图,或使用区域提示词控制(如使用 Impact Pack 的 Segs 节点)。
6.3 连续性与批量生成
- 种子控制:固定种子可以确保同一角色在不同图片中的基础特征一致;微调种子可以产生合理的变化。
- 批量输入:通过从文本文件或列表节点读取多组提示词,配合批次生成,一次性产出多个分镜。
6.4 一个简单的漫剧工作流示例
- 角色加载节点:使用 Load Checkpoint 加载基础模型,并通过 Lora Loader 加载角色 LoRA。
- 提示词队列:使用 Impact Pack 的 "Text from File" 节点或自定义脚本节点,按行读取事先写好的分镜提示词。
- 循环或批次处理:通过 Primitive 节点控制生成批次,或将多个生成流程并行排列。
- 输出命名:使用 Save Image 节点,并根据提示词或序号自动命名输出文件,便于后续整理。
这个流程可以进一步扩展,例如加入自动语音合成、字幕叠加等节点,但核心是保持角色一致性和场景连贯性。首次尝试时,建议先做 3-5 张的短序列测试,验证工作流稳定性后再增加复杂度。
7. 自定义节点与插件管理
ComfyUI 的强大功能很大程度上依赖于自定义节点(插件)。常用的扩展包括:
- ComfyUI-Manager:插件管理器,可以浏览、安装、更新自定义节点。
- Impact Pack:提供一系列实用节点,如预览器、条件控制、批量处理等。
- ControlNet Auxiliary Preprocessors:更多的 ControlNet 预处理节点。
- WAS Node Suite:图像处理、文件操作等扩展功能。
7.1 安装 ComfyUI-Manager
- 进入 ComfyUI 安装目录下的
custom_nodes文件夹。 - 使用 Git 克隆管理器仓库:
git clone https://github.com/ltdrdata/ComfyUI-Manager.git - 重启 ComfyUI,界面上会出现一个额外的 "Manager" 按钮,点击可以打开插件管理界面。
7.2 通过管理器安装节点
- 打开 Manager,在 "Install Custom Nodes" 标签页搜索你需要的节点(如 "impact")。
- 点击 "Install" 按钮,管理器会自动下载并安装。
- 安装完成后,重启 ComfyUI,新节点的类别就会出现在右键菜单中。
7.3 手动安装节点
如果某个节点不在管理器列表中,可以手动安装:
- 将节点仓库克隆到
custom_nodes目录。 - 根据节点说明安装其依赖(通常有
requirements.txt文件)。 - 重启 ComfyUI。
安装自定义节点后,你的工作流搭建能力会大大增强,尤其是对于 AI 漫剧这类需要多步骤控制的场景。
8. 资源占用与性能观察
ComfyUI 在资源利用上通常比 WebUI 更高效,但具体占用取决于工作流复杂度、模型大小和生成参数。
8.1 显存占用观察
- 任务管理器:在 Windows 下,打开任务管理器,进入 "性能" 标签页,查看 GPU 显存使用情况。
- nvidia-smi:命令行工具,可以实时查看 GPU 利用率和显存占用。
- ComfyUI 进度提示:生成时,ComfyUI 会在界面右下角显示当前步骤和预估剩余时间。
一般来说:
- 空载时,ComfyUI 占用 1-2GB 显存(加载模型后)。
- 512x512 分辨率生成,显存占用约 3-4GB。
- 1024x1024 分辨率或 SDXL 模型,显存占用可能达到 6-8GB。
- 复杂工作流(多 ControlNet、高清修复)会显著增加显存需求。
8.2 性能优化建议
- 使用 --lowvram 参数:如果显存不足,在启动命令中加入
--lowvram,ComfyUI 会尝试更激进的内存管理。 - 分步执行复杂工作流:对于极其复杂的流程,可以拆成多个子工作流,分步执行并中间保存,避免单次显存溢出。
- 合理设置分辨率:不要盲目追求高分辨率,先在小分辨率下测试流程,确认无误后再尝试放大。
- 使用 CPU 卸载:一些节点支持将计算临时卸载到 CPU,但会大幅降低速度,仅在显存严重不足时考虑。
8.3 批量任务资源管理
当进行批量生成时(如生成漫剧多张分镜),注意:
- 控制同时生成的数量,避免队列堆积导致显存无法释放。
- 如果生成任务很多,可以考虑使用 ComfyUI 的 API 接口,外部程序控制生成节奏。
- 监控生成过程中的显存波动,如果发现显存占用持续上升,可能是工作流中存在内存泄漏,需要检查节点连接。
9. 接口 API 与批量任务
ComfyUI 提供了完整的 API 接口,允许外部程序通过 HTTP 请求触发工作流执行。这对于集成到其他应用或实现自动化批量任务非常有用。
9.1 启动 API 服务
ComfyUI 默认启动时就已经开启了 API 服务,访问地址为http://127.0.0.1:8188(端口可能不同)。你可以在启动参数中指定端口:
python main.py --port 80809.2 获取工作流 API 定义
- 在 ComfyUI 界面中搭建好工作流。
- 点击 "Save" 按钮保存工作流为 JSON 文件。
- 或者,点击 "Load" 按钮旁边的 "API" 按钮,可以查看当前工作流的 API 格式(包括节点ID、连接关系等)。
9.3 通过 Python 调用 API
以下是一个简单的 Python 示例,用于通过 API 执行工作流:
import requests import json def queue_prompt(prompt): # 替换为你的 ComfyUI 地址 url = "http://127.0.0.1:8188/prompt" headers = {"Content-Type": "application/json"} data = json.dumps({"prompt": prompt}) response = requests.post(url, headers=headers, data=data) return response.json() # 加载之前保存的工作流 JSON with open("my_workflow.json", "r") as f: prompt_data = json.load(f) # 可以动态修改提示词或参数 # prompt_data["6"]["inputs"]["text"] = "新的提示词" # 提交任务 result = queue_prompt(prompt_data) print("任务ID:", result["prompt_id"])9.4 批量任务设计思路
对于 AI 漫剧生成这类批量任务,可以这样设计:
- 准备输入数据:将每个分镜的提示词、参数保存在 CSV 或 JSON 文件中。
- 编写控制脚本:使用 Python 读取输入数据,循环调用 ComfyUI API。
- 任务状态监控:通过 ComfyUI 的
/history接口查询任务完成情况。 - 错误处理与重试:网络超时或生成失败时,自动重试或记录日志。
- 输出管理:按照分镜序号或场景自动命名输出文件,便于后续合成。
通过 API 方式,你可以将 ComfyUI 集成到更复杂的生产流水线中,实现全自动或半自动的漫剧生成。
10. 常见问题与排查方法
| 问题现象 | 可能原因 | 排查方式 | 解决方案 |
|---|---|---|---|
| 启动后页面无法访问 | 端口被占用或服务未正常启动 | 查看命令行窗口是否有错误信息 | 更换端口(如 --port 8189)或检查防火墙设置 |
| 节点缺失或报错 | 自定义节点未安装或版本不兼容 | 查看命令行错误日志,确认缺失的节点名称 | 通过 ComfyUI-Manager 安装对应节点,或检查节点兼容性 |
| 生成图片全黑或全灰 | VAE 未正确连接或模型不兼容 | 检查 VAE Decode 节点是否连接到模型的 VAE 输出 | 尝试连接不同的 VAE,或单独加载 VAE 模型 |
| 显存不足(OOM) | 工作流太复杂或分辨率过高 | 观察任务管理器中的显存占用峰值 | 降低分辨率、使用 --lowvram 参数、简化工作流 |
| 生成速度异常慢 | 使用了 CPU 模式或模型文件损坏 | 检查命令行是否显示 CUDA 相关错误 | 确认显卡驱动和 CUDA 版本,重新下载模型文件 |
| 加载工作流后节点错位 | 工作流 JSON 文件版本不匹配 | 比较 ComfyUI 版本和工作流创建版本 | 手动调整节点位置,或使用相近版本的 ComfyUI |
| 自定义节点不显示 | 安装路径错误或依赖缺失 | 检查 custom_nodes 目录结构,查看命令行启动日志 | 确认节点放置在正确目录,安装 requirements.txt |
其他常见问题注意事项:
- 模型文件格式:ComfyUI 支持
.safetensors、.ckpt等格式,但推荐使用.safetensors更安全。 - 中文路径问题:避免将 ComfyUI 安装在包含中文或特殊字符的路径下。
- 多显卡选择:如果你有多个 GPU,可以通过
--cuda-device参数指定使用的显卡序号。 - 更新 ComfyUI:如果使用整合包,注意备份你的工作流和自定义节点,更新时可能覆盖原有文件。
遇到问题时,首先查看命令行窗口的输出信息,通常会有具体的错误提示。对于复杂错误,可以在 ComfyUI 的官方 GitHub 仓库或相关社区搜索类似问题的解决方案。
11. 最佳实践与使用建议
为了更高效、稳定地使用 ComfyUI,尤其是在 AI 漫剧等复杂项目上,建议遵循以下实践:
11.1 工作流管理
- 模块化设计:将常用功能(如角色加载、高清修复、风格应用)封装成子工作流,通过组(Group)功能折叠,保持主工作流整洁。
- 版本控制:定期备份重要的工作流 JSON 文件,并使用 Git 等工具管理,便于回溯和协作。
- 注释与文档:在复杂工作流中使用注释节点(Note)说明关键节点的作用、参数含义,方便他人或自己日后维护。
11.2 模型与资源管理
- 模型分类存放:在
models目录下清晰分类 checkpoints、loras、vae、controlnet 等,避免混乱。 - 模型测试流程:新下载的模型先用小分辨率、简单提示词测试基本功能,再投入正式项目。
- 资源监控:长时间批量任务时,定期检查磁盘空间和显存占用,避免任务中途失败。
11.3 AI 漫剧生产流程建议
- 脚本先行:在搭建工作流之前,先完成漫剧的文案、分镜描述和角色设定,避免在技术调试中迷失创作方向。
- 分阶段测试:先测试单张图片的角色一致性和画风,再测试多张图片的连续性,最后整合成完整工作流。
- 人工审核环节:AI 生成的内容可能存在瑕疵或不符预期,务必加入人工审核环节,对每张输出图片进行检查和筛选。
- 版权合规检查:确认使用的模型、LoRA 训练数据、参考图片均符合版权要求,特别是计划商用的项目。
11.4 性能与稳定性
- 渐进式复杂化:从最简单的工作流开始,逐步添加 ControlNet、LoRA、高清修复等节点,每步都测试稳定性。
- 参数记录:对采样器、步数、CFG Scale 等关键参数进行记录,找到最适合当前模型的组合。
- 故障恢复:设计工作流时考虑中间结果保存,万一生成中断可以从断点继续,而不是全部重来。
ComfyUI 是一个强大的工具,但它的价值在于帮助你实现创意,而不是替代创作过程。尤其是在 AI 漫剧这类叙事性项目中,好的故事和分镜设计远比技术参数更重要。
12. 总结与下一步
ComfyUI 通过节点化的工作流设计,为 Stable Diffusion 的应用提供了极大的灵活性和可控性。对于想要超越简单文生图、探索复杂生成流程的用户来说,它是一个不可或缺的工具。
学完本文介绍的基础安装、工作流搭建和 AI 漫剧思路后,你可以继续深入以下方向:
- 探索更多自定义节点:ComfyUI 生态中有大量功能强大的节点,如面部修复、背景移除、动画生成等,可以极大扩展你的能力边界。
- 学习高级工作流技巧:如条件分支、循环生成、动态参数传递等,实现更智能的自动化流程。
- 研究模型训练与微调:为自己特定的角色或画风训练 LoRA 或 DreamBooth 模型,从而在漫剧中获得独一无二的角色一致性。
- 参与社区交流:ComfyUI 的官方 Discord、GitHub 讨论区以及相关中文社区有大量高手分享的工作流和经验,是学习进阶知识的好去处。
建议从复制和修改现有的工作流开始,逐步理解每个节点的作用,最终形成适合自己的高效工作流。无论是个人创作还是团队协作,ComfyUI 都能为你提供稳定而强大的支持。