画像生成AIの中身 — プロンプトが絵になるまでの3つの部品
目次(10 項目)
この本のほかの記事は、全部この3つの部品のどこかの話をしています。先にここを読むと、あとの記事が個別の作法の羅列ではなく、ひとつの仕組みの話として読めます。
数式は出しません。「どの部品が何を決めているか」だけを押さえます。それが分かると、新しいモデルが出たときに自分で判断できるようになります。
全体の流れ
プロンプト(文字列)
│
│ ① テキストエンコーダ … 言葉を数値に変える
↓
数値のならび(意味の表現)
│
│ ② 本体(U-Net / DiT) … ノイズを消す。ステップ数の回数だけ繰り返す
↓
圧縮された状態の絵(潜在表現)
│
│ ③ VAE … 実際の画素に戻す
↓
完成画像
① テキストエンコーダ — 言葉を数に変える
モデルは文字を読めません。文字列を数値のならびに変換してはじめて扱えます。それをする部品がテキストエンコーダです。
SDXL の場合、公式のモデルカードにこうあります。
uses two fixed, pretrained text encoders (OpenCLIP-ViT/G and CLIP-ViT/L)
実は2つ使っています(このサイトの他の記事では、まとめて「CLIP」と呼んでいます)。
この部品が決めているもの
1つは、一度に受け取れる長さです。CLIP が一度に読めるのは77トークンで、開始と終了の印を除いた実質75が中身に使えます。「タグが20個を超えると干渉する」の正体はこれで、モデルの気分ではありません(タグの基本)。
もう1つは、どんな書き方に反応するかです。ただしこれはエンコーダだけでなく、学習時に画像へ付けられた説明(キャプション)の形で決まります。SDXL 系のアニメモデルは Danbooru のタグで学習されているので、タグで反応します。
ここは間違えやすいところなので分けて書きます。方式(②)と書き方は対応していません。
| モデル | 書き方 | 本体の形 |
|---|---|---|
| NovelAI V3 | タグ | U-Net(公式が "Based on SDXL, along with some technology of our own") |
| NovelAI V4 | 自然文(T5・512トークン) | U-Net(公式が "our improved U-Net architecture") |
| Neta Lumina/Anima | Danbooru タグが通る | DiT |
4通りのうち3つが実在します。つまり「U-Net だからタグで書こう」と推論すると外れます。書き方を知りたいときに見るのは①と学習キャプションで、②ではありません。
② 本体 — ノイズを消す。ここが「アーキテクチャ」
画像生成は、ノイズだらけの状態から少しずつノイズを取り除いていく作業です。1回分のノイズ除去を担当するのがこの部品で、①が作った数値を見ながら「この言葉に合う絵になるように」削ります。
ステップ数はこの繰り返し回数です。1回ごとに本体を走らせるので、計算量もクレジットも回数に比例します(ステップ数の記事)。
「アーキテクチャ」は、この本体の配線の形を指します。日常的にはもっと広く「モデルの作り」全般を指しても使われるので、文脈で読む必要があります。
| 形 | 中身 |
|---|---|
| U-Net | 画像をいったん縮めて、また元の大きさに戻すU字型。近所の画素をまとめて見る計算が中心。SDXL はこちら |
| DiT(Diffusion Transformer) | 画像を小さな片に切って、文章を扱うのと同じ仕組み(Transformer)で処理する形。離れた場所同士の関係を見るのが得意 |
DiT が長い文章や複数キャラに強いのは、この「離れたもの同士の関係を見る」性質からきています。「窓際に座った少女の膝に格子の影が落ちている」を成立させるには、少女と窓と影を関係づける必要があります。
③ VAE — 圧縮された絵を画素に戻す
②の本体は、実は完成サイズの画像を扱っていません。縦横それぞれ8分の1に縮めた「潜在空間」の上で作業しています(1024×1024 の画像なら 128×128)。そのほうが計算がはるかに軽いためです。SDXL 公式が自ら "Latent Diffusion Model" と呼んでいるのは、この作り方を指しています。
その圧縮された状態を、実際に見える画像に戻すのが VAE です。
チャンネル数が細かさを決めます
潜在空間の1点あたりに数値を何個持たせるかをチャンネル数といいます。多いほど元の絵の情報を保てます。
| チャンネル数 | |
|---|---|
| SDXL の VAE | 4(公式の config.json の latent_channels) |
| NovelAI V4.5 | 16 |
| NovelAI V5(2026年8月) | 32 |
効き方は測られています。Stable Diffusion 3 の論文が 4 から 16 に増やしたときの改善を報告していて、再構成の FID が 2.41 → 1.06、知覚的な類似度が 0.85 → 0.45 です。
we find that increasing the number of latent channels d significantly boosts reconstruction performance
「細い線・宝飾・画像内の文字が綺麗になる」の中身がこれです。解像度を上げたのではなく、器を大きくしたという話になります。
3つは別々に差し替えられます
この3つは独立した部品なので、1つだけ替えることができます。
NovelAI V4 がその実例で、公式の発表にこうあります。
our improved U-Net architecture … replaced our CLIP text encoder with the T5 text encoder
②はそのままで①だけ替えたわけです。結果としてプロンプトは75トークンから512トークンになりました。だから「長く書けない」はアーキテクチャの問題ではないと言い切れます。
何を知れば、何が決まるのか
新しいモデルが出たときに、何を調べればいいかの対応表です。
| 知りたいこと | 決めている部品 | 調べ方 |
|---|---|---|
| タグか文章か/プロンプトの長さ/日本語が通るか | ① エンコーダ+学習キャプション | ベンダーの案内と、自分で出して確かめる |
| その語が効くか | 学習データ | 件数の確認と実測(Danbooru とは何か) |
| LoRA が動くか・学習できるか | ② アーキテクチャ | ここだけは方式を知る必要がある |
| 速度・費用・必要な VRAM | ② 規模 | 公表値 |
| 細い線や画像内の文字の精度 | ③ VAE | 公表値 |
アーキテクチャが非公開でも、書き方は分かります。2026年8月に出た NovelAI V5 は方式を公表していませんが、書き方は公式が案内しているので困りません(自然文で英語と日本語に対応、タグも従来どおり、長いプロンプトが書ける)。分からないのは「前の世代の LoRA が動くのか」のような資産の話です。
LoRA はどこに効くのか
LoRA は②の本体の重みに足す差分ファイルです。キャラ・画風・高速化などがありますが、どれも「本体の重みを少しずらす」形で働きます。
だから本体の配線の形が変わると、足す場所そのものが無くなります。PixAI 自身、Tsubaki.2 には後方互換が無い(他のモデルで作った LoRA は動かない)と明記しています(LoRA の作り方)。
ここが「乗り換えが重い」の正体でもあります。タグの書き方(①に依存)は移せるのに、LoRA(②に依存)は移せません。だから資産のある側にとどまる力が働きます(SDXL はいまどこに立っているのか)。
これが分かると読めること
| よく聞く話 | どの部品の話か |
|---|---|
| 「タグは20個までにしろ」 | ①。CLIP が一度に75トークンしか読めないため |
| 「Tsubaki は文章で書く」 | ①と学習キャプション。DiT だからではない |
| 「ステップ数を増やすと高くなる」 | ②。回数ぶん本体を走らせるため |
| 「LoRA がこのモデルでは動かない」 | ②。配線の形が違うため |
| 「新しいモデルは文字が綺麗」 | ③(と学習データ)。潜在空間の器が大きいため |
自分で確認する必要があること
- PixAI の各モデルが何をテキストエンコーダに使っているか。公開されていません。だから Tsubaki のプロンプトの長さの上限も、日本語がどこまで通るかも、公式の案内と自分の実測でしか分かりません
- 同じプロンプトを長さだけ変えて出したときに、どこで関係が崩れるか。①の枠を自分の目で確かめる方法です。SDXL 系なら75トークンの境界が目安になります
出典
- Stable Diffusion XL Base 1.0 モデルカード(Stability AI) — "uses two fixed, pretrained text encoders (OpenCLIP-ViT/G and CLIP-ViT/L)"、"Latent Diffusion Model" であること
- sdxl-vae の
config.json(Stability AI) — 潜在空間がlatent_channels: 4であること - Scaling Rectified Flow Transformers(Stable Diffusion 3・arXiv 2403.03206) — 「Improved Autoencoders」の節。潜在チャンネル数を 4 から 16 に増やすと再構成が改善する(FID 2.41 → 1.06、知覚的類似度 0.85 → 0.45)
- NovelAI Diffusion V4 の発表(NovelAI公式・2025年2月28日) — CLIP を T5 に替えて512トークンに拡張したこと、U-Net のままであること
- NovelAI Diffusion V5 リリース(NovelAI公式・2026年8月21日) — 32チャンネルのカスタム VAE(V4.5 は16)。アーキテクチャの方式は「独自」としか書かれていない
- 各モデルの説明(NovelAI公式ドキュメント) — V3 は "Based on SDXL, along with some technology of our own"
- Neta Lumina(Neta.art Lab) / Anima モデルカード(CircleStone Labs) — DiT でありながら Danbooru タグが通る例
- プロンプトの仕組み(PixAI公式ドキュメント) — アーキテクチャごとにプロンプト形式が違うこと
2026年9月9日確認。9月10日に読みやすさのために文章を整理しました。