跳到正文
栏目
AI 动态 515 科技资讯 511 AI 自制游戏 10 ComfyUI 5 硬件价格 0 每日日报 23
站点
关于本站 硬件价格表 用户协议 隐私政策
账户
登录
ComfyUI 本站原创

ComfyUI 工作流与模型管理:节点连线、LoRA 搭配、工作流 JSON 与批量出图

装好 ComfyUI 之后,真正决定出图效率的不是显卡,是你对「数据怎么在节点之间流动」的理解。这篇按「骨架 → 模型搭配 → 分辨率与显存 → 保存分享 → 批量与磁盘」的顺序讲,每一步都给具体的节点名、参数名和目录路径,可以照着点。安装还没做的话先看Windows 本地安装 ComfyUI。

一、节点与连线的骨架

一个节点由三部分组成:左侧输入接口、右侧输出接口、中间参数控件。连线本质是同一种数据类型的传递,类型不匹配就连接不上,或者连上后运行时报错。常见数据类型如下:

数据类型 含义 典型产出节点
MODEL 参与去噪的权重(UNet / DiT) Load Checkpoint、Load Diffusion Model
CLIP 文本编码器 Load Checkpoint、Load CLIP、DualCLIPLoader
VAE 潜空间与像素空间的互转器 Load Checkpoint、Load VAE
CONDITIONING 编码后的提示词条件 CLIP Text Encode
LATENT 潜空间图像(还没解码) Empty Latent Image、KSampler
IMAGE 像素图像 VAE Decode、Load Image

默认文生图工作流的链路是固定的,记住这条线就够用了:

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
Empty Latent Image ─────LATENT───────> KSampler.latent_image
KSampler ───────────────LATENT───────> VAE Decode.samples
VAE Decode ───────────────IMAGE──────> Save Image.images
  • 正向提示词写你要的,负向提示词写你不要的。SD1.5 / SDXL 时代负向词有用;Flux 这类新架构的工作流通常把负向留空。
  • KSampler 里的 seed(种子)决定随机性:想复现同一张图,把 seed 固定并保持所有参数不变;想连续试不同结果,seed 用 randomize。
  • steps(步数)与 cfg(提示词遵循度)不是越大越好,调优方法见显存与速度调优。

二、Checkpoint、LoRA、VAE、CLIP 怎么摆

2.1 Load Checkpoint:一个节点带动三路

大多数整合模型只要一个 Load Checkpoint:它的 MODEL、CLIP、VAE 三个输出口正好喂给采样器、文本编码器和解码器。下拉菜单里能选到的文件 = models\checkpoints 目录里的文件,菜单为空就说明文件放错目录或格式不对。

2.2 LoRA:串联加载,权重从低往高调

  • 节点名 Load LoRA(部分版本叫 LoraLoader)。接法是把上一个 LoRA 的 MODEL/CLIP 输出接到下一个 LoRA 的输入,形成串联,最后一个 LoRA 的输出再给采样器与文本编码器。
  • 参数 strength_model(作用于模型)和 strength_clip(作用于文本编码)默认 1.0。建议从 0.6~0.8 试起,权重超过 1.0 容易过曝、结构崩坏,负权重则会反向削弱特征。
  • 世代必须一致:SD1.5 的 LoRA 只能配 SD1.5 的 checkpoint,SDXL 配 SDXL,Flux 配 Flux。混搭通常不报错,但出图会全噪或畸形,排查起来很费时间。
  • 文件放 models\loras。Civitai 模型页的 LoRA 一般都注明 Base Model,下载前先看这一项。

2.3 VAE:什么时候才需要单独加载

情况 做法
checkpoint 自带 VAE(绝大多数整合包) 不需要加节点,直接把 Load Checkpoint 的 VAE 输出接到 VAE Decode / VAE Encode
SDXL 出图发灰、发白 换成修正版 VAE(社区常用的 sdxl-vae-fp16-fix),用 Load VAE 单独加载 models\vae 里的文件再接到解码节点
Flux、SD3 等分离架构 工作流本身就是「Load Diffusion Model + Load CLIP/DualCLIPLoader + Load VAE」三件套,按模板接法照抄
只想做图生图 / 局部重绘 需要 VAE Encode 把 IMAGE 转成 LATENT,再进采样器

摆放规则只有一条:一个 VAE 节点可以同时供 VAE Encode 和 VAE Decode 使用,但整个工作流里对同一张图不要混用两个不同 VAE,否则颜色会偏移甚至出图全黑。

2.4 CLIP:现代架构才需要单独接

SD1.5 / SDXL 的文本编码器跟着 checkpoint 走,不用管。Flux、SD3、部分视频模型需要独立的文本编码器文件(放 models\clip 或 models\text_encoders),节点是 Load CLIP 或 DualCLIPLoader(双编码器时用后者,注意选对 type:Flux / SD3 / SDXL 等,选错会直接报维度错误)。

