outpaintingとは?

outpainting は 画像の「外側」を描き足す 手法です。

といっても、特別な生成方法ではありません。

画像の外側にわざわざ余白を作り、その余白をマスクにして inpainting しているだけです。

画像の中を埋めるか、外側に作った余白を埋めるか。それだけです。

inpainting をまだ読んでいなければ、先にご覧ください。


inpaintingモデル

まずは、inpainting モデルを使う方法です。

workflow

SD1.5_outpainting_sd-v1-5-inpainting.json
  • 🟦 Pad Image for Outpainting ノードで、画像の外側に余白を作ります。
    • 余白を追加した画像と、その余白を示すマスクが出力されます。
  • 🟩 あとは inpainting/inpaintingモデル と同じです。画像とマスクを InpaintModelConditioning ノードに接続します。

ControlNet inpaint

当然、ControlNet inpaint を使う方法もあります。

workflow

SD1.5_outpainting_ControlNet_inpaint.json
  • 🟦 Pad Image for Outpainting ノードで、画像の外側に余白を作ります。
    • 余白を追加した画像と、その余白を示すマスクが出力されます。
  • 🟨 あとは inpainting/ControlNet inpaint と同じです。画像とマスクを、ControlNet inpaint 用の前処理ノードに渡します。

画像編集モデル

画像編集モデルを使うと、もっと簡単です。

画像の外側に灰色の領域(色はなんでもいいのですが)を付け足し、画像編集モデルに入力します。あとは、「灰色の部分を自然に outpaint して」とプロンプトで指示するだけです。

FLUX.2 [klein]

FLUX.2 [klein] 9B を使ってみましょう。

Flux.2-klein-9b_image-edit_outpainting.json
  • 🟩 マスクは使いません。余白を付け足した画像を渡して、そこを埋めるように指示しているだけです。