
ComfyUI ControlNet入門:ポーズ・構図を制御する
「プロンプトは頑張って書いているのに、キャラのポーズや構図が毎回バラバラで安定しない」——ComfyUI で画像を作っていると必ずぶつかる悩みです。その解決策が ControlNet。参照画像から「ポーズ」「線画」「深度」といった構造だけを取り出し、生成する絵をその枠にはめ込む仕組みです。
この記事では、ControlNet が何をしているのかという役割の整理から、前処理(プリプロセッサ)→ ControlNet ノード接続 → 生成という基本の流れ、そして「構図を思い通りに固定するワークフロー」を、初めての人向けに具体的に解説します。
結論から言うと、ControlNet は「プロンプトで内容を、参照画像で構造を」という役割分担を作る道具です。ポーズや構図を毎回ガチャで引き直す作業から解放されます。
結論:ControlNet は「構造の型」を渡す仕組み
通常のテキスト生成は、プロンプトという曖昧な指示だけを頼りに構図をゼロから起こします。だから毎回ブレます。ControlNet は、そこに参照画像から抽出した構造情報を追加の条件として差し込みます。
- プロンプト … 「何を」「どんな絵柄で」描くか(内容・スタイル)
- ControlNet … 「どんなポーズ・構図・奥行きで」描くか(構造の型)
この 2 つを分離できるのが本質です。棒人間(OpenPose)でポーズを固定したまま、プロンプトで髪型・服・画風だけを差し替える、といった使い方ができます。同じポーズで表情違い・衣装違いを量産する、といった作業が一気に安定します。
ControlNet の 3 大タイプ:ポーズ/線画/深度
ControlNet には多くの種類がありますが、まず押さえるべきは次の 3 つです。
| タイプ | 抽出する情報 | 代表プリプロセッサ | 主な用途 |
|---|---|---|---|
| ポーズ | 人体の関節・骨格 | OpenPose | キャラのポーズ・アングルを固定 |
| 線画 | 輪郭線・エッジ | Canny / Lineart | 線画に着彩、ラフを清書 |
| 深度 | 手前・奥の距離感 | Depth (MiDaS 等) | 立体感・空間配置を保つ |
- ポーズ(OpenPose) … 参照画像から「棒人間」の骨格を抽出し、そのポーズで生成します。ポーズ集画像や 3D ポーズツールの出力を渡すのが定番です。
- 線画(Canny / Lineart) … 輪郭線だけを抜き出します。手描きラフやスクショの構図をそのまま活かして着彩・清書したいときに。Canny はエッジが硬め、Lineart はイラスト向けの柔らかい線が得意です。
- 深度(Depth) … 手前と奥の距離をグレースケールで表現し、空間の立体感を保ちます。背景と人物の前後関係を崩したくないときに効きます。
迷ったら「ポーズを決めたい=OpenPose」「線画から塗りたい=Lineart」「奥行きを保ちたい=Depth」で覚えておけば十分です。
前処理(プリプロセッサ)とは何か
ControlNet で最初につまずくのが「前処理」の概念です。参照画像をそのまま ControlNet に渡すのではなく、一度「構造だけの中間画像」に変換する工程が挟まります。これが前処理(プリプロセッサ)です。
たとえば人物写真を OpenPose の前処理に通すと、色や背景が消えて関節をつないだ棒人間の画像が出てきます。この棒人間こそが ControlNet に渡す「型」です。Canny なら白黒のエッジ画像、Depth なら白黒の濃淡(近いほど白)の深度マップになります。
ComfyUI では、この前処理を担うのが ControlNet Preprocessor(Aux Preprocessor)系のカスタムノードです。多くは ComfyUI's ControlNet Auxiliary Preprocessors 等の拡張として導入します。前処理後の中間画像をプレビューして、意図した骨格・線・深度が取れているか確認してから次に進むのが失敗しないコツです。
適用手順:ノードの接続フロー
ComfyUI での基本的な組み方は、次の流れです。ノードベースの基礎に不安があれば、先に ComfyUI の基本ワークフロー入門 を読むと理解が早まります。
- 参照画像を読み込む …
Load Imageノードでポーズや構図の元になる画像を読み込みます。 - 前処理する … Preprocessor ノード(OpenPose / Canny / Depth など)に通し、構造だけの中間画像を作ります。プレビューで確認。
- ControlNet モデルを読み込む …
Load ControlNet Modelで、使うタイプに対応したモデル(openpose 用・canny 用など)をロードします。ベースモデルと世代を合わせるのが重要(SD1.5 用・SDXL 用・FLUX 用は互換がありません)。 - 条件に適用する …
Apply ControlNetノードで、前処理画像・ControlNet モデル・プロンプト(positive/negative の conditioning)を接続します。strength(効き具合)を 0.0〜1.0 で調整。 - サンプリングして生成 … いつも通り
KSampler→VAE Decode→ 保存へ。
ポイントは 4 の strength と、start_percent / end_percent(効かせる区間)です。効きすぎて絵が硬直するなら strength を 0.5〜0.7 程度に落とす、逆にポーズを無視されるなら上げる、と調整します。
構図を思い通りに固定するワークフロー
実務でよく使う「構図を固定して量産する」流れをまとめます。
- 構図の当たりを決める … 3D ポーズツールや手描きラフ、既存写真で、狙いのポーズ・アングルを用意します。
- OpenPose で骨格を固定 … ポーズを最優先するなら OpenPose を strength 高めで。
- 必要なら Depth を重ねる … 前後関係や空間を崩したくない場合、Depth を薄め(0.3〜0.5)で追加。複数 ControlNet は
Apply ControlNetを直列につなぎます。 - プロンプトで内容だけ振る … 骨格は固定されているので、髪型・服・画風・表情をプロンプトで自由に差し替え、バリエーションを量産します。
線画からの着彩や、単一キャラの構図を安定させるプロンプト設計は 1枚絵の構図を決めるプロンプト設計 も合わせて参照すると、ControlNet と相性の良い当て方が掴めます。そもそも ComfyUI 自体がまだよく分からない、という場合は ComfyUIとは何か から入るのがおすすめです。
環境構築なしで構図を試したい場合
ControlNet の厳密なポーズ固定は、モデルや拡張ノードを自分で導入するセルフホスト ComfyUI(OSS)が得意とする領域です。一方で「GPU も環境構築もハードルが高い」「まず構図の当たりだけ手早く付けたい」という人も多いはず。
その場合は、ブラウザ完結・環境構築不要の ComfyStudio が下描き段階の選択肢になります。ComfyStudio 自体は「ComfyUI を自分で構築せずにブラウザで画像生成できる」サービスで、文章から画像を作る標準ワークフロー(official_text_v1)は 4 クレジット=約4円(1クレジット=1円)。登録するだけで 100 クレジットが無料(カード不要)なので、標準画像を約25枚ためせます。
ControlNet 級の関節単位のポーズ固定を求めるならセルフホスト ComfyUI、まず環境なしで構図とプロンプトの当たりを付けたいなら ComfyStudio、と役割で使い分けるのが現実的です。両者は対立するものではなく、下描き(ブラウザ)→ 本番の厳密制御(ComfyUI)と繋げられます。
まとめ
ControlNet は「プロンプトで内容を、参照画像で構造を」と役割を分けることで、ポーズ・線画・深度といった構図を思い通りに固定する道具です。基本は 前処理で構造を抽出 → Apply ControlNet で条件に適用 → strength で効きを調整の 3 ステップ。まずは OpenPose 1 種類だけで挙動を掴み、慣れたら Depth を重ねて構図を作り込んでいきましょう。
「自分で ComfyUI を構築するのはまだ重い」という段階なら、環境構築なしで構図とプロンプトの当たりを付けられる ComfyStudio から始めるのも手です。無料登録で 100 クレジットを受け取り(カード不要・標準画像なら約25枚ぶん)、構図づくりの感覚を掴んでみてください。
- ノードの基礎から:ComfyUI の基本ワークフロー入門
- 構図を決めるプロンプト:1枚絵の構図を決めるプロンプト設計
- そもそも ComfyUI とは:ComfyUIとは何か


