生成AIで漫画のキャラが毎コマ別人?キャラ表からControlNet/IP-Adapter/LoRAまでの顔固定術
生成AIで漫画を描くとき、一番つらいのは「破綻・腕が増える」ではなく、「同一人物が、このコマと次のコマで別の顔になる」こと——髪色がブレる、瞳の色が変わる、顔立ちが変わり、キャラの一貫した1ページが揃わない(キャラ一貫性)。 これはAIの故障ではなく本質です:毎回、潜在空間(latent space)で条件に合うキャラを引き直しているのであって、「前回のキャラを複製している」のではない。だから顔固定の鍵は、直交した技術スタックを重ねること:一方の錨が「キャラの同一性(顔/特徴)」を、もう一方が「ポーズ/構図」を、別々に固定して干渉させない。この記事では:参照元のキャラ表、テキストの錨+タグ強度、ControlNetで姿勢+IP-Adapterで顔、キャラLoRA学習、ADetailerで顔補正、複数キャラ同一コマの混線防止。
なぜ生成AIはキャラを覚えないのか
根本を押さえれば、錨をどこに打つか分かります。手描きは絵師が「キャラの見た目を覚えている」から一貫する。AIにその記憶はない——毎回の生成は潜在空間での一度きりのランダムサンプリングで、同じプロンプトでもシード(seed)・角度・場面が違えば「だいたい合うが細部が違う」キャラを引く。
つまり「AIの記憶力が悪い」のではなく、前回のキャラを複製させるだけの制約を与えていない。そしてもう一つ大事なこと:「誰か」と「何をしているか」は別物で、別の錨で分けて固定する——多くの人はこの二つを一つのプロンプトに混ぜて力技で押し込み、ポーズを変えた途端に顔が崩れる。以下の技術スタックは、この二軸を切り分けて各々に錨を打つものです。
AI漫画のキャラ一貫性・技術スタック
錨1:まず「キャラ表」、綺麗な参照元を切り出す
よくある間違いはキャラ設計を飛ばしていきなりコマを生成し、毎コマ漂うこと。正しい第一歩はキャラを固める:満足のいく立ち絵を生成(または選定)し、**キャラ表(キャラシート)**に髪型・瞳・服・配色を固定する。
ただし実務の落とし穴:「三面図/ターンアラウンド」をそのままAIの参照に丸ごと突っ込まない——腕を広げた前後横並びの図をIP-Adapterやi2iに入れると、三方向の特徴が混ざって腕が増える/指が増える破綻を生む。正しくはキャラ表から「単一の正面・背景の綺麗な高解像度の顔/バストアップ」を切り出して参照元にする。この綺麗な参照元が、以降すべての錨の原点。
錨2:テキストの錨——具体的な特徴+タグ強度+Negative
キャラの特徴を固定・具体・複製可能なプロンプトにして毎回付ける。肝は具体性+強度:
- ❌ 曖昧:「短髪の女の子、かわいい」——毎回自由に振れる
- ✅ 具体+強度:
(amber eyes:1.2), shoulder-length black hair, side ponytail, sailor collar+ Negative Promptで不要な特徴(blonde, long hair)を除外
タグ強度((特徴:1.2))で重要特徴をサンプリング時に強め、Negativeでブレやすい方向を塞ぐ。ただしテキストの錨だけでは、どれだけ細かくても振れる——最下層で最も安いだけの錨なので、必ず下の画像の錨を重ねる。
錨3:顔を固定 vs ポーズを固定——ControlNetとIP-Adapterは別物
これがスタックの核心、初心者が最も混同する所。「画像参照」には全く別の技術が二つあり、固定する軸が違う:
- i2i(image-to-image):与えた画像を基に「描き直す」ので、構図とポーズを強く縛る。denoise(描き直し幅)を上げると顔が振れ、下げるとポーズを変えられない。だからi2iは「同じ絵の微調整」向きで、同一キャラを別ポーズの新コマにするには不向き。
- IP-Adapter/InstantID/PuLID:参照画像の顔/特徴ベクトルを注入し、「顔は固定、ポーズは固定しない」——コマをまたいで同一人物を保つ主力。錨1で切り出した綺麗な正面顔を与える。
- ControlNet(OpenPose/Lineart/Depth):固定するのはポーズと構図——ネーム(コマ割り)で描いた動きやカメラを固定する。
正解は直交した組み合わせ:ControlNetでそのコマの姿勢/構図を固定+IP-Adapter(またはLoRA)でキャラの顔/同一性を固定。一方が「何をしているか」、もう一方が「誰か」を担い、二軸を分けて固定すれば、同じキャラが任意のポーズ・任意の場面でも同じ顔のままになる。
錨4:専用キャラLoRAを学習——最も強い錨、高頻度キャラ向け
あるキャラが数百コマ出る(連載の主役)なら、毎コマIP-Adapterを手で付けるのも大変。ここで最強の錨を打つ価値がある:そのキャラ専用のLoRAを学習する(俗に「LoRAを焼く/育てる」)——複数枚で学習し、生成時に付ければ顔がモデルに「内蔵」される。
上級で高コスト(学習画像の準備、計算資源)だが、高頻度の主役なら一度学習すれば以降毎コマ安定、長期では最も省力。脇役・モブはここまで不要、キャラ表+テキストの錨+IP-Adapterで十分。LoRAもControlNetと重ねて顔+姿勢を同時固定できる。
錨5:ADetailer/FaceDetailerで顔を自動補正——仕上げの一貫性
錨を重ねても、遠景の小さな顔や複雑な構図はたまに潰れる/振れる。仕上げはもう手動で一コマずつInpaintを引かない——今の標準は ADetailer(SD WebUI)/FaceDetailer(ComfyUI Impact Pack):生成時に自動で顔を検出し局所再描画、再描画時にキャラLoRAも付けて顔を一貫に補正できる。生成フローに固定で組み込めば、振れた顔が自動で直る。
複数キャラ同一コマ:Regional Promptingで特徴の混線を防ぐ
複数キャラ同一コマは素のプロンプトが最も崩れる所——二キャラの特徴が混線する(Aの赤髪がBに移る)。解は「各自の参照画像を与える」だけでなく分割:Regional Prompting/Attention Couple/Latent Coupleで画面を領域に分け、各領域に各キャラのプロンプトとIP-Adapterを割り当て、Aの特徴がAの領域だけに効くようにする。これで同一コマでも各々の顔を固定、混ざらない。
Before / After:毎コマ引き直す vs 直交固定
| スタックなし(❌) | 直交固定(✅) | |
|---|---|---|
| 参照元 | 三面図を丸ごと投入・腕が増える | 単一正面の綺麗な顔を切り出し |
| テキスト | 曖昧なプロンプト | 具体特徴+タグ強度+Negative |
| 顔/ポーズ | 混ぜてポーズ変更で崩壊 | ControlNetで姿勢+IP-Adapterで顔 |
| 高頻度主役 | 毎コマ手動で付ける | キャラLoRA学習で内蔵 |
| 仕上げ | 手動で一コマずつInpaint | ADetailerで自動顔補正 |
| 複数同一コマ | 特徴が混線 | Regional Promptingで領域分割 |
よくある三つの落とし穴
- 「誰か」と「何をしているか」を一つのプロンプトに詰める:ポーズ変更で顔が崩れる。ControlNetで姿勢、IP-Adapter/LoRAで顔、二軸を分ける。
- 三面図を丸ごと参照にする:AIが多方向を混ぜて破綻。単一正面の綺麗な顔/バストアップを切り出す。
- 一貫性を事後の手動Inpaintで力技で直す:遅く新たな崩れも招く。ADetailer/FaceDetailerで自動検出・補正し、仕上げをフローに組み込む。
根本策:この技術スタックを自動化、ノードを自分で繋がずに
上記(キャラ表→テキストの錨→ControlNet+IP-Adapter→LoRA→ADetailer→Regional Prompting)は技術的にはできるが、真実が一つ:ComfyUIでこの一連のノードを自分で繋ぎ、パラメータを調整し、各キャラの参照元とLoRAを管理するのは、ほとんどの人が挫折するほど敷居が高い。 手作業の限界は技術ではなく「このフローの維持」そのもの。
LitMemoの漫画生成はこの顔固定スタックを、すぐ使える形にパッケージ化する:キャラクター管理でキャラ(表・特徴・参照元)を決めれば、各コマ生成時にシステムがそのキャラの錨を自動で付け、前後のコマを相互参照(双方向アンカー)、あなたはネームを描いて「このコマは誰が何をするか」を指定するだけ——顔固定・同一コマの混線防止・コマ間の一貫はシステムが処理、ノードもdenoiseもLoRA学習も要らない。「キャラ一貫性」を「ComfyUIのワークフローを自分で維持する」から「キャラを選べば安定」へ。
まとめ
AI漫画のキャラが一貫しないのは記憶力の問題ではなく、毎回潜在空間で引き直すから——「顔」と「ポーズ」を分けて固定する直交スタックが要る。
顔固定の鍵:綺麗なキャラ表を参照元に、具体特徴+タグ強度、ControlNetで姿勢+IP-Adapterで顔、高頻度主役はLoRA学習、ADetailerで自動補正、複数キャラはRegional Promptingで領域分割。 二軸を分け、錨を重ねれば、同じキャラが任意のポーズ・場面でも同じ顔になる。
LitMemo