← 記事一覧へ戻る
VAEとは何か:Stable Diffusionの色と質感を決める縁の下の力持ち のサムネイル

VAEとは何か:Stable Diffusionの色と質感を決める縁の下の力持ち

Stable DiffusionのVAEについて初心者向けに解説。なぜ必要か・どれを選ぶか・入れ替え方・よくある症状と対処法まで、VAEの基礎から実践まで丁寧に説明します。

はじめに:「なぜか色がくすむ」「顔がぼやける」の犯人はVAEかもしれない

Stable Diffusionを使い始めると、「プロンプトも設定も同じなのに、よそで見る画像より色が地味」「肌や顔のシャープさがなんか足りない」という場面に直面することがあります。

この問題の原因の多くは VAE(Variational Autoencoder) にあります。VAEは地味な存在ですが、最終的な画像の色調・鮮明度・肌の質感に直接影響します。本記事ではVAEの基礎と実践的な選び方を解説します。


VAEとは何か

VAEは「潜在空間と画像空間の変換器」です。

Stable Diffusionは画像を直接生成するのではなく、まず**潜在空間(Latent Space)**と呼ばれる圧縮された数値表現の中でノイズを除去していきます。最終ステップで潜在表現を実際の画像(ピクセル)に変換するのがVAEのデコーダーの役割です。

[テキスト] → UNet(ノイズ除去) → 潜在表現 → VAEデコーダー → [最終画像]

エンコーダーは画像を潜在表現に変換する(img2imgなどで使用)、デコーダーは潜在表現を画像に変換する——この2つで1セットです。

VAEの品質が低いと、潜在表現から画像への変換で色情報が失われたり、ディテールがぼやけたりします。


なぜVAEを別途用意する必要があるのか

多くのCheckpointモデルは、ダウンロードした時点ではVAEが**「baked in(焼き込み済み)」「デフォルトVAE使用」**のどちらかです。

  • Baked in VAE:モデルファイルの中に最適なVAEが含まれている。追加不要
  • デフォルトVAE:Stable Diffusionに付属の標準VAEを使用。これが品質問題の原因になることがある

標準VAE(vae-ft-mse-840000より古いもの)は色域が狭く、特に彩度が高い色や肌のトーンが正確に再現されません。これが「くすんで見える」原因です。


VAEによる色と質感の差分イメージn*参考イメージ:VAE切替時の色・質感比較*n

主要VAEの比較

VAE名特徴推奨用途
vae-ft-mse-840000-ema-prunedSD1.5用の標準。安定性高いSD1.5系全般
vae-ft-ema-560000-ema-prunedMSEより若干シャープ。細部が締まるSD1.5ポートレート
kl-f8-anime2アニメ系に最適化。鮮やかな発色アニメ系モデル
orangemix.vaeOrganicMix系モデルに付属。アニメ向けアニメ系ファインチューン
SDXL内蔵VAESDXLモデルに統合済み。別途不要SDXL系全般
ae.safetensors(FLUX.1用)FLUX.1に内蔵。別途不要FLUX.1

基本的な選び方の結論:

  • SD1.5系アニメモデル → kl-f8-anime2 または orangemix.vae
  • SD1.5系リアル系モデル → vae-ft-mse-840000-ema-pruned
  • SDXLモデル → モデル内蔵のVAEを使用(別途不要)
  • FLUX.1 → 内蔵のため不要

VAEのダウンロードと配置方法

WebUI(AUTOMATIC1111)の場合

  1. HuggingFace または Civitai からVAEをダウンロード
  2. 以下のフォルダに配置:
stable-diffusion-webui/
└── models/
    └── VAE/
        └── vae-ft-mse-840000-ema-pruned.safetensors
  1. WebUIを起動(または再起動)
  2. 設定画面 → Stable DiffusionSD VAE でVAEを選択
  3. Apply settings をクリックして適用

ComfyUIの場合

  1. VAEファイルを以下に配置:
ComfyUI/
└── models/
    └── vae/
        └── vae-ft-mse-840000-ema-pruned.safetensors
  1. ワークフロー内の Load VAE ノードでファイルを選択

VAEを切り替える方法(WebUI)

WebUIでは2種類の方法でVAEを指定できます。

方法1:グローバル設定(全モデル共通)

設定 → Stable Diffusion → SD VAE で選択します。すべてのモデルに適用されます。

方法2:モデルごとの設定

設定 → Stable Diffusion → Override settings per model を有効にすると、モデルごとに異なるVAEを割り当てられます。アニメ系とリアル系を使い分ける場合に便利です。


FLUX.1でのVAEの扱い

FLUX.1 は独自のVAEがモデルに内蔵されています。SD系とは異なるアーキテクチャを採用しており、外部VAEを別途用意する必要はありません。

FLUX.1の場合、ComfyUIのワークフローに VAE Decode ノードが含まれていますが、ここで参照するVAEもFLUX.1専用の ae.safetensors です。SD用VAEを誤って指定しないよう注意してください。


よくある症状と対処法

症状1:画像全体がグレーがかっている

原因: VAEが設定されていない、または古いデフォルトVAEを使用中 対処: vae-ft-mse-840000-ema-pruned を設定する

症状2:色が飽和しすぎて不自然

原因: アニメ用VAEをリアル系モデルに使っている 対処: リアル系には vae-ft-mse-840000-ema-pruned を使う

症状3:顔がわずかにぼやける

原因: VAEデコーダーの精度不足 対処: vae-ft-ema-560000-ema-pruned に変更してみる。または ADetailer で顔を後処理

症状4:VAEを変えても変化がない

原因: モデルにVAEが Baked in(焼き込み済み)になっている可能性 対処: モデルの配布ページでVAEの有無を確認する。Baked inなら外部VAE設定は上書きされない


まとめ:どのVAEを選べばいいか

VAE選びは複雑に見えますが、実際は以下のシンプルなルールで大半のケースに対応できます。

使用モデル推奨VAE
SD1.5系アニメモデル(NoobAI等)kl-f8-anime2
SD1.5系リアル系vae-ft-mse-840000-ema-pruned
SDXL系(Illustrious等)モデル内蔵(設定不要)
FLUX.1系内蔵(設定不要)

迷ったらまず vae-ft-mse-840000-ema-pruned を入れてみてください。SD1.5系ではほとんどのモデルで「入れる前より良くなる」結果が得られます。

LoRAの選び方 と合わせて、モデル・VAE・LoRAの三つを整えると、プロンプト改善と同等かそれ以上の画質向上が見込めます。

広告バナー