一句话定义
从 SD1.5 到 SDXL 再到 SD3/Flux,工作流骨架不变,变的是三件事:原生分辨率(512→1024 族)、文本编码器(1 个→2 个→CLIP+T5)、潜空间通道数(4→16)——本页给你一张"换模型决策表",并示范 SDXL 的 Base+Refiner 接力工作流。
为什么重要
"换个模型"是 ComfyUI 使用者最频繁的动作;知道每次换模型到底换什么,你就能把任何新模型的官方工作流一眼看懂、任意改造。
前置知识
模型文件与目录组织(文件类型)、KSampler 全参数解剖:seed/steps/cfg/denoise(参数)、CLIP 与条件编码:文字如何变成方向(编码器)。
核心概念:家族对照表
| 维度 | SD1.5 | SDXL | SD3 | Flux.1 |
|---|---|---|---|---|
| 发布 | 2022 | 2023-07 | 2024-06 | 2024-08 |
| 主干 | UNet ~0.9B | UNet 3.5B | MMDiT 2-8B | DiT 12B |
| 文本编码器 | CLIP-L ×1 | CLIP-L + OpenCLIP-bigG ×2 | clip_l + clip_g + T5 ×3 | clip_l + T5-XXL ×2 |
| 潜通道 | 4 | 4 | 16 | 16 |
| 原生分辨率族 | 512² | 1024²(含 832×1216 等) | 1024² | 1024²/2048²(设备允许) |
| 文件形态 | 常打包 | 常打包 | 常拆分 | 几乎必拆分 |
| 加载方式 | CheckpointLoader | CheckpointLoader | 三件套 | UNET+DualCLIP+VAE |
SDXL 分辨率族(任选):1024×1024、1152×896、896×1152、1216×832、832×1216、1344×768…——都是 64 的倍数;偏离族谱劣化明显(潜空间与 VAE:压缩的图像世界)。
原理与机制
双编码器的意义(SDXL 起步):两个编码器的输出特征拼接/池化后注入,文字理解力显著强于 SD1.5;代价是工作流里 CLIP 加载与编码节点成对出现。拆分发布的模型家族,加载器从"一个文件读三路"变成"三个加载器各读各的"——模型文件结构决定加载器组合,这是唯一需要记的换装规则。
Base + Refiner 接力(SDXL 特色玩法):Base 模型完成大结构(前 80% 步)→ Refiner 模型(同家族专门精修的小模型)续完最后 20% 步。用两个 KSampler (Advanced):第一个 end_at_step=总步×0.8 且开 return_with_leftover_noise,第二个 start_at_step 衔接。Refiner 可选,现代 checkpoint(社区融合模型)多数已内置精修能力,不接也行。
公式 / 模型 / 图示
拆分加载通用模板(SD3/Flux 通用):
UNETLoader ─MODEL─▶ KSampler
DualCLIPLoader(clip_l+T5 或 clip_l+clip_g) ─CLIP─▶ Text Encode
VAELoader(ae.safetensors) ─VAE─▶ Decode
打包加载(SD1.5/SDXL): CheckpointLoaderSimple 一拖三直观类比
换模型像换 engine 的整车:底盘(工作流骨架)不动,发动机(主干)排量升级,导航系统(编码器)从 1 个变 2 个,油箱规格(潜通道)也换了——加油(VAE)必须用对应标号。
实例与案例
- SD1.5 老图迁移 SDXL:加载器不用改(仍打包),但分辨率必须改到 1024 族、cfg 降到 4-7、sampler 步数微调(采样器与调度器选型指南),提示词风格不变。
- SDXL Base+Refiner:模板库搜 "SDXL",官方模板即含接力结构,读懂两个 Advanced KSampler 的 step 衔接即可。
- 新下载社区模型:看模型页标注(基座家族、推荐分辨率、cfg)→ 决定加载器与参数区间(模型资源获取与社区)。
常见误区
- SDXL 用 512 族分辨率:必然出重复肢体;分辨率跟随模型家族,不是个人喜好。
- SDXL 照抄 SD1.5 的 cfg=7-8:易过曝;SDXL 常用 4-7。
- 以为"双 CLIP"要写两份提示词:一个文本框,编码器内部双路;节点仍是一个 CLIP Text Encode。
- Refiner 当必需品:现代融合 checkpoint 大多自带细节能力,Base 单跑足够;接力是可选项。
自测题
- 换模型时必查的三个"结构参数"?
- 拆分模型的三件套加载,各文件放哪个目录(结合 模型文件与目录组织)?
- Base+Refiner 接力中,第一个 KSampler 必须开启哪个开关,为什么?
- SDXL 出图肢体重复,三个最可能的原因?
参考答案
- 原生分辨率族、文本编码器构成、潜空间通道数(以及文件打包/拆分形态)。
- unet→models/unet/;双 CLIP→models/clip/(或 text_encoders);vae→models/vae/。
- return_with_leftover_noise——保留中间态潜空间供第二个 KSampler 续采样,否则起点被重新加噪。
- 分辨率偏离 1024 族、steps/cfg 过低或过高、负面提示词缺失(基线模型)。
与其他知识点的关系
- Flux 架构与工作流:cfg=1 的新物种 是本页对照表的"Flux 行"完整展开。
- 采样器与调度器选型指南 给出各家族推荐 sampler 组合。
- 模型文件与目录组织 的目录知识是本页操作的前提。
延伸阅读
- SDXL 技术报告:arxiv.org/abs/2307.01952
- ComfyUI 模板库:各家族官方工作流
前置知识
模型文件与目录组织KSampler 全参数解剖:seed/steps/cfg/denoise