【2026年版】ComfyUI ControlNet活用ガイド|Union+DWPoseでポーズ・線画・深度を制御

生成AI

⚠️ 注意: AI画像生成時は著作権・肖像権にご注意ください。商用利用前には各サービスの利用規約をご確認ください。当ブログは生成された画像に関する責任を負いかねます。

要約

この記事では、ComfyUI で ControlNet を使ってポーズ・線画・深度を制御する方法を、2026年9月時点の環境で実際に動かしながら解説します。

先に結論だけ書いておくと、SDXL(Illustrious 系を含む)なら ControlNet Union を1ファイル入れて、「Set Union ControlNet Type」ノードを挟むだけで OpenPose・Depth・Lineart が全部使えます。 ポーズの前処理は OpenPose Pose ではなく DWPose Estimator を使ってください。僕の環境では OpenPose Pose がアニメ絵の腕組みを取り落とし、DWPose は正しく検出できました。strength は 1.0 ではなく 0.5 から試すのがおすすめです。

SD1.5 用のモデル構成と、SD WebUI(A1111 / Forge)での操作も残してあります。


はじめに|ControlNetでポーズや構図を思い通りにする

「このポーズで描いてほしい」「この構図を維持したい」「線画から色を塗ってほしい」

プロンプトだけでは難しいこうした要望を実現するのが ControlNet です。

ControlNet を使うと、こんなことができます:

  • 参照画像と同じポーズで新しいキャラを生成
  • 線画やラフスケッチから本格的なイラストを生成
  • 写真の構図を維持したまま別のシーンに変換
  • 建物や背景の形状を正確に再現

この記事は2026年2月に公開したものを、ComfyUI 0.32 と ControlNet Union で全部やり直して書き直しました。公開当時の記事は SD1.5 を前提にしていて、ノードの名前も今とは違っていたんです。

モチベル
ノードの名前が変わったって、記事を読みながらやったら迷子になるやつだよね
クーラット
そうなんだ。今回は「Apply ControlNet」が新しくなった話から、Union の使い方まで実際に動かして確かめたよ。LoRAとの組み合わせもおすすめ

ControlNetとは

ControlNet は、参照画像から特定の情報(ポーズ、エッジ、深度など)を抽出し、その情報に基づいて画像を生成する技術です。

ControlNetの仕組み


1
参照画像を用意

コントロールしたい情報が含まれた画像を用意します。
(ポーズ写真、線画、深度マップなど)

2
プリプロセッサで情報を抽出

参照画像から必要な情報(骨格、エッジ、深度など)を抽出します。

3
ControlNetモデルで画像生成を制御

抽出した情報をもとに、生成される画像の構図やポーズを制御します。

プリプロセッサとControlNetモデルの関係

用語 役割
プリプロセッサ 参照画像から情報を抽出 DWPose、Canny、Depth Anything 等
ControlNetモデル 抽出した情報で生成を制御 ControlNet Union、control_v11p_sd15_openpose 等

重要: プリプロセッサとControlNetモデルは種類を合わせる必要があります。
例:DWPose で骨格を抽出 → OpenPose 用の ControlNet(Union なら type を openpose に)

モチベル
プリプロセッサとモデルがセットになってるのね
クーラット
そう!種類を間違えると期待通りの結果にならないから注意してね

2026年のおすすめ構成|ベースモデル別に3パターン

先に「何を入れればいいか」をまとめます。ベースモデルによって答えが変わるので、自分の使っている checkpoint に合わせて読んでください。

ベースモデル ControlNet 前処理
SDXL / Illustrious / Pony ControlNet Union(xinsir)1ファイル DWPose / Depth Anything V2 / Anime Lineart
SD1.5 OpenPose・Canny・Depth の個別3種(fp16) 同上
Anima Anima Control Pose(ControlNet ではなく専用アダプタ) 専用ノードが内蔵

僕のメイン環境は SDXL 系と Illustrious 系なので、この記事の検証は SDXL + ControlNet Union で行っています。

情報

OpenPoseXL2 など SDXL 用の個別モデルは要らないの?
同じ参照画像・同じ seed で OpenPoseXL2(4.66GB)と Union(2.34GB)を比べたところ、Union の方が骨格への追従が良く、OpenPoseXL2 は腕組みが再現できませんでした。容量は Union の方が半分以下なので、SDXL は Union 1本で足ります。詳しくは後半の「パラメータ調整」で実際の画像を載せています。

ControlNetの種類と特徴

主要な ControlNet の種類を紹介します。目的に応じて使い分けましょう。

OpenPose|ポーズ制御

人物のポーズ(骨格)を検出・制御します。

用途:

  • 参照画像と同じポーズで別キャラを生成
  • 特定のポーズを正確に再現

検出される情報:

  • 体の関節位置
  • 手の関節
  • 顔のランドマーク
