START新手起步:算力与插件急救
在学节点之前,先把环境跑起来。ComfyUI 对显存比普通软件敏感,本地机器不够时不要硬扛,直接上云算力更省时间。
本地显存门槛
| 场景 | 建议显存 | 说明 |
|---|---|---|
| SD1.5 / 小图测试 | 6–8GB | 能跑,但 ControlNet、放大和批量会吃力 |
| SDXL 常规工作流 | 推荐 12GB 以上 | 12GB 是舒服起步;16GB 以上更稳 |
| 多 ControlNet + 放大 + 批量 | 16–24GB | 商业项目建议留足余量,避免反复 OOM |
显存不够时先降分辨率、batch size 和同时加载的模型;仍然不够,就用云平台。不要用「能打开界面」来判断能不能跑商业流程。
本地跑不动:用云算力
推荐的云平台:AutoDL、揽睿星舟。选择带 ComfyUI 镜像的实例,按小时计费;先租低配跑通流程,再按项目升级显卡。
- 优先选预装 ComfyUI / PyTorch 的镜像,省去环境配置。
- 把模型放在数据盘,实例释放后模型还在;系统盘通常不保留。
- 先测试 1024 出图和一次放大,确认显存足够再开批量。
第一步:安装 ComfyUI Manager
ComfyUI Manager 是节点和插件的管理器。安装后,遇到节点标红,优先用它解决,而不是手动复制一堆文件。
custom_nodes 目录。模型放在哪个文件夹
| 模型类型 | 目录 | 用途 |
|---|---|---|
| Checkpoints | ComfyUI/models/checkpoints | 底模,决定整体画风和能力 |
| LoRA | ComfyUI/models/loras | 人物、产品、风格微调模型 |
| ControlNet | ComfyUI/models/controlnet | Canny、Depth、OpenPose 等控制模型 |
| VAE / Embeddings | models/vae、models/embeddings | 解码器与文本嵌入 |
00本层目标
- 能搭一条完整的产品图生成流水线,而不是散装节点。
- 理解常用自定义节点包的作用和依赖风险。
- 把固定值变成可切换输入,实现多尺寸、多版本批处理。
01完整产品图流水线
一条可交付的流水线,至少包含以下环节。先保证结构完整,再逐段优化。
- 加载:底模、VAE、LoRA 分开管理,命名清楚。
- 提示词:正向和负向分开编码,不要把负面词塞进正向。
- 采样:KSampler 固定 seed / steps / CFG 作为可调输入。
- 放大:先基础出图,再分块放大;不要直接生成超大分辨率。
- 保存:文件名带项目、版本、画幅和种子,方便追溯。
02自定义节点生态:少而精
自定义节点能提高效率,也会带来依赖和版本风险。商业项目建议只保留稳定、常用的几套。
| 节点包 | 用途 | 注意 |
|---|---|---|
| ComfyUI Manager | 安装、更新、管理自定义节点 | 更新前备份工作流和环境 |
| Impact Pack | 检测、分割、细节修复、人脸/物体处理 | 模型文件较大,注意显存 |
| Efficiency Nodes | 简化流程、XY 图表、批量对比 | 适合做参数实验 |
| WAS Node Suite | 文本、图像、批处理工具 | 节点很多,按需使用 |
| rgthree | 逻辑控制、上下文、工作流组织 | 适合大型模板 |
03模板化:把固定值变成输入
商业工作流的核心不是「节点多」,而是「输入清楚」。把每次都要改的值抽出来,变成可切换的 primitive 或输入组。
- 主体图:Load Image + ControlNet,固定产品外形。
- 品牌色:用十六进制色值或色卡图控制背景、道具和光色。
- 画幅:1:1、4:5、9:16 分别对应不同 Empty Latent,输出多版本。
- 光线预设:柔光箱、硬光侧逆、逆光轮廓,做成可切换的提示词组。
- 版本号:工作流 JSON、提示词、模型列表一起存档。
给节点分组、命名、加 Note;把常用参数放在一个「控制面板」区域,接手的人能看懂,自己三个月后也能看懂。
04批处理与 API 调用
当工作流稳定后,下一步是批量。ComfyUI 可以通过队列批量跑提示词,也可以用 /prompt API 提交 JSON 工作流。
- 一次生成多尺寸:复制 latent 分支,分别连 1:1、4:5、9:16。
- 一次生成多版本:固定 seed,批量替换灯光/背景/品牌色变量。
- API 调用:把工作流导出为 API 格式,用脚本替换节点输入,提交到队列。
- 输出管理:文件名包含项目、版本、尺寸、seed,避免交付时找不到图。
05显存优化:低显存也能跑商业流程
- 使用 fp16 精度,避免无意义的 fp32 开销。
- 开启 Tiled VAE、低显存模式、模型分块加载。
- 优先分块放大,不要直接生成 4K;先 1024 出图,再 Ultimate SD Upscale。
- 关闭不必要的自定义节点和后台程序;降低 batch size。
- 把常用模型放在 SSD,减少加载等待。
06API 调用:从手工点按钮到批量生产
当工作流稳定后,下一步是让程序替你点击「生成」。ComfyUI 的 HTTP API 通常从 /prompt 接收一份 API 格式的工作流 JSON,把节点输入替换成变量,然后提交到队列。你可以用 Python、Node 或任何能发 HTTP 请求的语言调用。
队列管理要注意三件事:给任务加唯一 ID,避免重复提交;控制并发数,别让显存排队爆炸;保存每次请求的输入参数和输出路径。Websocket 进度适合做前端进度条,轮询 /history 适合后台批处理。生产环境建议把工作流 JSON 按版本存档,API 只替换允许变化的输入。
07低显存优化:不换卡也能跑商业流程
商业工作流经常同时加载底模、LoRA、ControlNet 和放大模型,显存很容易顶满。优化的顺序是:先降精度,再分块,再卸载,最后才是降分辨率。不要一上来就把图生成得很小,结构错了再放大也救不回来。
| 手段 | 作用 | 注意 |
|---|---|---|
| --lowvram / --medvram | 把部分模型移出显存,按需加载 | 速度变慢,但能避免直接 OOM;按显卡选择。 |
| fp16 / fp8 | 降低权重精度,减少显存占用 | fp8 更省,但可能影响细节;先做对比。 |
| Tiled VAE | 分块解码大图 | 注意接缝和边缘伪影,配合 seam fix。 |
| xformers / SDP attention | 优化注意力计算 | 不同显卡效果不同,开启后测速度与稳定性。 |
| 分块采样 / Tiled Diffusion | 大图分区域生成 | 控制重叠区域,避免拼接痕迹。 |
实践建议:先用 1024 左右的基础分辨率把结构、光影和姿态确认好,再用 Ultimate SD Upscale 分块放大;batch size 能小不大;关闭后台占显存的程序。低显存不是不能做商业图,而是要把流程拆成更小的步骤。
08ComfyUI 新手常见报错排查
ComfyUI 的报错看起来吓人,但大部分可以按顺序定位。先看控制台第一条红字,再看节点和模型,最后才怀疑工作流本身。下面 5 个是新手最常见的。
1. 显存不足(OOM / OutOfMemory)
最常见表现:生成到一半报错,控制台出现 OutOfMemoryError,或画面卡死、进程退出。
--lowvram 或 --medvram,重启 ComfyUI。2. 节点标红 / 节点缺失
通常是自定义节点没装表现:工作流打开后节点是红色,提示 Node type not found 或缺少某个类。
3. 模型加载失败
路径或文件问题表现:Load Checkpoint 报错,下拉列表为空,或提示 Error while loading model。
models/checkpoints 对应目录,文件名完整。4. 生成的画面全黑
先查 VAE 和 latent表现:流程能跑完,但 Save Image 输出纯黑,或全灰。
5. 线条连错 / 节点输入接反
工作流问题表现:节点报类型错误,或画面完全不受提示词影响。
09跟着做:三输入、三输出
本层验收
一条工作流,改三个输入(主体图、品牌色、画幅),十分钟内产出 1:1 / 4:5 / 9:16 三版成图。
10本层自测
为什么不能直接把所有参数写死在节点里?
生成 4K 大图最稳的方式是什么?
ComfyUI API 的核心入口是什么?
/prompt,提交 API 格式的工作流 JSON;具体字段以当前版本接口文档为准。