很多人刚上手 Stable Diffusion,提示词抄得很认真,采样器步数也照着教程调,结果出来的图就是不对劲——颜色发灰、发白,像隔着一层雾,或者整体闷闷的、暗沉沉的,跟别人晒的那种通透鲜亮完全不是一个东西。第一反应往往是”我提示词没写好”或者”底模太差”,其实十有八九,问题出在一个被新手长期忽略的环节:VAE。
先用人话说清楚 VAE 是个啥。你可以把 SD 出图想象成一条流水线,模型在内部其实是在一个压缩过的”潜空间”里画画,画完那一坨数据人眼是看不懂的,得有人把它翻译回正常的彩色图片。干这个翻译活儿的就是 VAE(变分自编码器)。所以 VAE 是流水线最末端那一步,负责把”半成品数据”还原成你能看的图。它没接好或者没接,翻译这一步就会出岔子,最典型的表现就是发灰、发白、细节糊。
为什么会发灰?三种情况对号入座
第一种:底模根本没自带 VAE。 早期一些精简过的大模型,作者为了减体积把 VAE 那部分切掉了。你不挂一个外置 VAE,SD 就只能用一个很基础的默认解码,出来的图就是灰蒙蒙、对比度低。这种最常见,也最好救——挂一个通用 VAE 就立竿见影。
第二种:VAE 挂错了或者重复了。 有些底模其实自己已经焊死了一个不错的 VAE,你再外挂一个,反而可能打架,颜色变怪。所以不是”挂了 VAE 就一定对”,是”该挂的时候挂对的那个”。
第三种,SDXL 用户尤其要注意:精度炸了。 SDXL 官方那个 VAE 在 fp16 半精度下有个老毛病,内部数值会溢出,轻则出灰图,重则直接出一张纯黑或者满是噪点的废图(报 NaN 错误)。这个不是你提示词的锅,是 VAE 本身和半精度不兼容。
该装哪个 VAE,别纠结
真人、通用、写实这一类,直接上 Stability 官方的 vae-ft-mse-840000-ema-pruned,这是最稳的万金油,绝大多数 SD1.5 底模配它都不会错。官方还有个 vae-ft-ema-560000,它对画面细节的改动更明显一些,840000 则相对克制、更”原汁原味”。新手记不住就一句话:不知道用哪个,就 840000。
二次元、动漫风的底模,通用 VAE 有时候会让颜色偏淡,可以换 kl-f8-anime2 或者 ClearVAE 这一类专门给动漫调的,饱和度和通透感会更对味。不过现在很多主流二次元底模自带的 VAE 已经够好,你先空着试一张,灰了再补也来得及。
SDXL 用户重点记这个:去搞一个 madebyollin 做的 sdxl-vae-fp16-fix。它是把官方 SDXL VAE 重新微调过,专门修了 fp16 溢出的问题,输出效果和官方几乎一样,但速度更快、占显存更少。装了它之后,你启动参数里那个 --no-half-vae(强制 VAE 用全精度、很吃显存的)就可以删掉了。这一步能一次性解决 SDXL 出灰图、出黑图两个老大难。
文件放哪、怎么挂上
下载下来的 VAE 文件(后缀一般是 .safetensors 或 .pt),放进 SD 安装目录下的 models/VAE 文件夹。放好之后回到 WebUI,在顶部的 VAE 下拉框里选你刚放的那个就行。如果顶部没有这个下拉框,去”设置-用户界面”里把 sd_vae 加到快捷栏,这样以后切换方便。
这里有个细节最容易被忽略:VAE 下拉框默认是 Automatic(自动)。自动的意思是”底模自带就用自带的,没带就用默认基础解码”。问题就在于,当底模没带 VAE 时,自动模式不会帮你补,它就让你灰着。所以排查发灰问题,第一件事就是手动把这个框从 Automatic 改成一个具体的 VAE,而不是放着不管。
一个能照着做的排查顺序
图发灰了,别瞎改提示词,按这个顺序来:
先把 VAE 下拉框从 Automatic 手动换成 840000(SDXL 就换 fp16-fix),用同一个种子重出一张——大多数情况这一步就好了。要是还灰,确认你这底模是不是本来就自带 VAE,自带的话就把外挂 VAE 改回 None,看是不是外挂那个在捣乱。SDXL 出纯黑图或者满屏噪点的,八成是 fp16 溢出,装上 fp16-fix 基本能根治。这几步走完还不对,再去看是不是底模本身风格就偏灰,或者提示词里写了 low contrast、muted 这种自己把对比度摁下去的词。
关键是养成习惯:锁住种子,一次只改一个变量。 你要是 VAE、提示词、采样器一起改,出来的图变了你都不知道是谁的功劳,等于白调。
几个要诚实说的坑
一是 VAE 不是滤镜,别指望它点石成金。它能救发灰、能让颜色正常、让细节锐一点,但底模画崩的手、糊掉的脸,VAE 救不了,那是另外的事。
二是装多了会迷信。论坛里总有人说”必须配某某 VAE 才好看”,其实现在 2026 年主流底模自带的 VAE 大多够用,很多时候你折腾半天换来换去,差别还没你换个采样器大。先把 840000 和 SDXL 的 fp16-fix 这两个备着,够应付九成场景了。
三是 SDXL 那个 fp16-fix 装完记得把 --no-half-vae 删掉,不删等于白装,该占的显存照样占。
说到底,VAE 这东西平时根本不用想它,但一旦图发灰发白,它就是第一个该被怀疑的对象。把上面那个下拉框从 Automatic 改成具体型号,你会发现很多困扰好几天的”玄学发灰”,其实就是这一下的事。

评论列表 (0条):
加载更多评论 Loading...