⬡ 节点流学园

🖼️ 03-核心工作流

SDXL 与多编码器家族:换模型换什么

核心SDXL模型家族分辨率refiner

一句话定义

从 SD1.5 到 SDXL 再到 SD3/Flux,工作流骨架不变,变的是三件事:原生分辨率(512→1024 族)、文本编码器(1 个→2 个→CLIP+T5)、潜空间通道数(4→16)——本页给你一张"换模型决策表",并示范 SDXL 的 Base+Refiner 接力工作流。

为什么重要

"换个模型"是 ComfyUI 使用者最频繁的动作;知道每次换模型到底换什么,你就能把任何新模型的官方工作流一眼看懂、任意改造。

前置知识

模型文件与目录组织(文件类型)、KSampler 全参数解剖:seed/steps/cfg/denoise(参数)、CLIP 与条件编码:文字如何变成方向(编码器)。

核心概念:家族对照表

维度SD1.5SDXLSD3Flux.1
发布20222023-072024-062024-08
主干UNet ~0.9BUNet 3.5BMMDiT 2-8BDiT 12B
文本编码器CLIP-L ×1CLIP-L + OpenCLIP-bigG ×2clip_l + clip_g + T5 ×3clip_l + T5-XXL ×2
潜通道441616
原生分辨率族512²1024²(含 832×1216 等)1024²1024²/2048²(设备允许)
文件形态常打包常打包常拆分几乎必拆分
加载方式CheckpointLoaderCheckpointLoader三件套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 单跑足够;接力是可选项。

自测题

  1. 换模型时必查的三个"结构参数"?
  2. 拆分模型的三件套加载,各文件放哪个目录(结合 模型文件与目录组织)?
  3. Base+Refiner 接力中,第一个 KSampler 必须开启哪个开关,为什么?
  4. SDXL 出图肢体重复,三个最可能的原因?
参考答案
  1. 原生分辨率族、文本编码器构成、潜空间通道数(以及文件打包/拆分形态)。
  2. unet→models/unet/;双 CLIP→models/clip/(或 text_encoders);vae→models/vae/。
  3. return_with_leftover_noise——保留中间态潜空间供第二个 KSampler 续采样,否则起点被重新加噪。
  4. 分辨率偏离 1024 族、steps/cfg 过低或过高、负面提示词缺失(基线模型)。

与其他知识点的关系

延伸阅读

前置知识

模型文件与目录组织KSampler 全参数解剖:seed/steps/cfg/denoise

关联知识点

Flux 架构与工作流:cfg=1 的新物种采样器与调度器选型指南安装与首次启动:三种途径与硬件对照