一个能省掉 80% 怪问题的习惯:同一条工作流里所有模型保持同一世代。检查方法很简单,看 Load Checkpoint 下拉菜单里的文件名关键词(sd15、xl、flux)是否统一。

三、分辨率、批量与显存的关系

显存和算力消耗基本与像素面积成正比,不是与边长成正比。所以:

  • 1024×1024 的消耗约等于 4 张 512×512;1536×1536 是 1024×1024 的 2.25 倍。
  • batch_size 是线性放大:512×512 的 batch 4,与 1024×1024 的 batch 1 面积相同,但前者峰值显存通常更低(采样器一次处理多张时会更省一点)。
  • 分辨率超出模型训练范围(SD1.5 是 512 档,SDXL 与 Flux 是 1024 档)会出现「双头、重复肢体、构图割裂」,这不是提示词问题,是模型能力边界。
模型世代 训练/推荐基础分辨率 想放大的正确做法
SD 1.5 系 512×512 附近(512×768 竖图常用) 先 512 出图,再做 hires fix / 潜空间放大,或用放大模型(ESRGAN 等)后处理
SDXL 系 1024×1024 附近(832×1216 等比例) 先 1024 出图,再放大;直接跑 2048 大概率 OOM 或结构崩
Flux / SD3 等大模型 1024×1024 附近 同样两步走;显存压力比 SDXL 高得多,见调优篇

记住一个操作顺序:先用低分辨率把构图和提示词调对,再放大。反过来做(先高分辨率试提示词)会把大量时间花在必然失败的图上。

四、保存、复用、分享工作流 JSON

4.1 界面操作路径

动作 路径 说明
保存到工作流库 左上角 Workflow 菜单 → Save / Save As 写进 ComfyUI 用户目录,界面里随时能再打开
导出成文件 Workflow → Export 得到 .json,用于备份和发给别人
导入 把 .json 拖进画布,或 Workflow → Open 导入后先看有没有红色缺失节点
导出 API 格式 Workflow → Export (API Format) 用于写脚本调用 /prompt 接口,需要先在设置里打开开发者模式
从图片还原 把 PNG 拖进画布 前提是这张图带 ComfyUI 元数据(ComfyUI 自己生成的图默认带)

4.2 文件到底存在哪

界面里 Save 的工作流落在 ComfyUI 用户目录下,便携版的实际路径是:

D:\AI\ComfyUI_windows_portable\ComfyUI\user\default\workflows\

里面就是一个普通 .json 文件,可以直接复制备份。两个容易吃亏的细节:

  • 画布上的临时状态(没点 Save 的修改)只存在浏览器本地存储里。清理浏览器数据、换浏览器、换端口访问,都可能让「还在画布上的工作流」消失。重要工作流一定 Export 存盘。
  • ComfyUI 升级(换前端版本)后,部分老工作流会提示某些节点已迁移或参数过期,按提示重新拖一个同名节点替换即可。

4.3 分享与接收别人的工作流

  1. 拿到 .json 后先拖进画布,看是否有红色节点(缺失节点)或下拉菜单为空的加载器(缺模型)。
  2. 缺节点:用内置的 ComfyUI-Manager(新版可通过启动参数 --enable-manager 启用)在线安装,或按节点名到对应 GitHub 仓库下载后放进 custom_nodes 再重启。详细步骤见报错速查表的「Missing Node Types」一节。
  3. 缺模型:不要盲目点「一键下载」。先看加载器里显示的文件名,按名字判断世代(SD1.5 / SDXL / Flux),再到公开模型页找同名或同类型的文件。文件名不一定能一一对上,同世代、同类型即可替代。
  4. 拿到的工作流如果跑不动,先按调优篇的做法降分辨率、降批量,确认能出图再逐步加回参数。

五、工作流模板与示例从哪来

  • 界面内置模板:ComfyUI 顶部的模板/浏览模板入口(Templates),内容由官方 comfyui-workflow-templates 包提供,随版本更新。这是最安全的起点——它是官方维护的、与当前版本匹配的工作流。
  • 官方文档:docs.comfy.org 的入门与基础概念章节逐步给出默认工作流、模型目录、首个出图的完整步骤,遇到概念不确定时以它为准。
  • 公开作品反推:ComfyUI 生成的 PNG 默认带工作流元数据,把图片拖进画布就能看到对方的完整节点图(包括采样器、步数、CFG)。这是学参数搭配最直接的方式。注意:没有元数据的图(例如经过二次压缩或由其他工具生成)无法反推。
  • 别人的工作流经常绑定特定插件与模型,先用模板把基础链路跑顺,再逐步引入外部工作流,能少掉大量环境问题。

