Stable Diffusionで画像を生成していると、
「人物のポーズが思い通りにならない」
「元画像の構図を保ったまま別テイストに変えたい」と感じる場面があります。
そこで役立つのが、画像の構図やポーズ、線画、奥行きなどを指定して生成できる拡張機能「ControlNet」です。
通常のプロンプトだけでは再現しにくい細かな指示も、ControlNetを使えば元画像や下絵をもとにコントロールしやすくなります。
本記事では、Stable DiffusionにおけるControlNetの基本機能やできること、導入方法、代表的な使い方を初心者にもわかりやすく解説します。
- Stable Diffusionの「ControlNet」とは?
- ControlNetを使う際に必要な環境
- ControlNetの代表的なモデル・機能
- ControlNetモデルのダウンロード方法
table Diffusionの「ControlNet」とは?
Stable Diffusionの「ControlNet」とは、画像生成AIに対して「どんな構図で描くか」「人物のポーズをどうするか」「線画をどう反映するか」などを細かく指示できる拡張機能です。
通常のStable Diffusionは、プロンプトで「女性が立っている」「部屋の中」などと入力しても、構図やポーズまでは思い通りに固定しにくい場合があります。
そこでControlNetを使うと、元画像の輪郭、ポーズ、深度、線画、ラフスケッチなどをもとに、生成画像の形や配置をコントロールできます。
たとえば、人物のポーズ画像を読み込ませれば、そのポーズを保ったまま、アニメ風・実写風・水彩風など別のテイストで画像を作れます。
また、建物の線画からリアルな外観パースを作ったり、手描きラフから完成度の高いイラストを生成したりすることも可能です。
つまりControlNetは、Stable Diffusionに「自由に描かせる」のではなく、「指定した設計図に沿って描かせる」ための仕組みです。
画像生成の再現性を高められるため、イラスト制作、広告バナー、漫画、建築イメージ、ポーズ指定など、狙い通りの画像を作りたい場面で役立ちます。
ControlNetを使う際に必要な環境
ControlNetを使う際に必要な環境について詳しく解説していきます。
- Stable Diffusion Web UIが必要
- 必要なPCスペック・GPU環境の目安
Stable Diffusion Web UIが必要
ControlNetを使う代表的な方法は、Stable Diffusion Web UIに拡張機能として導入するやり方です。
Stable Diffusion Web UIとは、Stable Diffusionをブラウザ上で操作できるようにする管理画面のようなものです。
通常のコマンド操作だけで画像生成を行うのは初心者にとって難しい面がありますが、Web UIを使えば、プロンプト入力、モデル選択、画像サイズの指定、生成枚数の設定などを画面上で操作できます。
ControlNetもこのWeb UIに追加することで、元画像を読み込ませたり、ポーズや線画、奥行き情報を反映させたりできます。
導入後は、txt2imgやimg2imgの画面内にControlNetの設定項目が表示され、そこから使用するモデルやプリプロセッサを選択します。
つまり、ControlNetを使いこなす第一歩は、Stable Diffusion Web UIを問題なく起動できる環境を整えることです。
必要なPCスペック・GPU環境の目安
ControlNetを快適に使うには、GPUを搭載したPCが推奨されます。
Stable Diffusionは画像生成時に大きな計算処理を行うため、CPUだけでも動作する場合はあるものの、生成速度が非常に遅くなりやすいです。
目安としては、NVIDIA製GPUを搭載し、VRAMが最低でも6GB以上あると使いやすくなります。
より高解像度の画像を生成したい場合や、複数のControlNetを同時に使いたい場合は、VRAM 8GB以上、できれば12GB以上あると安定しやすいです。
メモリは16GB以上、ストレージはモデルファイルを保存するために空き容量を多めに確保しておくと安心です。ControlNetのモデルデータは容量が大きいため、SSD環境のほうが読み込みもスムーズになります。
なお、PCスペックが不足している場合は、Google ColabやクラウドGPUサービスを利用する方法もあります。
ローカル環境にこだわらず、自分の作業量や予算に合わせて環境を選ぶことが大切です。
ControlNetのインストール方法
ControlNetを使うには、拡張機能を入れるだけでなく、用途に合ったControlNetモデルをダウンロードして設定する必要があります。
- AUTOMATIC1111版の手順
- Forge版の手順
UTOMATIC1111版の手順

AUTOMATIC1111版でControlNetを使う場合は、まずStable Diffusion Web UIを起動します。
画面上部のメニューから「Extensions」を開き、「Install from URL」を選択してください。
URL入力欄に「sd-webui-controlnet」のGitHub URLを入力し、「Install」をクリックします。
インストールが完了したら、「Installed」タブに移動し、「Apply and restart UI」を押してWeb UIを再起動します。
ControlNetのGitHubでも、ExtensionsからURLを使ってインストールする流れが案内されています。
再起動後、txt2imgやimg2imgの画面を開き、下部に「ControlNet」という項目が表示されていれば拡張機能の導入は完了です。
Forge版の手順

Forge版は、AUTOMATIC1111版をベースにしつつ、動作の軽さや拡張機能の扱いやすさを意識して作られたStable Diffusion Web UIの派生版です。
Forge版ではControlNet機能があらかじめ組み込まれていることが多く、AUTOMATIC1111版のように「Extensions」からControlNet拡張機能を追加しなくても使える場合があります。
実際にForge側の議論でも、ControlNetはForgeに含まれており、基本的にはモデルファイルを用意すればよいと説明されています。
使い方の流れとしては、まずForge版のStable Diffusion Web UIを起動し、txt2imgまたはimg2imgの画面にControlNet関連の項目があるか確認します。
表示されていれば、次に必要なControlNetモデルをダウンロードします。保存先は「stable-diffusion-webui-forge/models/ControlNet」フォルダが基本です。
AUTOMATIC1111版とフォルダ名が似ていますが、Forge版を使う場合は「stable-diffusion-webui-forge」側のフォルダに入れる点に注意してください。
ControlNetの基本的な使い方
ControlNetの基本的な使い方は、元になる画像を読み込み、目的に合ったプリプロセッサとモデルを選んで画像を生成する流れです。
| 機能名 | 主な特徴 | 向いている用途 | 注意点 |
|---|---|---|---|
| Canny | 元画像の輪郭線を抽出して、形や構図を反映できる | 写真の構図を保ったままアニメ風・イラスト風に変換する | 輪郭を強く反映するため、自由な構図変更には不向き |
| OpenPose | 人物の骨格やポーズを読み取り、同じ姿勢で画像を生成できる | キャラクターのポーズ指定、人物イラスト、広告素材の作成 | 顔や服装の細部までは再現しにくいため、プロンプトで補足が必要 |
| Depth | 元画像の奥行きや空間構成を読み取って反映できる | 室内写真、背景、構図、立体感を活かした画像生成 | 細かい輪郭の再現には不向き |
| Lineart | 線画やラフ画をもとに画像を生成できる | 下描きからカラーイラストを作る、漫画風・アニメ風画像の作成 | 線が多すぎる、または曖昧すぎると意図が伝わりにくい |
| Inpaint | 画像の一部だけを自然に修正・差し替えできる | 手や顔の修正、不要物の削除、服装や背景の一部変更 | マスク範囲が広すぎると元画像の印象が変わりやすい |
| Tile | 元画像を保ちながら高解像度化・細部補完ができる | 画像のアップスケール、低解像度画像の品質改善 | 設定が強すぎると元画像から雰囲気が変わる場合がある |
| Reference | 元画像の絵柄・色味・雰囲気を参考にできる | 同じ画風で別画像を作る、広告やイラストのトーン統一 | 構図やポーズを固定したい場合は他モデルとの併用が必要 |
| Scribble | 簡単な手描き線やラフスケッチから画像を生成できる | アイデア出し、ラフ構図からの画像生成、絵が苦手な人の下描き活用 | 線が抽象的すぎると意図と違う画像になりやすい |
- Canny|輪郭線をもとに画像を生成する
- OpenPose|人物のポーズを指定する
- Depth|奥行きや構図を反映する
- Lineart|線画をもとに画像を生成する
- Inpaint|画像の一部を自然に修正する
- Tile|画像をアップスケールする
- Reference|元画像の絵柄を保持する
- Scribble|抽象的な線画から画像を生成する
詳しく解説していきます。
Canny|輪郭線をもとに画像を生成する

Cannyは、元画像から輪郭線を抽出し、その線をもとに新しい画像を生成するControlNetの代表的な使い方です。
人物、建物、商品、背景などの形をある程度保ったまま、画風や色味だけを変えたいときに向いています。
たとえば、写真の構図を保ったままアニメ風にしたい場合や、建物の外形を活かして別デザインのイメージを作りたい場合に便利です。
使うときは、ControlNetに元画像を読み込み、プリプロセッサで「canny」、モデルでCanny系のモデルを選びます。
すると、元画像の輪郭情報が抽出され、生成画像に反映されます。Cannyは輪郭を強く参照するため、元画像の形を残しやすい一方で、自由な構図変更にはやや不向きです。
また、線が細かすぎる画像では情報量が多くなり、仕上がりが硬く見えることもあります。
輪郭をどの程度反映させるかは、Control Weightなどの数値で調整できます。
構図をしっかり維持したいときは強めに、雰囲気だけ参考にしたいときは弱めに設定すると扱いやすくなります。
OpenPose|人物のポーズを指定する

OpenPoseは、人物の姿勢や手足の位置を指定して画像を生成したいときに使うControlNetです。
元画像から骨格のようなポーズ情報を抽出し、そのポーズをもとに別の人物画像を作れます。
たとえば、腕を上げているポーズ、座っているポーズ、走っているポーズなどを固定したまま、服装・髪型・キャラクター・画風を変えたい場合に便利です。
使い方は、ControlNetに人物画像を読み込み、プリプロセッサでOpenPose系を選び、モデルもOpenPose系に合わせます。
すると、画像内の人物の骨格情報が検出され、その姿勢に沿って新しい画像が生成されます。
OpenPoseはポーズ指定に強い一方、顔の細部や服のデザイン、背景まで完全に再現するものではありません。
そのため、キャラクターの見た目や服装はプロンプトで補足する必要があります。
また、元画像の人物が小さすぎる、体の一部が隠れている、複数人が重なっている場合は、ポーズ検出が不安定になることもあります。
人物イラストや広告素材で「このポーズのまま別キャラにしたい」という場面では、特に使いやすい機能です。
Depth|奥行きや構図を反映する

Depthは、元画像の奥行き情報を読み取り、立体感や構図を反映して画像を生成する機能です。
Cannyのように輪郭線を細かく拾うのではなく、手前と奥の距離感、人物や物体の配置、空間の広がりをもとに制御します。
たとえば、室内写真の奥行きを保ったまま別のインテリアに変えたい場合や、人物と背景の距離感を維持して別テイストの画像を作りたい場合に向いています。
使うときは、ControlNetに元画像を入れ、プリプロセッサでDepth系、モデルもDepth系を選択します。
Depthは構図全体を自然に保ちやすいため、写真風画像や背景生成との相性が良いです。一方で、輪郭の細かい再現にはCannyやLineartほど向いていません。
元画像の形を厳密に残すというより、「空間の構成を参考にする」機能と考えると分かりやすいです。
たとえば、人物が手前、建物が奥、空が上にあるといった配置を保ちながら、雰囲気を大きく変えたいときに活躍します。
Depthは元画像から深度情報を抽出して別画像を生成するモデルとして紹介されています。
Lineart|線画をもとに画像を生成する

Lineartは、線画やイラストの輪郭をもとに画像を生成したいときに使うControlNetです。
ラフ画、清書済みの線画、漫画の下描きなどを読み込ませることで、その線を活かしたカラーイラストや別テイストの画像を作れます。
Cannyも輪郭を扱いますが、Lineartはイラストや線画向けに使いやすく、手描きの線を活かした生成に向いています。
使い方は、ControlNet欄に線画画像をアップロードし、プリプロセッサとモデルをLineart系に設定します。
その後、プロンプトで「アニメ風」「水彩風」「ファンタジー風」「制服を着た少女」など、仕上げたい内容を入力して生成します。
Lineartを使うと、キャラクターのポーズや髪型、服の大まかな形を残しながら着色や質感を変えられます。
ただし、線が多すぎる場合やラフすぎる場合は、AIが意図を読み取りにくくなることもあります。
そのため、最初はシンプルで見やすい線画を使うと安定しやすいです。
イラスト制作で「下描きは自分で用意し、仕上げの方向性をAIに出してもらう」ような使い方に適しています。
sd-webui-controlnetの関連チュートリアルでも、LineartはControlNet機能の一つとして扱われています。
Inpaint|画像の一部を自然に修正する

