search
  1. ソフト・サービス
  2. ComfyUI
  3. ComfyUIの画像の制御
  4. ComfyUIの画像の制御とは|ControlNetと参照画像

ComfyUI

ComfyUIの画像の制御とは|ControlNetと参照画像

編集部 読了 約11分

ComfyUI で作る画像の形や配置を、思いどおりにするにはどうすればよいのでしょうか。

ComfyUI は、文章から画像を作る AI を、自分の PC で動かすためのソフトです。
作りたい画像を書いた文章を、プロンプトと呼びます。

作る画像の形や配置は、プロンプトのほかに、形を決める画像・見本の画像・画像の中の位置を表す数値を足して決めます。
プロンプトだけでは建物の形や家具の置き場所を指定できず、作る画像の元になる番号(シード)が変わるたびに、別の形になるためです。

プロンプトとは別の手がかりを足して画像を思いどおりにすることを、画像の制御と呼びます。

形を決める手がかりの画像を足す代表的な仕組みが、ControlNet です。
色合いや様式の見本として読ませる画像を、参照画像と呼びます。

作例:ComfyUI v0.37.0 ポータブル版(Windows・2026年9月)

作例のプロンプトは英語で書いています。

ComfyUI をまだ入れていないときは、ComfyUI ポータブル版|Windowsで入れ方を、ComfyUIの画像生成とは|txt2imgの流れでプロンプトだけから1枚作る手順を先に読んでください。

ノード・モデル・シードとは何か

ComfyUI の画面では、処理を1つずつ受け持つ部品を並べ、つないで画像を作ります。
この記事では、次の3つの言葉を何度も使います。

言葉意味
モデル学習した結果を収めたファイル。画像を作る本体のモデルのほかに、ControlNet などが使う補助のモデルもある
ノード画面に並べる四角い部品。モデルを読み込む処理や、画像を作る処理を、1つずつ受け持つ
シード作る画像の元になる番号。同じプロンプトでも、シードが変わると別の画像になる

なぜプロンプトだけでは形や配置が決まらないのか

プロンプトだけでは、そこに書いていない形や位置を、モデルがシードごとに違えて描くためです。
「2階建ての家」と書いても、窓の数や屋根の角度までは決めきれません。

たとえば、家の外観の線画を用意しておき、その線画を使わずにプロンプトだけで外観を作ると、屋根と窓と扉の位置は線画と違う所になりました。

プロンプトを細かく書けば形が決まると思うかもしれません。
しかし、窓の並びや家具の置き場所のような配置は、プロンプトで言い切れる量を超えています。

そのため、形の決まった画像が出るまで、何度も作り直すことになりがちです。
画像の制御は、この作り直しを減らすために、プロンプトとは別の手がかりを足す方法です。

ComfyUIの画像の制御にはどんな方法があるのか

画像を思いどおりにする方法は、足す手がかりの種類で、次の3つに分かれます。

決めたいもの足す手がかり主な方法
形線・深度(カメラからの近さと遠さ)・姿勢の画像ControlNet(形の手がかりの画像を足す仕組み)・T2I Adapter(ControlNet に似た、小さく速い仕組み)
雰囲気(色合い・様式)見本の画像IPAdapter・スタイルモデル・USO(どれも、見本の画像の特徴を足す仕組み)
置き場所画像の中の位置と大きさを表す数値Area Composition(範囲ごとにプロンプトを効かせる方法)・GLIGEN(物ごとに置き場所を決めるモデル)

どの方法も、作りたい画像をプロンプトで書くことは変わりません。
プロンプトとは別に、形・雰囲気・置き場所の手がかりを、ノードでつないで足していきます。

似た方法に、元の画像をもとに全体を作り直す img2img(画像から画像を作る方法)があります。
img2img は、元の画像の色や明るさまで引き継ぐ方法です。