入力画像OpenPose入力画像
検出結果(DWPose)OpenPose検出結果
前処理は「OpenPose Pose」ではなく「DWPose Estimator」を使う

ComfyUI の controlnet_aux には OpenPose 系の前処理ノードが2つあります。OpenPose Pose(旧来の検出器)と DWPose Estimator です。今回の検証で、OpenPose Pose はアニメ絵の腕組みを片腕取り落とし、解像度を 512 / 1024 と変えても同じでした。DWPose は両腕・指・顔の輪郭まで検出できています。アニメ絵を参照にするなら DWPose 一択です。比較画像は後半の「実践例」に載せています。

Canny|エッジ検出

画像の輪郭(エッジ)を検出します。

用途:

  • 線画風の画像生成
  • 形状を維持した変換
  • ロゴやイラストのスタイル変換

特徴:

  • シンプルで軽量
  • 細かい線も検出
  • しきい値で検出感度を調整可能
入力画像Canny入力画像
検出結果Canny検出結果

Depth|深度推定

画像の奥行き(深度)を推定します。

用途:

  • 立体感のある構図を維持
  • 背景と前景の関係を保持
  • 建物や風景の構造を再現

特徴:

  • 近いものは白、遠いものは黒で表現
  • 複雑な構図でも構造を維持
  • 背景生成に特に有効

前処理は Depth Anything V2 を使いました。以前の記事で使っていた Midas より輪郭がなめらかに出ます。

入力画像Depth入力画像
検出結果(Depth Anything V2)Depth Anything V2 による深度マップ

Lineart|線画抽出

画像から線画を抽出します。ComfyUI で「comfyui 線画抽出」を調べている方は、この前処理ノードが答えです。

用途:

  • 線画からイラストを生成
  • スケッチを清書
  • アニメ調の線画変換

controlnet_aux のノード名:

  • Realistic Lineart:写真向けの標準的な線画抽出
  • Anime Lineart:アニメ絵向け。イラストを参照にするならこれ
  • Manga Lineart:太めの線で抽出(lineart_anime_denoise 相当)
入力画像Lineart入力画像
検出結果Lineart検出結果

その他のControlNet

種類 用途 特徴
Scribble 落書きから画像生成 ラフなスケッチでもOK
SoftEdge ソフトなエッジ検出 Cannyより柔らかい印象
Segmentation 領域分割 各パーツを色分けして制御
Normal Map 法線マップ 3D的な凹凸を制御
Tile タイル処理 高解像度化に使用

ControlNet Union|SDXLはこれ1本

SDXL を使うなら、ControlNet Union が最もおすすめです。

ControlNet Union は xinsir 氏が開発した SDXL 向け ControlNet で、1つのモデルファイルで12種類以上の制御に対応しています。

モデル 対応制御の種類
ControlNet Union OpenPose / Canny / Depth / Lineart / Scribble / NormalMap 等12種類以上
ControlNet Union ProMax 上記 + Tile / Inpaint / Outpaint も含む拡張版

メリット:

  • 種類ごとにモデルをダウンロードする必要がない
  • 1ファイル(2.34GB)で完結するため管理が楽
  • Illustrious 系の checkpoint でもそのまま効いた

ComfyUI で使うときは、「Set Union ControlNet Type」ノードで種類を指定するのがポイントです。試しにこのノードを外して同じ条件で生成したところ、立ち姿にはなるものの腕組みが出ず、効きがはっきり弱くなりました。使い方は次の章で説明します。

モチベル
SDXLならUnionを1個入れれば全部対応できるの?
クーラット
そう!SD1.5は種類ごとに個別モデルが必要だけど、SDXLはUnionが一番使いやすいよ。type の指定だけ忘れないでね

事前準備|ControlNetモデルのダウンロードと導入

ControlNetモデルの入手先

ControlNet モデルは Hugging Face や Civitai からダウンロードできます。

SDXL用モデル(推奨)

ControlNet Union(xinsir/controlnet-union-sdxl-1.0):1ファイルで全種類対応

  • 通常版:diffusion_pytorch_model.safetensors(2.34GB)
  • ProMax 版:diffusion_pytorch_model_promax.safetensors(Tile / Inpaint / Outpaint も使いたい場合)

ダウンロードしたら、ファイル名を controlnet-union-sdxl-1.0.safetensors のように分かりやすい名前に変えておくと、ノードのドロップダウンで迷いません。

SD1.5用モデル

Hugging Face – lllyasviel/ControlNet-v1-1(公式リポジトリ)

ファイル形式は fp16 safetensors を推奨します。容量が約723MBと、通常版(約1.45GB)の半分で、品質面の差はほぼありません。ファイル名に _fp16.safetensors が付いているものを選んでください。

最初は以下の3つがあれば多くの用途に対応できます。

モデル ファイル名(fp16) 容量 用途
OpenPose control_v11p_sd15_openpose_fp16.safetensors 723MB ポーズ制御
Canny control_v11p_sd15_canny_fp16.safetensors 723MB エッジ・線画
Depth control_v11f1p_sd15_depth_fp16.safetensors 723MB 深度・構図

モデルの配置場所

ComfyUIの場合

ComfyUI/
└── models/
    └── controlnet/          ← 小文字。ここにモデルを配置
        ├── controlnet-union-sdxl-1.0.safetensors
        ├── control_v11p_sd15_openpose_fp16.safetensors
        └── ...

SD WebUI(AUTOMATIC1111 / Forge)の場合

stable-diffusion-webui/
└── models/
    └── ControlNet/          ← 大文字C。ここにモデルを配置
        ├── controlnet-union-sdxl-1.0.safetensors
        └── ...
注意

フォルダ名の大文字・小文字に注意
ComfyUI は models/controlnet/(小文字)、SD WebUI は models/ControlNet/(大文字C)です。間違えるとモデルが認識されません。
情報

ベースモデルに合わせたControlNetを使用してください

  • SD 1.5を使う場合 → SD 1.5用ControlNet
  • SDXL / Illustrious / Pony を使う場合 → SDXL用ControlNet(ControlNet Union推奨)

ツール別の追加セットアップ

ComfyUI:controlnet_aux カスタムノード(必須)

ComfyUI でプリプロセッサを使うには comfyui_controlnet_aux カスタムノードが必要です。DWPose・Depth Anything V2・Anime Lineart はすべてこのパックに入っています。

情報

カスタムノードの導入方法は ComfyUIカスタムノード入門 を参照してください。

ComfyUI Manager で「controlnet aux」と検索してインストールします。

Controlnet Auxのインストール

DWPose や Depth Anything の検出モデルは、初回実行時に自動でダウンロードされます。初回だけ数分かかるので、止まったように見えても待ってください。

SD WebUI (AUTOMATIC1111):sd-webui-controlnet 拡張をインストール

A1111 では ControlNet 拡張の追加が必要です。

  1. 「Extensions」タブ → 「Install from URL」を選択
  2. URL欄に https://github.com/Mikubill/sd-webui-controlnet を入力
  3. 「Install」をクリック
  4. 「Installed」タブで「Apply and restart UI」

SD WebUI (Forge):追加不要

Forge には ControlNet が内蔵されているため、拡張のインストールは不要です。モデルを配置するだけで使えます。

モチベル
Forgeは最初から入ってるの!それは楽だね
クーラット
そうそう。A1111は拡張が必要だけど、Forgeなら設定の手間が減るよ。どちらもUIはほぼ同じだから操作に慣れたら応用しやすいよ

ComfyUIでのControlNetの使い方|Union + DWPose

ControlNet の処理フローはどのツールでも共通です。

参照画像 → [プリプロセッサ] → 制御マップ → [ControlNet] → 生成制御

ComfyUI では、通常の txt2img ワークフローに 4つのノードを足すだけです。ポーズ制御(DWPose + Union)を例にした完成形がこちらです。

ComfyUIでControlNet UnionとDWPoseを使うワークフロー全体図
Load Image → DWPose Estimator → Apply ControlNet の流れ。Load ControlNet Model の後ろに Set Union ControlNet Type を挟む

「Apply ControlNet」ノードが新しくなっている

先に1つ注意点です。2026年9月時点の ComfyUI では、「Apply ControlNet」ノードが positive と negative の両方を受け取る形になっています。出力も positive / negative の2本で、それぞれ KSampler に繋ぎます。

以前の「positive だけ通す」ノードは 「Apply ControlNet (DEPRECATED)」 という名前になり、ノード検索に出てこなくなりました。古い記事やワークフローをなぞっていて「ノードが見つからない」となったら、これが原因です。

項目 旧ノード 現行ノード
表示名 Apply ControlNet (DEPRECATED) Apply ControlNet
入力 conditioning / control_net / image / strength positive / negative / control_net / image / strength / start_percent / end_percent / vae(任意)
出力 CONDITIONING 1本 positive / negative の2本

vae は任意入力なので、繋がなくても動きます。僕は checkpoint の VAE をそのまま繋いでいます。

ワークフローの組み方

1
参照画像を読み込む

「Load Image」ノードを追加し、ポーズの参考にしたい画像を読み込みます。

ダブルクリック → 検索欄に「Load Image」

2
DWPose Estimator を追加

controlnet_aux の「DWPose Estimator」ノードを追加します。

ダブルクリック → 検索欄に「DWPose」

接続:
Load Image の IMAGE → DWPose Estimator の image

設定は既定値のままで大丈夫です(detect_hand / body / face すべて enable、resolution 512)。僕の環境では resolution を 1024 にしても検出結果は変わりませんでした。

3
Load ControlNet Model と Set Union ControlNet Type を追加

「Load ControlNet Model」ノードで Union のファイルを選びます。

続けて 「Set Union ControlNet Type」 ノードを追加し、type を openpose にします。

接続:
Load ControlNet Model の CONTROL_NET → Set Union ControlNet Type の control_net

type の選択肢は openpose / depth / canny/lineart/anime_lineart/mlsd / hed/pidi/scribble/ted / normal / segment / tile / repaintauto です。前処理に合わせて選んでください。

4
Apply ControlNet を追加して接続

「Apply ControlNet」ノードを追加します(DEPRECATED が付いていない方)。

接続:

  • CLIP Text Encode(ポジティブ)の CONDITIONING → Apply ControlNet の positive
  • CLIP Text Encode(ネガティブ)の CONDITIONING → Apply ControlNet の negative
  • Set Union ControlNet Type の CONTROL_NET → Apply ControlNet の control_net
  • DWPose Estimator の IMAGE → Apply ControlNet の image
  • Load Checkpoint の VAE → Apply ControlNet の vae(任意)

5
KSampler に繋ぎ直す

Apply ControlNet の出力を KSampler に繋ぎます。

接続:

  • Apply ControlNet の positive → KSampler の positive
  • Apply ControlNet の negative → KSampler の negative

もともと CLIP Text Encode から直接 KSampler に繋がっていた線は、ここで置き換わります。

6
strength を 0.5 にして実行

Apply ControlNet の strength を 0.5 にして、Run で生成します。

骨格が正しく取れていれば 0.5 でポーズは決まります。効きが弱いと感じたら 0.8 まで上げてみてください。

モチベル
ノードがたくさんあるけど、順番に繋げていけばいいのね
クーラット
そうそう!DWPose の出力に Preview Image を繋いで、骨格がちゃんと取れているか確認するのがおすすめだよ。ここで崩れていたら、後ろをいくら調整しても直らないから

SD WebUIでのControlNet設定

A1111 と Forge は UI がほぼ同じです。ここでは OpenPose を例に説明します。

1
ControlNetパネルを展開

txt2img または img2img タブの下部に「ControlNet」セクションがあります。クリックして展開します。

(A1111の場合、拡張がインストールされていないと表示されません)

2
参照画像をアップロード

「Image」欄に参照画像をドラッグ&ドロップ、またはクリックしてアップロードします。

3
プリプロセッサとモデルを選択

  • Preprocessordw_openpose_full(DWPose。手・顔も検出)
  • Model:SDXL なら controlnet-union-sdxl-1.0、SD1.5 なら control_v11p_sd15_openpose_fp16

プリプロセッサとモデルは必ず同じ種類のものを選んでください。

4
Control Weightを設定

Control Weight(強度)を設定します。まずは 0.5〜0.8 から。

チェックボックス「Enable」にチェックが入っていることを確認します。

5
生成実行

プロンプトを入力して「Generate」をクリックします。参照画像のポーズを維持した画像が生成されます。


パラメータ調整のコツ|strengthは0.5から

ControlNet の効果を最適化するためのパラメータ調整方法を解説します。以前の記事では「まず 1.0 で試す」と書いていましたが、実際に比べてみたら 0.5 で十分でした。 ここは訂正します。

strength(強度)の実測比較

同じ参照画像(腕組みの立ち姿)・同じ seed で、strength だけ変えて生成した結果です。前処理は DWPose、ControlNet は Union(type: openpose)です。

ControlNet なしControlNetなしの生成結果。机に手をついた前屈みの横向き
strength 0.5strength 0.5の生成結果。正面で腕を組んだ立ち姿
strength 1.0strength 1.0の生成結果。腕は組んでいるが上の腕が肩に手を置く形
実際の結果
0.0(なし) 参照と無関係な構図。プロンプトだけだと立ち姿すら出なかった
0.5 正面で腕組み。3枚の中で最も自然で、参照に一番近い
0.8 腕組みだが、上になる腕が肩に手を置く形に崩れた
1.0 0.8 とほぼ同じ

強くすれば良くなるわけではなく、0.8 以上では腕の重なりがかえって不自然になりました。 骨格が正しく取れているなら 0.5 で十分です。

調整のコツ:

  • まずは 0.5 で試す
  • ポーズが崩れる場合は、strength を上げる前に前処理の出力(骨格画像)を確認する
  • 画質が低下する場合は強度を下げる

開始・終了タイミング

ControlNet が効くタイミングを調整します。

パラメータ 意味 既定値
start_percent(ComfyUI)/ Guidance Start(SD WebUI) ControlNet開始タイミング 0.0(最初から)
end_percent(ComfyUI)/ Guidance End(SD WebUI) ControlNet終了タイミング 1.0(最後まで)

応用例:

  • 序盤だけ制御(0.0〜0.5):構図を決めて、後半は自由に
  • 後半だけ制御(0.5〜1.0):ある程度生成してから補正

今回の検証では end_percent を 0.5 にしても、1.0 のときと絵はほとんど変わりませんでした。ポーズは序盤で決まるので、後半を解放しても崩れないということだと思います。ControlNet の跡(不自然な硬さ)が気になるときに下げる、くらいの位置づけです。

ツール別のパラメータ名

同じ機能でもツールによってパラメータ名が異なります。

機能 ComfyUI SD WebUI
強度 strength Control Weight
開始タイミング start_percent Guidance Start
終了タイミング end_percent Guidance End

プリプロセッサ固有のパラメータ

DWPose Estimator:

  • detect_hand / detect_body / detect_face:それぞれの検出を有効化。基本は全部 enable
  • resolution:検出時の解像度。既定の 512 で足りる(1024 にしても結果は同じだった)
  • bbox_detector / pose_estimator:検出モデルの選択。既定値のままで問題なし

Canny:

  • low_threshold:エッジ検出の下限(小さいほど細かい線も検出)
  • high_threshold:エッジ検出の上限(大きいほど強い線のみ検出)

Depth Anything V2:

  • ckpt_name:vitl(大)/ vitb / vits(小)。精度重視なら vitl

実践例

実践例1:ポーズ参照で別キャラを生成

参照画像のポーズを維持しながら、別のキャラクターを生成します。ここでは前処理の違いも一緒に見てください。

設定:

  • プリプロセッサ:DWPose Estimator
  • ControlNet:Union(type: openpose)
  • 強度:0.5
参照画像ポーズ参照画像。腕を組んで立つ制服の女の子
DWPose の検出DWPoseの検出結果。両腕・両手・顔の輪郭まで骨格が取れている
生成結果DWPose + ControlNet Unionの生成結果。参照と同じ腕組みの立ち姿

前処理を間違えるとこうなる(OpenPose Pose の場合)

同じ参照画像を「OpenPose Pose」ノードで処理した結果です。片腕の肘から先が検出されておらず、首の位置もずれています。 この骨格で生成すると、腕を下ろした立ち姿になってしまいました。

OpenPose Pose の検出OpenPose Poseの検出結果。片腕の肘から先が欠けている
その骨格で生成した結果OpenPose Poseの骨格で生成した結果。腕組みにならず腕を下ろしている

解像度を 512 にしても 1024 にしても同じ欠け方だったので、解像度の問題ではなく検出器の癖です。「ControlNet が効かない」と感じたら、strength をいじる前に骨格画像を見てください。 原因がここにあることは本当に多いです。

モチベル
骨格が崩れてたら、そりゃポーズも崩れるよね
クーラット
僕も最初は ControlNet の強度を疑ったんだけど、骨格画像を保存して見たら一発だったよ

実践例2:線画から着彩

手描きの線画やスケッチから、色付きのイラストを生成します。

設定:

  • プリプロセッサ:なし(線画がすでにある場合は不要。Load Image から直接 Apply ControlNet の image へ)
  • ControlNet:Union(type: canny/lineart/anime_lineart/mlsd)
  • 強度:1.0
線画線画。白線・黒背景で描かれた腕組みの女の子
生成結果ControlNet Unionで線画に着彩した結果。線どおりに服とリュックが塗られている

腕組み・リュック・スカートのなびきまで線どおりに着彩されました。1つ注意点があって、線画の右下にあった署名風の走り書きまで、そのまま絵に出ています。 線画は「描いてあるものは全部再現される」ので、要らない線は先に消しておいてください。

線画の解像度が生成サイズと違う場合は、間に「Image Scale」ノードを挟んで揃えておくと、位置ずれが起きません。

実践例3:構図を維持したスタイル変換

写真の構図(深度情報)を維持しながら、別のスタイルで再生成します。

設定:

  • プリプロセッサ:Depth Anything V2 – Relative(vitl)
  • ControlNet:Union(type: depth)
  • 強度:0.8
元の画像元の画像。昼の木造校舎の廊下
深度マップDepth Anything V2の深度マップ。近景が白く奥の窓が黒い
生成結果深度を維持して夜の月明かりの廊下に変換した結果

昼の廊下を、プロンプトで「night, moonlight, blue tones」にして生成し直したものです。扉・窓・天井の照明の位置がそのまま残っているのが分かると思います。背景差分を作るときの基本形で、背景プロンプトの記事と組み合わせると効きます。


複数のControlNetを組み合わせる

複数の ControlNet を同時に使用して、より精密な制御が可能です。

組み合わせ例

OpenPose + Depth

  • ポーズと奥行きを同時に制御
  • キャラを背景の中に「置く」ような使い方

Canny + OpenPose

  • 輪郭とポーズを両方維持
  • より正確なキャラクター再現

ComfyUIでの接続方法

Apply ControlNet ノードを直列に繋げます。1つ目の positive / negative 出力を、2つ目の positive / negative 入力に渡す形です。

CLIP Text Encode → Apply ControlNet (openpose) → Apply ControlNet (depth) → KSampler

Union を使う場合、Load ControlNet Model は1つで済みます。 そこから「Set Union ControlNet Type」を2つ生やして、片方を openpose、もう片方を depth にすれば、同じモデルを2種類の制御に使い回せます。

ControlNet Unionでポーズと深度を同時に使うワークフロー全体図
Load ControlNet Model は1つ。Set Union ControlNet Type を2つに分岐させ、Apply ControlNet を直列に繋ぐ

この構成(ポーズ 0.8・深度 0.6)で実際に生成した結果がこちらです。

ポーズと深度を同時に使った生成結果。廊下の構図は深度どおりだが、キャラは後ろ向きになった
廊下の奥行き・窓・天井照明は深度マップどおり。ただしキャラは後ろ向きになり、腕組みは見えなくなった

正直に書くと、背景は深度どおりに出たのに、キャラは後ろを向いてしまいました。 参照の腕組みは再現されていません。原因として思い当たるのは2つです。

  • 深度マップが横長(1280×768)なのに、生成サイズが縦長(1024×1280)で、深度側が引き伸ばされた
  • ポーズ 0.8 と深度 0.6 が綱引きになり、「廊下の中央に立つ」方が勝った

2枚重ねは「両方効く」のではなく「両方が妥協点を探す」動きになります。ポーズを優先したいなら深度側を 0.3〜0.4 まで下げるか、end_percent を 0.5 程度にして序盤だけ構図を決めるのが次の手です。

ヒント

複数使用時は各 ControlNet の強度(strength / Control Weight)を下げる(0.5〜0.7程度)と、バランスが取りやすくなります。参照画像同士のアスペクト比も揃えておいてください。

SD WebUIでの接続方法

SD WebUI では ControlNet パネルにタブが複数あります(ControlNet Unit 0 / Unit 1 / Unit 2…)。

  1. 「ControlNet Unit 0」で1つ目の ControlNet を設定
  2. 「ControlNet Unit 1」タブを開いて2つ目を設定
  3. 各ユニットの「Enable」にチェックを入れる

A1111・Forge ともに操作は同じです。


Anima でポーズ制御したい場合|ControlNet ではなく専用アダプタ

2026年に入って使う人が増えている Anima(Circlestone Labs)は、SDXL とはアーキテクチャが違うので、SDXL 用の ControlNet Union は使えません。

代わりに Anima Control Pose という専用のポーズ制御アダプタが公開されています(2026年6月に Preview-2 が出ました)。

項目 内容
配布元 Hugging Face Claquasse/Anima-Control-Pose
モデル anima_pose_preview2.safetensors(75MB)を models/loras/ に配置
ノード 同梱の2つのカスタムノード(Anima Control Apply / Anima Pose Control)を custom_nodes/ にコピー
前処理 Anima Pose Control ノードが写真から骨格を検出(内部で DWPose 系の検出器を使用)
対応解像度 512 / 768 / 1024
ライセンス CircleStone Labs Non-Commercial(モデルの重みは非商用。生成した画像は商用利用可

作者自身が「Preview-2 はまだ実験段階で、複雑なポーズは外すことがある」と書いています。走る・跳ぶ・座るといった動きの大きいポーズが一番不安定とのことです。

このアダプタは、僕の環境では検証していません。重みが非商用ライセンスで、広告やアフィリエイトのあるこのブログのために動かすのが「非商用」に入るのか判断がつかなかったからです。上の導入手順と制限は、配布ページの README に沿って書いています。ここでは「Anima は Union ではなく Control Pose を探す」という道しるべとして置いておきます。


トラブルシューティング

ControlNetが効かない

ComfyUIの場合:

  • Union を使っていて「Set Union ControlNet Type」を挟んでいない → type を前処理に合わせて指定する(なしでも少しは効くが、細かいポーズが出ない)
  • プリプロセッサと ControlNet モデルの種類が合っているか
  • strength が 0 になっていないか
  • Apply ControlNet の positive / negative が両方 KSampler に繋がっているか

SD WebUIの場合:

  • ControlNet パネルの「Enable」チェックが入っているか
  • プリプロセッサとモデルの種類が合っているか
  • Control Weight が 0 になっていないか

ポーズが参照と違う

  • 前処理の出力を確認する。 DWPose の IMAGE 出力に Preview Image を繋いで、骨格が正しく取れているか見る
  • OpenPose Pose を使っている → DWPose Estimator に変える
  • 参照画像と生成サイズのアスペクト比が大きく違う → 揃える

strength を上げても直らないときは、ほぼ骨格側の問題です。

「Apply ControlNet」ノードが見つからない

  • 現行のノード名は「Apply ControlNet」で、入力に positive / negative の2本がある
  • 古い記事の「Apply ControlNet(conditioning 1本)」は DEPRECATED 扱い。設定 → Node で「Show deprecated nodes in search」を有効にすると検索に出るが、現行ノードに置き換えた方がいい

画質が低下する

対処法(共通):

  • 強度を下げる(0.5〜0.8程度に)
  • 終了タイミングを下げる(ComfyUI: end_percent 0.8 / SD WebUI: Guidance End 0.8)
  • ControlNet モデルのバージョンを確認(古いモデルは品質が低いことも)

プリプロセッサでエラーが出る

ComfyUIの場合:

  • controlnet_aux を最新版に更新(ComfyUI Manager → Update)
  • 初回実行時は検出モデルのダウンロードで数分止まる。エラーではないので待つ
  • 画像サイズが極端に大きい場合はリサイズ

SD WebUIの場合:

  • sd-webui-controlnet 拡張を最新版に更新(Extensions → Check for updates)
  • WebUI を再起動する

メモリ不足になる・遅い

ComfyUIの場合:

  • 画像サイズを小さくする
  • 使用する ControlNet の数を減らす
  • SDXL 用の個別モデル(OpenPoseXL2 など 4GB 超)は VRAM 8GB だと退避が起きて遅い。 Union(2.34GB)に置き換える

SD WebUIの場合:

  • 起動オプションに --medvram(中程度削減)または --lowvram(大幅削減)を追加
  • 画像サイズを小さくする
  • 複数の ControlNet Unit を同時に使う場合は数を減らす
モチベル
うまくいかないときは設定を見直せばいいのね
クーラット
そうそう。特に「骨格画像がちゃんと出ているか」と「Union の type を指定しているか」は最初に確認しよう

よくある質問


QControlNetモデルはどこでダウンロードできますか?
A

Hugging Face で公式モデルが公開されています。SDXL 用は ControlNet Union(xinsir/controlnet-union-sdxl-1.0)が1ファイルで全種類対応しておすすめです。SD1.5 用は「lllyasviel/ControlNet-v1-1」です。Civitai にも多くの ControlNet モデルがあります。

QIllustrious や Pony でも ControlNet Union は使えますか?
A

はい。どちらも SDXL ベースなので、SDXL 用の ControlNet Union がそのまま使えます。この記事の検証は Illustrious 系の checkpoint で行っています。Illustrious 専用を謳う ControlNet もありますが、まず Union を試して不足を感じてからで十分です。

QControlNet Union を入れたのに効きません
A

ComfyUI では「Load ControlNet Model」の後ろに「Set Union ControlNet Type」ノードを挟んで、type を前処理に合わせて指定してください(openpose / depth / canny/lineart… など)。僕の検証では、このノードなしでも多少は効きましたが、腕組みのような細かいポーズは再現されませんでした。

QOpenPose Pose と DWPose Estimator はどちらを使えばいいですか?
A

DWPose Estimator です。同じアニメ絵の参照画像で比べたところ、OpenPose Pose は片腕を取り落とし、DWPose は両腕・指・顔まで検出できました。解像度を変えても OpenPose Pose の欠けは直りませんでした。

Qstrength はいくつにすればいいですか?
A

まず 0.5 で試してください。骨格が正しく取れていれば 0.5 でポーズは決まり、僕の検証では 0.8 以上にすると腕の重なりがかえって不自然になりました。効きが弱いときは 0.8 まで上げ、それでもダメなら strength ではなく前処理の出力を疑ってください。

Q複数のControlNetを同時に使えますか?
A

はい。ComfyUI では Apply ControlNet ノードを直列に繋げることで複数同時使用できます。Union なら Load ControlNet Model は1つで、Set Union ControlNet Type を2つに分けるだけです。SD WebUI では「ControlNet Unit 0」「Unit 1」など複数のタブを使います。

Q自分で描いた線画をそのまま使いたい場合は?
A

線画をそのまま ControlNet に入力できます。ComfyUI ではプリプロセッサをスキップして、線画画像を直接 Apply ControlNet の image 入力に接続してください。SD WebUI では「Preprocessor」を「none」に設定します。要らない線(署名やメモ書き)も再現されるので、先に消しておくのがコツです。

QAnima で ControlNet は使えますか?
A

SDXL 用の ControlNet は使えません。Anima には専用の「Anima Control Pose」アダプタ(Hugging Face: Claquasse/Anima-Control-Pose)があり、同梱のカスタムノードでポーズ制御ができます。モデルの重みは非商用ライセンスですが、生成した画像は商用利用できます。


まとめ|SDXLならUnion + DWPoseで始めよう

この記事のポイント

  1. ControlNetとは:参照画像から情報を抽出して生成を制御する技術。ComfyUI・SD WebUI 共通の知識
  2. SDXL / Illustrious は ControlNet Union 1本:Set Union ControlNet Type で種類を指定する
  3. ポーズの前処理は DWPose Estimator:OpenPose Pose はアニメ絵で腕を取り落とす
  4. strength は 0.5 から:骨格が正しければそれで決まる。上げすぎると崩れる
  5. Apply ControlNet は positive / negative の2本:古い記事のノードは DEPRECATED

次のステップ

  • まずは DWPose + Union でポーズ制御を試してみる
  • 線画から着彩に挑戦(プリプロセッサ不要)
  • Depth で背景の構図を固定して、背景差分を作る
  • 慣れてきたら OpenPose + Depth の組み合わせで、キャラを背景の中に置く

ControlNet を使いこなせば、「こんな構図で」「このポーズで」という要望を実現できるようになります。まずは1種類から試して、徐々にレパートリーを増やしていきましょう。

モチベル
ControlNetのこと、だいぶわかってきた!DWPose から試してみる
クーラット
いいね!骨格画像をプレビューしながら調整すると、何が起きてるかわかりやすいよ
ControlNetの処理が重いと感じたら

複数の ControlNet を同時に使うと VRAM 消費が大きくなります。ConoHa AI Canvasの速度検証では、ControlNet×3+LoRA×2 の構成で約3.3倍の速度差が出ています。処理速度に不満がある方はクラウド環境も選択肢です。

関連記事

ローカルAI生成の始め方【2026年版】画像・動画・音楽を作るならComfyUI
結論:画像だけ手軽に試すならWebUI、動画・音楽まで本格的に作るならComfyUIがおすすめ。GPUがあればローカルなら追加料金なしで使い放題。インストールからLoRA・ControlNet・動画・音楽生成まで、初心者が学ぶ順番をロードマップでまとめました。
【2026年版】ComfyUIインストール方法|AI画像生成ローカル環境構築ガイド
AI画像生成をローカルPCで始めるならComfyUIがおすすめ。Windows版のインストール方法を初心者向けに解説。Python・Git不要のポータブル版で簡単セットアップ。推奨GPU・必要スペックから初めての画像生成まで手順をスクショ付きで紹介。
AI画像生成ポーズプロンプト30選|日常〜アクション|ComfyUI・SD対応
ポーズプロンプト30種類をコピペできる一覧表で紹介。日常・アクション・感情表現・ファンタジーのシーン別に、そのまま使える英語キーワードを生成例つきで解説。表情・カメラアングルとの組み合わせ方も収録。ComfyUI・Stable Diffusion対応。
ComfyUI背景プロンプト100選|キャラを固定して背景差分を作るコツ
ComfyUI・Stable Diffusionで使える背景プロンプト100種類を、室内・シンプル・自然・都市・ファンタジー・季節別にコピペできる一覧表で紹介。同じキャラで背景差分を作るコツ、背景だけ生成する指定、馴染ませ方も生成例つきで解説します。
ComfyUI Checkpointおすすめ|初心者向けモデル選び完全ガイド
ComfyUIのCheckpointおすすめを初心者向けに解説。最初に入れるモデル早見表、SD1.5とSDXLの選び方、アニメ・リアル系モデル、LoRA・VAEの違い、商用利用ライセンス、モデル配置場所、VRAM不足時の環境選びまで整理します。
【初心者向け】LoRAの使い方完全ガイド|導入・強度調整・おすすめまで
結論:LoRAの強度は0.6〜0.8が基本の目安。ComfyUI・SD WebUIでのCivitaiダウンロードからLoad LoRAノードの繋ぎ方、複数LoRA併用時の強度調整、Animagine XLなどアニメ系モデルで使うコツ、効かない時の対処法まで解説します。
【初心者向け】ComfyUIカスタムノード入門|Manager導入から人気ノードまで完全解説
ComfyUIのカスタムノードを初心者向けに解説。ComfyUI Managerはmanager_requirements.txtでvenvに入れるのが今の方法です。実際に入れて確かめたうえで、最初に入れる3つ・後回しでいいもの・僕が入れなかったものに分けて紹介します。
AIで作った画像集・プロンプトPDF付き BOOTHで販売中

⚠️ AI画像生成をご利用の際の重要な注意事項

著作権・知的財産権について

  • 既存のキャラクター、作品、ブランドロゴなどの模倣・複製は著作権侵害にあたる可能性があります
  • 商用利用時は特に注意が必要です

肖像権について

  • 実在人物(著名人・一般人問わず)の顔や特徴を模倣した画像生成はお控えください
  • 無断での肖像権使用は法的トラブルの原因となります

利用規約の確認

  • 各AI画像生成サービスの利用規約を必ずご確認ください
  • 商用利用の可否、生成画像の権利関係は各サービスで異なります

免責事項

  • 当ブログの情報を参考にしたAI画像生成により生じた問題について、当ブログは一切の責任を負いません
  • 法的問題が生じた場合は、利用者の自己責任となります
  • 最新の法律・規約情報は公式情報をご確認ください

適切なAI画像生成を心がけ、創作活動を楽しみましょう。
詳細についてはAIと著作権についてをご覧ください。

コメント