Inpaintは、画像の一部だけを自然に修正・差し替えたいときに使う方法です。
通常の画像生成では全体が変わってしまうことがありますが、Inpaintを使えば、指定した範囲だけを変更し、周囲となじむように補正できます。
たとえば、人物の手の崩れを直す、服の一部を変更する、背景の不要物を消す、表情だけを変えるといった使い方が可能です。
ControlNetと組み合わせる場合は、修正したい画像を読み込み、マスクで変更したい範囲を指定します。
そのうえで、Inpaint系の設定や必要なControlNetモデルを使い、プロンプトで修正内容を入力します。
たとえば「自然な右手」「白いシャツ」「背景から看板を消す」など、変更したい内容を具体的に書くと反映されやすくなります。
Inpaintは便利な反面、マスク範囲が広すぎると元画像の印象が大きく変わり、狭すぎると修正が不自然になることがあります。
最初は小さめの範囲から試し、生成結果を見ながら調整するのがおすすめです。
ControlNet関連の補助プリプロセッサでもInpaintは個別に扱われることがあります。
Tile|画像をアップスケールする

Tileは、画像を高解像度化したり、細部を補完したりしたいときに使われるControlNetです。
通常のアップスケールでは、画像を大きくするとぼやけたり、細部が崩れたりすることがあります。
Tileを使うと、画像を小さな領域に分けて処理しながら、元画像の雰囲気を保ちつつディテールを追加しやすくなります。
たとえば、低解像度のイラストを大きくしたい場合、背景の細部を自然に描き足したい場合、SNS用画像を印刷や大きめの表示に耐えられる品質へ近づけたい場合に便利です。
使うときは、img2imgなどで元画像を読み込み、ControlNetでTile系のモデルを選びます。そのうえで、解像度やDenoising strengthを調整しながら生成します。
Denoising strengthが高すぎると元画像から離れやすく、低すぎると変化が少なくなります。
Tileは「絵柄を変える」よりも「元画像を活かして画質を上げる」用途で考えると分かりやすいです。
ControlNet 1.1ではTileを含む新しいモデルが追加されたと説明されています。
Reference|元画像の絵柄を保持する

Referenceは、元画像の絵柄や雰囲気を参考にしながら、新しい画像を生成したいときに使う機能です。
CannyやOpenPoseのように輪郭やポーズを厳密に制御するというより、色味、質感、キャラクターの雰囲気、イラストのタッチなどを寄せたいときに向いています。
たとえば、あるイラストの塗り方や世界観を保ちながら、別ポーズのキャラクターを作りたい場合や、広告バナーのビジュアルトーンをそろえたい場合に役立ちます。
使うときは、ControlNetに参考画像を読み込み、Reference系の設定を選びます。その後、プロンプトで生成したい内容を指定します。
Referenceは元画像の雰囲気を参考にするため、構図まで完全に固定したい場合はCannyやDepth、人物の姿勢を固定したい場合はOpenPoseと組み合わせると扱いやすくなります。
ただし、元画像に含まれる要素が強く出すぎることもあるため、Control Weightを調整しながら使うことが大切です。
sd-webui-controlnetのチュートリアルでも、ReferenceはControlNetの機能の一つとして紹介されています。
Scribble|抽象的な線画から画像を生成する

Scribbleは、簡単な手描き線やラフな落書きをもとに画像を生成できるControlNetです。
CannyやLineartよりも入力画像が簡易的でよく、ざっくりとした構図や形をAIに伝えたいときに向いています。
たとえば、丸や線だけで人物の配置を描いたり、建物や背景の大まかな形を描いたりして、それを完成度の高いイラストや写真風画像に変換できます。
使い方は、手描きのラフ画像をControlNetに読み込み、プリプロセッサとモデルをScribble系に設定します。
そのうえで、プロンプトに「森の中の小さな家」「剣を持ったキャラクター」「近未来の街」など、完成イメージを入力します。
Scribbleは発想を素早く形にするのに便利ですが、線があまりにも曖昧だと意図と違う画像になることもあります。
重要な形や位置関係は、できるだけ分かりやすく描くと安定します。
絵が得意でない人でも、ラフな構図から画像を作れる点が大きな魅力です。ControlNet 1.1ではScribbleを含む既存モデルの改善や新モデルの追加が説明されています。
ControlNetモデルのダウンロード設定方法
ControlNetを使うには、拡張機能を導入するだけでなく、用途に合ったControlNetモデルをダウンロードして設定する必要があります。
詳しく解説していきます。
- AUTOMATIC1111版の手順
- Forge版の手順
AUTOMATIC1111版の手順でControlNetをインストールする手順

AUTOMATIC1111版でControlNetを使う場合は、Stable Diffusion Web UIを起動し、画面上部の「Extensions」を開きます。
次に「Install from URL」タブを選択し、URL入力欄にhttps://github.com/Mikubill/sd-webui-controlnet.gitを入力して「Install」をクリックします。
sd-webui-controlnetの公式GitHubでも、ExtensionsタブからInstall from URLを開き、GitHub URLを入力してインストールする手順が案内されています。
インストール後は「Installed」タブへ移動し、「Apply and restart UI」をクリックしてWeb UIを再起動します。
再起動後、txt2imgやimg2imgの画面に「ControlNet」の項目が表示されれば、拡張機能の導入は完了です。
Forge版の手順

Forge版は、AUTOMATIC1111版をベースにした派生版で、軽量化や拡張機能の扱いやすさを意識して作られています。
Forge版ではControlNet機能があらかじめ組み込まれていることが多く、AUTOMATIC1111版のようにExtensionsからControlNet拡張機能を追加しなくても使える場合があります。
ForgeのGitHub Discussionsでも、ControlNetはForgeに含まれており、基本的にはモデルファイルをダウンロードすればよいと説明されています。
使い方は、まずForge版のStable Diffusion Web UIを起動し、txt2imgまたはimg2imgの画面にControlNetの項目が表示されているか確認します。
表示されていれば、Canny、OpenPose、Depth、Lineartなど必要なControlNetモデルをダウンロードし、stable-diffusion-webui-forge/models/ControlNetに配置します。
AUTOMATIC1111版とフォルダ名が似ているため、Forgeを使う場合は必ずstable-diffusion-webui-forge側へ保存する点に注意が必要です。
配置後にForgeを再起動し、ControlNet欄でモデルを選択できれば設定完了です。
ControlNetに関するよくある質問
ControlNetに関するよくある質問を詳しく解説していきます。
- AUTOMATIC1111版の手順
- Forge版の手順
- ControlNetは無料で使える?
-
ControlNetは、Stable Diffusion Web UIの拡張機能として無料で利用できます。
AUTOMATIC1111向けの代表的な拡張機能「sd-webui-controlnet」はGitHubで公開されており、Web UIに追加して使えます。
ただし、無料で使える範囲は「ControlNet本体」や一部モデルに限られるため、使用する生成モデルや配布サイトのライセンスは別途確認しましょう。
- ControlNetはスマホでも使える?
-
ControlNetは処理が重いため、基本的にはPCでの利用が向いています。
特にローカル環境で使う場合は、GPUや十分なメモリがあるPCのほうが安定します。
スマホ単体で本格的に動かすのは難しいですが、クラウドGPUやWebサービスを利用すれば、スマホのブラウザから操作できる場合もあります。
Stable Diffusion Web UIもオンラインサービス経由で使う方法が案内されています。
- ControlNetは商用利用できる?
-
ControlNetを使った画像を商用利用できるかは、ControlNetだけでなく、使用するStable Diffusionモデル、ControlNetモデル、LoRA、素材画像、配布元のライセンスによって変わります。
たとえばStability AI系モデルでは、商用利用に収益条件などが設けられているものもあります。
広告、商品素材、販売物に使う場合は、必ず各モデルのライセンスを確認してから利用しましょう。
まとめ:ControlNetの使い方を覚えて画像生成の自由度を高めよう
ControlNetは、Stable Diffusionで生成する画像の構図やポーズ、輪郭、奥行き、線画などを細かくコントロールできる便利な機能です。
通常のプロンプトだけでは、人物の姿勢や建物の形、背景の配置まで正確に指定するのは難しい場合があります。
しかし、ControlNetを使えば、元画像やラフ画をもとに画像生成の方向性を固定できるため、狙いに近い仕上がりを作りやすくなります。
たとえば、Cannyでは輪郭線を活かした画像生成、OpenPoseでは人物のポーズ指定、Depthでは奥行きや構図の反映、Lineartでは線画からのイラスト生成が可能です。
さらに、Inpaintを使えば画像の一部修正、Tileを使えばアップスケール、Referenceを使えば絵柄の保持、Scribbleを使えばラフな線画からの生成にも対応できます。
ControlNetを使いこなすには、目的に合ったモデルとプリプロセッサを選ぶことが重要です。
最初はCannyやOpenPoseなど分かりやすい機能から試し、慣れてきたら複数の機能を組み合わせるとよいでしょう。
ControlNetの使い方を覚えれば、画像生成の再現性が高まり、イラスト制作や広告素材、デザイン案作成などの自由度を大きく広げられます。