この記事の方法は、決めたいもの(形・雰囲気・置き場所)だけを手がかりとして渡す点が、img2img との違いです。

img2img は、ComfyUIのimg2img|Load Image・VAE Encode・デノイズで解説しています。

ControlNetとは何か

形は、線・深度・姿勢の画像を ControlNet に渡して決めます。
ControlNet は、画像を作るモデルに、形の手がかりになる画像を足して渡す仕組みで、2023年に論文で発表されました。

外観の写真から取った線を渡すと、2階の張り出しや窓の位置を残したまま、別の外観を作れました。

外観の写真から取った線と、その線の ControlNet で作った外観
線は、ComfyUI に初めから入っている「キャニー」(画像の輪郭を線にするノード。英語の画面では Canny)で取った。窓の割り付けまで元の写真のとおりになった

手がかりの画像ごとに、別の ControlNet のモデルを使います。

手がかりの画像何が写っている画像か使う ControlNet のモデル決められる形
線輪郭や線画を、黒い地に白い線で描いた画像Canny(写真の輪郭を取った線)・Lineart(線画のような線)・Scribble(手描きのおおまかな線)建物や家具の形
深度カメラに近い所を白く、遠い所を黒くした画像Depth部屋や建物の奥行き
姿勢人の関節の位置を、色の付いた線でつないだ画像OpenPose人物の姿勢

こうした手がかりの画像は、元の写真やパース(建物の完成予想図)から、前処理(プリプロセッサ)のノードで作ります。
前処理は、画像から輪郭や奥行きのような形の情報だけを取り出して、別の画像にする処理です。

ComfyUI に初めから入っている前処理のノードは、線を取る「キャニー」だけ。
ほかの前処理は、あとから足すノード(カスタムノード)の comfyui_controlnet_aux を入れると使えます。

この記事の作例では、SD1.5 用の ControlNet を使いました。
SD1.5(Stable Diffusion 1.5)は、2022年に公開された、文章から画像を作るモデルです。

ControlNet のモデルは、画像を作るモデルごとに別に作られているので、使う画像を作るモデルに合うものを選びます。

ControlNet に似た働きで、もっと小さく速い T2I Adapter もあります。
形を細かく決めたいときは ControlNet、軽く速く決めたいときは T2I Adapter を選ぶとよいでしょう。

画像を作るモデルに Flux.1 を使うときは、ControlNet も Flux.1 用のものに替えます。
Flux.1 は、Black Forest Labs が2024年に公開した、文章から画像を作るモデルです。

複数の ControlNet を重ねて、深度と線のように組み合わせることもできます。

参照画像とは何か

色合いや様式を伝えるのは、モデルに読ませる見本の画像(参照画像)です。
「北欧風」のような雰囲気は、プロンプトで書くより、見本の画像を1枚見せたほうが早く伝わるためです。

北欧風の居間の画像を参照画像にして IPAdapter で作ると、白い壁と明るい木の居間になりました。

北欧風の参照画像と、IPAdapter で作った居間
プロンプトは「a living room interior, architectural photo」だけ。家具の並びは参照画像と同じにならず、移ったのは色合いと様式

参照画像を使う方法は、次の3つです。

方法どういうものか使う画像を作るモデル
IPAdapter参照画像の特徴を、画像を作るモデルに足す仕組み。ComfyUI にあとから足すノード(カスタムノード)の ComfyUI_IPAdapter_plus を入れて使うSD1.5・SDXL(Stability AI が2023年に公開した、SD1.5 より大きな画像向けのモデル)
スタイルモデル参照画像の見た目を引き継ぐモデルを、組み込みのノード「スタイルモデルを適用」で使う方法。ComfyUI に初めから入っている見本のワークフロー(テンプレート)では、Black Forest Labs の Flux.1 Redux(Flux.1 用のスタイルモデル)を使うFlux.1
USOByteDance が作った、参照画像の人物や物と、様式の両方を移せる仕組み。組み込みのノードで動くFlux.1 [dev](Flux.1 のうち、モデルのファイルが配られていて、手元の PC で動かせる版)