六、批量出图与命名规范

批量有两种含义,混着用会浪费显存:

方式 怎么做 特点
单提示词多张 Empty Latent Image 的 batch_size 设为 2~4 显存约按倍数上升,适合快速挑图
队列多次任务 保持 batch_size = 1,改 seed 或提示词后重复点「运行」 显存不变,总量受时间限制,适合批量跑不同主题
固定参数扫种子 seed 设为 randomize,连点几次运行,事后按文件名筛选 挑图最常用的组合

命名规范建议在 Save Image 节点的 filename_prefix 上做,而不是事后手动改名。默认输出是 ComfyUI_00001_.png 这种「前缀 + 5 位序号」,把前缀改成有意义的名字即可:

portrait_20260929_sdxl_v1

保存后就是 portrait_20260929_sdxl_v1_00007_.png,按项目、日期、模型、版本四段命名,之后找图和对比实验都不费劲。几个约定:

  • 前缀用英文、数字、下划线,避免空格与中文,方便命令行批处理与跨工具引用。
  • 一次实验只改一个变量(提示词 / 步数 / 权重),否则回溯不出「是哪一项起了作用」。
  • 输出目录默认是 ComfyUI\output\;要换到别的盘,启动参数加 --output-directory D:\AI\output(官方参数,覆盖默认输出目录)。
  • 只把值得留的图移出 output 归档,output 本身按季度清一次即可。

七、目录结构与磁盘空间管理

目录 内容 能不能删
models\ 所有模型权重 不能乱删;清理重复文件前先核对文件名与体积
output\ 出图结果 可以,归档或删除,不影响程序运行
temp\ 运行中间缓存、预览图 可以清空(建议先关闭 ComfyUI 再删),下次运行会自动重建
user\default\ 界面设置、保存的工作流 不要删,删了工作流和个性化设置全部丢失
custom_nodes\ 自定义节点(插件) 只删确认没用的插件目录;插件内的 .git 是更新的基础,别单独删
__pycache__\(各处) Python 编译缓存 可以删,运行时会重建
python_embeded\ / venv\ 运行环境 绝对不能删

磁盘规划的经验法则:程序占几 GB,模型是真正的大头。按「一个 SD1.5 模型 2 GB 级、一个 SDXL 模型 7 GB 级、一个大模型(Flux 类)10 GB 级」粗估,再乘以你打算收集的数量。几个可执行的做法:

  • 模型库单独放一个盘(例如 D:\AI\models\),用第一篇讲的 extra_model_paths.yaml 让多个 ComfyUI 实例共用,避免同一文件拷三份。
  • 定期查找重复模型:在模型目录下按「大小」排序,同名不同后缀(.safetensors / .ckpt)往往是同一模型的两种格式,留体积合适的那份。
  • 不要用 .ckpt 格式尝鲜:优先 .safetensors,加载更快、更安全(不执行任意代码)。
  • 出图占盘比想象中大:一张 1024 PNG 约 1~2 MB,批量实验很容易堆到几十 GB,记得给 output 所在盘留余量。

八、中文提示词与界面语言的两个现实问题

先说结论:提示词写英文更稳,界面语言可以改成中文,只有要在图片上渲染中文时才需要管字体文件。

  • 提示词语言:SD1.5 / SDXL 这类模型的文本编码器以英文语料为主,同样的内容用英文写,遵循度通常更高;部分新架构对中文有一定支持但不稳定。想让工作流自己看得懂,把中文写进节点标题(右键节点选 Title,或双击标题重命名)或备注节点里,模型不吃这些文字。
  • 界面语言:新版前端在设置(Settings)里提供语言 / Locale 选项,切换后刷新页面生效;不同前端版本菜单位置略有差异,找不到就在设置里搜 Locale。
  • 图片上的中文:只有需要把中文直接画进出图结果(文本叠加、水印、标注类节点)时才涉及字体文件,要在节点里指定系统中文字体的完整路径,例如 C:\Windows\Fonts\msyh.ttc(微软雅黑)。缺字体时 PIL 会报 OSError: cannot open resource,处理步骤见报错速查表。
  • 命名与路径:模型文件名、输出前缀、安装目录尽量用英文,中文文件名在个别插件里会触发编码错误,同样是速查表里的条目。

九、小结

把这篇压缩成五条:同世代模型才混用;LoRA 权重从 0.6 起调;先低分辨率定构图再放大;工作流要及时 Export,别只依赖浏览器;模型放对目录比装什么插件都重要。接下来按你的实际问题选下一篇:显存吃紧看显存与速度调优,报错看报错速查表,还没装好回安装篇。

讨论

还没有评论

发表评论