この文章は
人間が書いています。
完成したマンガを先に読みたい人は
この記事のいちばん最後にあります。
はじめに
AIの力でマンガを描きやすくなりましたが、思い通りの結果を得るには様々な工夫が必要です。おそらくそれは、この先AIが進化してもそんなに変わらないのではないでしょうか。人間の脳内の情報を伝える方法というのはAIの進化とは無関係ですから。
3日ほどかけて、約3,300字のオリジナル短編小説『冬眠』を 6ページ26コマのマンガにしました。
ネーム、初版、完成品です。この記事ではその作業工程を振り返ります。
なお制作は Claude Code(リーダー)と Codex(作画担当の worker)を並列で動かしています。マルチエージェント環境は以前記事にしています。
オリジナル短編小説「冬眠」
あらすじ:
法律事務所に相談に来た女性が「夫が亡くなりました」と話し始める短編です。ところが夫は生き返る。死亡と区別のつかない「冬眠」を繰り返していて、その期間が4時間、翌朝、3日、2週間と延びていく。最後に女性は「医者に見せれば夫は火葬される。それは私が夫を殺すことになるのか」と問い、弁護士は答えないまま終わります。
ほぼ会話劇で、場所は応接室と、回想の寝室の2つだけ。マンガ化の題材としてはかなり易しい部類のはずです。
全体の流れ
制作には MyManga という自作スキルを使っています。そこでの工程の定義は以下。
| 工程 | 内容 | 主な成果物 |
|---|---|---|
| 0 | 企画・読者契約 |
project.json, NAME.md
|
| 0.5 | 人物の行動原理 |
project.json の behavior_principle
|
| 1 / 1.5 | 人物・空間プロット・脚本 | plot.json |
| 1.8 | 脚本検定 | |
| 2 (N1〜N6) | ネーム | pages/pNNN.json |
| 3 | 台詞 | 同上 |
| 4 | コマの計測 | tools/panel_sizes.txt |
| 5 | 作画(画像生成) | art/pNNN-K.png |
| 5.5 | 空間の違和感検査 | qa/ |
| 仕上げ | ネームエディタ | pages/pNNN.json |
| 6 | 組版・写植 | out/*.pdf |
| 7 | 審査・入稿 |
いわゆる「プロンプトで絵を出す」のは工程5だけです。それより前はことばと空間を決める工程で、後ろは並べたときの破綻を見つけて直す工程です。
大事なのは、各工程の結果を JSON の正本に書き、次の工程はそれだけを読むことです。会話は引き継ぎません。エージェントを入れ替えても、正本さえあれば続きから作業できます。
再帰的自己改善(RSI):何が伝わっているか
「何ページ目の終わりまでに、読者に何が伝わっているか」を定義します。NAME.md には以下のように記述されます。
| 時点 | 読者がここまでに分かっていること |
|---|---|
| 1頁末 | 女性の夫が「亡くなった」と語られた |
| 2頁末 | 夫は一度死亡と診断された後に生き返り、半年後にまた死亡した |
| 4頁末 | 「冬眠」は死と区別がつかず、回を重ねるごとに長くなる(4時間→翌朝→3日) |
| 5頁末 | 夫は今も三ヶ月間冬眠中で、会社は気づいていない |
| 6頁末 | 女性の問いは「医者に見せれば火葬される。それは私が殺すことか」。弁護士は答えない |
あわせて「女性が嘘をついている/詐欺目的」と読まれるのは困る、という許容しない読みも書いておきます。
再帰的自己改善(RSI)をやらせるには評価基準を設けなければいけません。早い段階でこれをチェックさせて、意味が伝わっているかを複数の別のエージェントに判定させています。
空間プロット:部屋の正解を AI の外に持つ
次に、応接室と寝室の間取り、家具、窓、人物の座標を plot.json に書きます。単位はメートルで、原点は部屋の南西角の床です。
{
"id": "sofa_west",
"position": [2.4, 3.0, 0],
"description": "西側の一人掛けソファの床中心。X=2.0..2.8、Y=2.6..3.4、座面高0.42m、背もたれ高0.9m。lawyerが座り+X(東)を向く。"
}
そして Blender でモデルにします。これが舞台となる法律事務所。
3Dで環境を作るのはほぼ必須で、画像生成 AI は同じ部屋を覚えていない んですよね。コマごとに生成すると、窓の位置もソファの形も一貫性を保てません。建築物の正解は AI の外側に持っておく必要があります。
ネーム
ネームは情報と因果(N1)から初見試験(N6)まで6段階に分けています。各コマの指定は pages/pNNN.json にあって、たとえば4ページ目の回想コマはこうなっています(抜粋)。
{
"art": {
"prompt": "回想③。三日間、救急車を呼ばずベッド脇の椅子から見守ったclient。三日後、夫が目を開ける。夫は目を開けている。clientは両手を口に当て、目を見開いて驚く。",
"refs": ["husband", "client"],
"bg": "夫婦の寝室。白い布団のダブルベッド、ベッド脇の小机、東窓の朝の光",
"effect": "回想。薄いトーン、枠線なし。輪郭を柔らかく"
},
"balloons": [
{ "text": "三日!", "type": "shout", "speaker": "lawyer", "at": [0.869, 0.229] }
],
"frame": false,
"staging": {
"characters": [
{ "id": "husband", "position": [2.0, 2.5, 0.5], "posture": "lying",
"pose": "仰向けに横たわり、目を開けている(三日後に目覚めた瞬間)" },
{ "id": "client", "position": [0.95, 2.7, 0], "posture": "seated", "gaze": "husband",
"pose": "椅子に座り、夫が目を開けたのに気づいて両手を口に当て、目を見開いて驚く。服装: 自宅着" }
],
"camera": { "position": [0.5, 0.8, 1.6], "target": [2.0, 2.7, 0.6], "shot": 2.04 },
"representation": { "domain": "memory", "owner": "client" }
}
}
絵の前に、台詞、フキダシの型、話者、人物の座標と向き、カメラ、回想かどうかまで決まっています。これを組版すると、絵の代わりに構図の指示文が入ったネームになります。
左がネーム初版、右が完成した2ページ目です。コマ割りとフキダシの位置はこの段階でほぼ決まっていて、チェッカーが読む順番やフキダシの重なりを機械的に検査します。
作画
参照シート
まず登場人物の参照シートを作り、各コマの生成時に参照画像として渡します。
左から弁護士、女性(相談時)、女性(回想・自宅)、夫です。女性の2パターン目は、人間(私)がチェックした際に回想シーンでも服装が同じという違和感に気づいて入れました。こういう「おかしさ」に気づけないのは、現在のAIの限界と言えるでしょう。
コマの一貫性を確保する
マンガの難しい点として同じ空間を何度も描画させるため、1枚ずつ見れば正しくても、一貫性が容易に失われてしまいます。そうならないように工夫が必要です。
これは寝室の場面のもので、各コマの3D ガイドと完成画を対にして並べています。このように3Dで人物の配置、部屋での立ち位置を決めて置かないと、コマの間で矛盾が生じてしまうのです。建物の3Dモデルと同様、人物の3D化も必須の工程になります。
3D ガイドの例
3Dガイドでは、Blender の部屋に3Dモデルの人形を置き、カメラから見た頭の位置と視線の向きを画像にしたものをコマごとに生成して、ガイドとして画像生成に渡しています。
左がガイドなしで生成したもの、中央が3Dガイド、右が描き直したものです。視線の指示も伝わっていることが分かります。左は人物の位置がおかしかったり、家具も部屋の設計と合っていません。
画像を生成した後は、頭の中心が期待位置からどれだけずれているか、画面の左右どちらにいるか、どこを見ているか、窓が見えるかを照合して検査します。
| 判定 | コマ | 直す要素 | 期待値 | 観察値 |
|---|---|---|---|---|
| FAIL | p001-1 | lawyer.head_center (distance <= 0.12) | [0.690,0.275] | {"center":[0.627,0.16],"distance":0.1311} |
| PASS | p001-1 | lawyer.screen_side | "right" | "right" |
| FAIL | p001-1 | lawyer.gaze | "off-right" | "desk" |
| PASS | p001-2 | client.head_center (distance <= 0.12) | [0.483,0.245] | {"center":[0.4075,0.2275],"distance":0.0773} |
FAIL が出たコマは、1コマ1チケットで描き直しに回します。
構図を維持して絵柄を変える
絵柄は途中で2回変えました。
左から、初版の写実寄り、青年誌調、素朴な手描き線、で描き直したものです。3枚とも人物の位置、視線、服装、家具の配置は同一に保たれています。
元の絵を渡して描かせているので、構図が変わる心配はほとんど必要ありません。逆に言えば、最初に書かせる絵柄はどういうものでも構いません。あとで変更することを考慮して、崩し過ぎず描き込まれた絵が良いでしょう。(描き込まれたほうが下絵に適している、というのはすごい時代です)
MangaNameEditor
ここからは自作のネームエディタ MangaNameEditor の話です。
Rust + GPUI 製のローカルアプリで、MyManga の正本である pages/pNNN.json を直接開いて、編集して、保存します。
いろいろ試行錯誤した結果、フキダシの位置・寸法・改行・クチバシの向きは、AI に絵を作り直させるのではなく人がエディタで直すというワークフローにしています。顔にフキダシがかぶっている、読む順番がおかしい、といった問題をAIにリテイクをかけているといつまでも終わりません。AIには詳細な指示が必要で、フキダシの座標というレベルになったらもう人間がやるほうが効率が良いだろう、という判断です。
ネームエディタの機能紹介
- コマ割り:絵と台詞を35%に薄め、枠と右上の読み順の番号だけを見せる
- フキダシ:台詞・型・話者・級数・書体を編集する
- クチバシ:クチバシの先(話者の顔を指すターゲット)をドラッグで動かす
フキダシに対して「話者」を明確に定義しているのがポイントです。これにより、フキダシ本体をドラッグしても、クチバシの先は話者に固定されたままです。
フキダシ設定画面
ルビ、フキダシ結合
ルビも必要ですね。同一話者の2つのフキダシが結合しているのにも注目。

11回の手直し
エディタで直した内容は、そのたびに正本へ同期してコミットしています。git log から主なものを拾うとこうなります。
| 回 | 日時 | 内容 |
|---|---|---|
| 1〜2 | 9/13 | フキダシ位置の編集、話者 ID と順序を正本へ復元 |
| 3 | 9/14 08:57 | ナレーションの移動・結合、「今度は二週間でした」「たしかに…」 |
| 4 | 9/14 09:25 | 弁護士の反応4件・女性の返答2件を追加、言い回しを修正 |
| 6 | 9/14 11:53 | 殺意の一言を追加、弁護士の「まるで冬眠ですね」、台詞の分割 |
| 8 | 9/14 20:44 | フキダシ位置とクチバシの調整 33件 |
| 9〜10 | 9/14 22:51 | タイトル位置・作者クレジット追加、「完」を拡大、読点4件 |
| 11 | 9/15 16:05 | 描き文字、3・4頁のフキダシ位置と形(「三日!」を叫び型に) |
フキダシの位置とクチバシは何度も直していて、8回目だけで33件あります。台詞そのものも足していて、弁護士の「まるで冬眠ですね」は原作になく、エディタで読み返しながら加えたものです。どれも、紙面を通して読んで初めて分かる手直しでした。
エディタ以外でも、私が見つけて正本に書いたものがあります。
- 夫が目を覚ました場面で、女性の顔を「驚き」に
- 3日後に目を開けた夫、両手で口を覆う女性
- 回想の女性を外出着から自宅着へ(6コマ)
- 弁護士の目線が相手に向いていない2コマ
- 絵柄の変更2回
どれも AI は自分では気づきませんでした。
完成
まとめ
まあ、素人のマンガなのでいろいろ突っ込み所はあると思いますが。
これまでできなかったことができるようになった時代。その新しいルールで何ができるかを考えるのは面白いですね。