IPAdapter は、深度の ControlNet と組み合わせると、部屋の形を残したまま様式だけを移せます。

範囲指定とは何か

範囲指定は、画像の中の位置と大きさを数値で指定して、物の置き場所を決める方法です。
方法は、範囲ごとにプロンプトを効かせるものと、物ごとに位置を決めるものの2つです。

範囲ごとにプロンプトを効かせる方法を、Area Composition と呼びます。
組み込みの「条件付け(エリア設定)」のノードで、画像の中の四角い範囲を、左上から数えたピクセル(画像をつくる1つ1つの点)の数で指定し、その範囲にだけプロンプトを効かせます。

画像の左半分に「a red brick building」(れんがの建物)、右半分に「a modern glass office building」(ガラスのビル)のプロンプトを効かせると、2つの建物が左右に並びました。

左半分にれんがの建物、右半分にガラスの建物のプロンプトを効かせた街並み
「条件付け(エリア設定)」で、左右に範囲を分けた

物ごとに位置を決める方法には、GLIGEN というモデルを使います。
GLIGEN は、物の名前と、画像の中の位置と大きさを組にして、物を置く場所を決めるモデルです。

ComfyUI では、組み込みの「GLIGENテキストボックスを適用」のノードに、物の名前(テキスト)と、位置と大きさ(x・y・幅・高さ)を打ちます。

方法決め方使うノード
Area Composition画像の中の四角い範囲ごとに、プロンプトを効かせる条件付け(エリア設定)
GLIGEN物の名前と、位置と大きさの組で、物ごとに置き場所を決めるGLIGENテキストボックスを適用

まとめ

ComfyUI でプロンプトだけから作る画像は、プロンプトに書いていない形や位置が、シードごとに変わります。
そこで、決めたいものに合わせて、プロンプトとは別の手がかりを足していくのが、画像の制御です。

形を決めるのは、ControlNet に渡す線・深度・姿勢の画像です。
雰囲気は、見本の画像を IPAdapter・スタイルモデル・USO で読ませて伝えます。

置き場所は、画像の中の位置と大きさを表す数値で、Area Composition と GLIGEN を使って決めます。

確かめの問い

読み終えたら、次の3つに答えてみましょう。

  1. 窓の位置を元の写真のとおりに残したまま、外壁の材料だけを変えたいとき、どの方法を使うでしょうか。
  2. 見本の部屋の写真の色合いを、作る画像に移したいとき、どの方法を使うでしょうか。
  3. 画像の左にソファ、右に鉢植えを置きたいとき、どの方法を使うでしょうか。

答え

  1. ControlNet です。写真から前処理で線を取ってその線を手がかりにし、新しい外壁の材料はプロンプトに書きます。
  2. 参照画像を使う方法(IPAdapter・スタイルモデル・USO)です。
  3. GLIGEN か Area Composition です。GLIGEN なら、物の名前と位置と大きさの組を「GLIGENテキストボックスを適用」のノードに打ちます。Area Composition なら、左と右の範囲にそれぞれのプロンプトを効かせます。

続けて読む記事

この記事で名前だけ出た方法は、次の記事で手順を解説しています。
はじめての人は、上から順に読むとよいでしょう。

ControlNet の基本

手がかりの種類ごとの ControlNet

深度と形の推定

参照画像と置き場所

ControlNet と参照画像が中で何をしているかは、次の記事で解説します。

  • 「ControlNet|線・深度・姿勢で形を決める仕組み」(準備中)
  • 「IP-Adapter|参照画像で雰囲気を伝える仕組み」(準備中)

参考にしたのは、ComfyUI の公式ドキュメントのControlNet・Depth T2I Adapter・プリプロセッサー・Flux.1 USOのページです(2026年9月29日に確認)。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい