画像生成AIの構図指定、効くプロンプト3系統
画像出典: Matheus Bertelli / Pexels
画像生成AIは3D空間のカメラを動かしているのではなく、学習データにあった「それっぽい構図パターン」を統計的に再現しています。だから「もっと引きで」のような相対的な指示は効きにくく、low angle・full body のような構図そのものを名指しする語のほうが通ります。指定は一度に1〜2要素までに絞り、距離を表す語を重ねないのが崩れを避けるコツです。
画像生成AIを触っていると、かなりの確率でぶつかる壁です。人物の顔や服装は狙いどおりに出るのに、カメラの位置だけが言うことを聞かない。指示の書き方が悪いのかと語尾を変えたり、強調記号を足したりして、そのうち諦めて出てきた絵で妥協する——という流れは珍しくありません。
正直なところ、これは書き方の丁寧さの問題ではありません。AIの側に「カメラを動かす」という発想がそもそも存在しないことが原因です。ここを理解すると、どの語が効いてどの語が空振りするのかが自分で判断できるようになります。
画像生成AIは「カメラ」を持っていないのか?
持っていません。Stable Diffusion系やMidjourneyのような画像生成AIは、3DCGソフトのように仮想空間へ被写体を置き、そこにカメラを設置して角度や焦点距離を計算しているわけではないのです。やっているのは、学習した膨大な画像とその説明文の対応関係から、「その言葉が付いていた画像はだいたいこういう見え方だった」というパターンを統計的に再現することだけです。
この違いは、指示の通り方に直結します。3Dソフトなら「カメラを2メートル後ろへ」は座標計算として必ず実行されます。一方の画像生成AIにとって「もう少し引いて」は座標の命令ではなく、単なる文字列でしかありません。学習データの中に「もう少し引いて」というキャプションが付いた画像が大量にあったわけでもないので、AIは何を再現すればいいのか分からないまま、いつもの構図を出してくるわけです。
完成形の構図には、写真や映像の世界で昔から名前が付いています。全身が入る絵は full body、腰から上なら bust-up、見上げる角度は low angle。これらは実際の写真に説明として付けられてきた語なので、AIの学習データの中で画像と強く結びついています。相対的な移動を頼むのではなく、完成形の名前を渡す。これが構図指定の基本方針です。
距離の指定語は、画面のどこで切れるのか?
寄り具合の違いは言葉で並べるより枠で見たほうが早いので、画面の枠(□の外周)と人物の位置関係を並べます。枠の中に体のどこまでが入るかを見比べると、四段階の間隔がそのまま見て取れます。
close-up bust-up cowboy shot full body ┌────────┐ ┌────────┐ ┌────────┐ ┌────────┐ │ │ │ (顔) │ │ (顔) │ │ (顔) │ │ (顔) │ │  ̄ ̄ │ │  ̄ ̄ │ │  ̄ ̄ │ │ │ │ 肩─胸 │ │ 肩─胸 │ │ 肩─胸 │ │ │ │ │ │ 腰・手 │ │ 腰・手 │ │ │ │ │ │ │ │ 脚─足元 │ └────────┘ └────────┘ └────────┘ └────────┘ 顔で満たす 胸から上まで 膝上まで 全身+背景
noplogの公開解説をもとに作成
上の図のとおり、close-up は顔がほぼ画面いっぱいで首から下はほとんど写らず、bust-up は胸のあたりから上、cowboy shot は膝上あたりまで、full body は頭の先から足元までが入って背景の割合が一番大きくなります。距離系の語は「体のどこで画面が切れるか」という一本の軸の上に並んでいて、連続したズームではなく、四段階の飛び石だと考えるとイメージが合います。「膝から下が入るくらい」といった中間を狙って言葉を足すより、狙いに一番近い一段を選んで、そこから角度で表情を付けたほうが結果は安定します。
枠の中で顔が占める割合は、左から右へ小さくなっていきます。左へ行くほど顔が画面を占め、右へ行くほど人物が小さくなって背景の面積が増える——この関係が、そのまま枠の中の見え方の違いです。語を選ぶことは、この一本の線の上のどこに立つかを選ぶことだと考えると迷いにくくなります。
この一本軸だという性質が、後で触れる「距離語を重ねると崩れる」現象の理由でもあります。同じ軸の上で二つの点を同時に指定されると、AIはどちらの切れ方も再現しようとして、体の途中で画面が二重に切れたような絵を返してきます。
構図を指定する語には、どんな種類があるのか?
構図を決める語は、大きく三つの系統に分けて覚えると使い分けやすくなります。距離(どこまで寄るか)、角度(どこから見るか)、そして特殊な視点です。距離系は上の図で見たとおり、close-up から full body までの四段階から一語だけを選びます。ここでは残る二系統を見ていきます。
角度系 — 見上げるか、見下ろすか
| 指定語 | カメラの高さ | 被写体の見え方 |
|---|---|---|
| low angle | 被写体より低い位置 | 大きく力強く見える |
| high angle | 被写体より高い位置 | 小さく孤立して見える |
| worm's-eye view | 地面すれすれ | 極端に見上げた誇張が付く |
上の表のように、角度系はカメラの高さが変わると被写体の印象そのものが変わります。同じ全身像でも、見上げれば堂々として見え、見下ろせば頼りなく見える。角度は構図の話であると同時に、絵が伝える感情の話でもあります。「Top view, 45 degrees」「low-angle shot, looking up, dynamic」のように、角度の語に度数や動きの形容を添える書き方も使われます。
カメラ(●)が人物(人)に対してどの高さにあり、視線(矢印)がどちらを向くか、横から見た位置関係で並べるとこうなります。
high angle 水平(標準) low angle
●
\ ●──→ 人 人
↘ 人 ↑
人 ●──╯
上から見下ろす 目線の高さで並ぶ 下から見上げる
→ 人物は小さく孤立 → 印象は中立 → 人物は大きく力強く特殊視点系 — 絵に個性を出す
first-person view(POV/登場人物の目線そのもの)、鏡越し、窓越し、魚眼といった視点です。決まりきった構図から抜け出したいときに効きますが、後述するとおり要素を盛りすぎると破綻するので、使うなら一つに絞るのが安全です。
- 視点 → 角度 → 距離 → 撮影スタイル、の順にカンマで並べるのが書きやすい
- 例:「profile view, 45 degrees looking left, from below, cinematic shot」
- ただし語順そのものに厳密な決まりがあるわけではなく、実践者が共有している書き方の一例です
- 日本語より、写真用語として定着している英語表現のほうが通りやすい傾向があります
指定したのに構図が崩れるのはなぜ?
一番多い失敗が、距離を表す語を複数重ねてしまうことです。たとえば close-up と full body を同時に書くと、AIはどちらのパターンも再現しようとして、画面の中で寄りと引きが同居した破綻した絵を出してきます。人間なら「全身を入れつつ顔も見せたい」という気持ちだと汲み取れますが、AIにとっては両立しない二つの構図パターンの指定でしかありません。距離系は必ず一語に絞ってください。
もうひとつ、意外と知られていない原因があります。近年は LoRA(既存の画像生成モデルに、少量の追加学習データで特定の絵柄やキャラクターを覚えさせる軽量な手法)やリファレンス画像を使って、キャラクターの顔を毎回同じに保つやり方が広まりました。この仕組みが強く効いていると、AIが「顔を崩さないこと」を最優先し、カメラ位置や視線を変える指示より顔の同一性維持を優先してしまうことがあります。横顔や後ろ姿を頼んでもいつも正面顔が返ってくる場合、指示の弱さではなく、顔の固定が勝っている可能性を疑ってみてください。
ここで挙げた語を正しく使っても、100%狙った構図が出るわけではありません。AIは確率的にパターンを再現しているので、同じプロンプトでも結果は揺れます。狙った構図を一発で当てるツールではなく、当たりが出る確率を上げていく作業だと捉えたほうが、精神的にもラクに付き合えます。
出てきた絵の崩れ方から、原因をどう見分けるか
プロンプトを直す前に、返ってきた絵そのものを手がかりにすると回り道が減ります。崩れ方には型があり、型ごとに疑うべき場所が違うからです。
- 体の途中で不自然に切れる/寄りと引きが混ざる:距離系の語を二つ以上書いていないか確認する
- 角度は変わったのに顔だけ正面を向いている:顔の固定(LoRA・リファレンス画像)が角度指定に勝っている
- 何を書いても前回とほぼ同じ絵が出る:プロンプトではなく引きの固着。シード値(生成のたびに使う乱数の初期値。同じ数字なら同じプロンプトからほぼ同じ絵が出る)やセッションを変える
- 指定した語が丸ごと無視されている:その語が写真用語として定着していない可能性。別の定番語に置き換える
この四つは、直し方がそれぞれ別方向を向いています。崩れ方を見ずに語を足すと、たまたま効いた一手が分からないまま長引きます。まず型を見分けてから、次の一手を一つだけ打つ。それが結局は一番早い道になります。
どう手を進めれば、狙った構図に近づけるのか?
コツは、全部を一度に指定しないことです。一度に指定するのは1〜2要素までにして、残りはAIに任せる。そのほうが構図は安定します。要素を盛るほど、AIは矛盾する複数のパターンを混ぜようとして精度が落ちていきます。
- まず一要素だけ指定する距離か角度、どちらか譲れないほうを一語だけ入れて生成します。たとえば full body だけ。ここで方向が合っているかを確認します。
- 合っていたら、もう一要素だけ足すfull body が出たら、そこに low angle を追加。一度に二つ以上足さないのは、崩れたときに原因の語を特定できなくなるからです。
- 撮影スタイルで質感を寄せる構図が決まってから cinematic shot などのスタイル語を足します。順番を逆にすると、スタイル語が構図を引っ張ってしまうことがあります。
- 詰まったらシードとセッションを変える同じ構図ばかり繰り返して抜け出せないときは、シード値を変える、あるいはスレッドを新しく立て直します。文脈が固着して同じパターンに引き寄せられている状態を切るためです。
4つ目の「詰まり」は、多くの人が語の追加で解決しようとして深みにハマるところです。プロンプトをいじり倒しても同じ絵しか出てこないなら、それは指示の問題ではなく引きの問題かもしれません。いったんリセットして引き直すほうが早いことは、実際よくあります。
足し算ではなく引き算、というのが構図指定の勘所です。AIは指定された要素すべてを何とか同時に満たそうとするので、要求が増えるほど妥協の産物になっていきます。譲れない一点を決めて、そこだけを確実に通す。残りをAIの得意なパターンに任せたほうが、結果として絵の完成度は上がります。
構図の語彙を増やすには何を見ればいいか
手っ取り早いのは、写真や映画のカメラワーク用語を眺めることです。ここまで見てきたとおり、画像生成AIに効く語は「実際の写真に説明として付けられてきた語」です。つまり写真界隈で使われている用語ほど、学習データの中で画像と強く結びついている可能性が高いということになります。
逆に、自分で考えた説明的な言い回し——「被写体の左斜め後方1.5メートルの高さから」のような表現——は、いくら正確でもAIには届きにくい。正確さより、その言葉が付いた写真が世の中にたくさんあるかどうかで語を選ぶ。この基準を持っておくと、新しい語を試すときの当たり外れが減ります。
よくある質問
画像生成AIに「もっと引いて」と日本語で伝えても効かないのはなぜですか?
画像生成AIは3D空間でカメラを動かしているのではなく、学習した画像と説明文の対応から「その言葉が付いていた画像の見え方」を統計的に再現しています。「もっと引いて」は座標の命令ではなく単なる文字列のため、再現すべきパターンが定まらず反映されにくくなります。full body のような、実際の写真に付けられてきた構図名を使うほうが通ります。
構図を指定する語にはどんな種類がありますか?
大きく三系統あります。距離系(close-up、bust-up、cowboy shot、full body など寄り〜引き)、角度系(low angle、high angle、worm's-eye view など見上げ・見下ろし)、特殊視点系(first-person view、鏡越し、窓越し、魚眼など)です。書き方の一例としては「profile view, 45 degrees looking left, from below, cinematic shot」のように、視点・角度・距離・撮影スタイルの順で並べる形が使われています。
構図の指定語を複数書くと絵が崩れるのはなぜですか?
特に距離を表す語を重ねると崩れます。close-up と full body を同時に書くとAIは両方のパターンを再現しようとし、画面内で寄りと引きが同居した破綻した絵になります。距離系は必ず一語に絞り、一度に指定する要素は1〜2個までにして残りはAIに任せるほうが安定します。
横顔や後ろ姿を指定しても正面顔ばかり出るのはどうしてですか?
LoRA(少量の追加学習で特定の絵柄やキャラクターを覚えさせる軽量な手法)やリファレンス画像で顔を固定している場合、AIが顔の同一性を保つことを優先し、視線や角度の変更指示より顔を崩さないほうを選ぶことがあります。指示の書き方の問題ではないため、顔固定の強さを緩めるか、シード値(生成に使う乱数の初期値)やセッションを変えて試すのが有効です。
※記事で使用した内容・数値は変更される場合があります。最新情報は公式サイトをご確認ください。