ComfyUIでポーズを指定する方法|ControlNetの強度を3段階で比較
確認日:2026-09-10 / 検証ラベルは本文記載の条件・範囲に限ります。
この記事の内容
用語のリンクを押すと、用語集の説明を開きます。
「片腕を上げた人物」を作りたいとき、文章だけでは腕の位置が思うように決まらないことがあります。ControlNetは、ポーズなどを示す画像を追加の手がかりとして使う仕組みです。
今回は、用意済みのポーズ画像を読み込むところから始めます。同じSeedで強度0・0.6・1を比べたところ、強度1で片腕を上げる形が出ました。ただし、顔や体格まで同じにはなりませんでした。
この練習で行うこと・行わないこと
対象は、Illustriousで1枚生成する手順を終えた方です。Checkpointだけで1枚保存できることを先に確認してください。
今回の入力は、編集部が点と線で作った練習用のポーズ画像です。実在する人の写真から抽出したものではありません。OpenPose形式の体の関節配置を参考にしていますが、手指の細かな点は入れていません。
写真からポーズを検出する前処理、ポーズ編集アプリの導入、手指だけの修正は扱いません。前処理とは、元の写真などをControlNetが使う手がかり画像へ変える作業です。配布PNGを使う今回は、その追加処理が不要です。
1. 2種類のモデルを区別して用意する
| 種類 | 今回使うもの | 役割 |
|---|---|---|
| Checkpoint | WAI-illustrious-SDXL v16.0 | 人物や服などを描く土台 |
| ControlNetモデル | xinsir/controlnet-openpose-sdxl-1.0 | ポーズ画像から生成を誘導 |
CheckpointはIllustriousの記事のモデル準備と同じ、`waiIllustriousSDXL_v160.safetensors`です。配布元に成人向け作例が含まれる場合がある点も、同記事で案内しています。この記事の生成例は服を着た成人男性です。
追加モデルはxinsirの配布ファイル一覧から、`diffusion_pytorch_model.safetensors`を取得します。`twins`付きのファイルではありません。今回確認したファイルは2,502,139,104バイト、約2.5GBです。
他のモデルと見分けるため、取得したファイルを`xinsir-openpose-sdxl-1.0.safetensors`へ名前を変え、使用中のComfyUIの`models/controlnet/`へ置きます。元の名前のまま使う場合は、ワークフロー側でその名前を選び直してください。
モデルの説明ページではSDXL用、ライセンスはApache 2.0と表示されています。SD1.5用のControlNetとは区別します。利用時はCheckpoint側の条件も確認してください。この記事は、この2モデルの組み合わせでの検証であり、SDXL系の全モデルで同じ結果が出るという案内ではありません。
2. JSONを開き、ポーズPNGを選ぶ
JSONは標準10ノードです。カスタムノードとLoRAは使いません。JSONを開いたら、CheckpointとControlNetのモデル名をそれぞれ確認します。モデル本体は配布JSONに入っていません。

「画像を読み込む(Load Image)」のアップロード欄から、配布したポーズPNGを選びます。人物の写真をそのまま入れる練習ではありません。黒い背景に色付きの点と線が見えたら、入力画像を確認できています。
ポーズPNGは1024×1024です。「空の潜在画像」も幅1024・高さ1024・バッチサイズ1にします。入力と生成で比率が違うと位置関係が変わりやすいため、最初はこの組み合わせを保ってください。
3. 文章とポーズを合流させる
配布JSONでは、文章とControlNetの手がかりを「ControlNetを適用(Apply ControlNet Advanced)」で合流させています。
| 適用ノードへ入るもの | 接続元 |
|---|---|
| positive | 描いてほしい内容のCLIP Text Encode |
| negative | 避けたい内容のCLIP Text Encode |
| control_net | Load ControlNet Model |
| image | Load ImageのポーズPNG |
| vae | Load CheckpointのVAE出力 |
適用ノードから出たpositive・negativeをKSamplerへ渡します。元の文章ノードからKSamplerへ直接つないだままだと、ポーズの条件を通りません。
CLIPは文章を生成用のデータへ変換する仕組み、KSamplerはその条件から画像の元を作る部品です。最初から線を引き直す必要はありません。JSONを読み込み、線の流れを見る練習に使ってください。
4. 強度1・開始0・終了1で、1枚保存する
| 項目 | 配布版の値 | 意味 |
|---|---|---|
| strength・強度 | 1 | ポーズの手がかりを効かせる強さ |
| start_percent | 0 | 生成の最初から適用 |
| end_percent | 1 | 生成の最後まで適用 |

開始と終了の欄は「パーセント」と表示されますが、ここでは0〜1の割合で指定します。100ではなく1を入れます。
生成設定はSeed 20260912、Steps 20、CFG 5、euler、normal、denoise 1です。Seedは生成の出発点を決める番号です。比較するときは固定し、まず強度だけを変えます。
Promptは次の文章です。片腕を上げる指示は文章には追加していません。
full body, solo, adult man, short brown hair, blue jacket, white shirt, dark trousers, sneakers, standing, white background, clean anime illustration
Negativeは「text, watermark, blurry, cropped, extra arms, extra legs, missing fingers, bad hands」です。手の崩れを避けたい指定を入れても、完全に防げるわけではありません。
実行回数を1にして実行します。終わったらSave ImageのPNGを開き、腕の上下、足の位置、手指の形を確認してください。
強度0・0.6・1では、何が変わったか
3条件は、同じモデル・Prompt・Seed・サイズで生成しました。変えた生成設定はControlNetの強度です。保存用のファイル名も分けています。



今回の入力では、0.6では腕が上がらず、1で目的の大まかなポーズが出ました。「0.6なら十分」「1なら常に正確」と決めつけず、自分の入力で確かめてください。
また、強度を変えると顔や服の形、体格まで変わっています。ControlNetは、同じ人物の見た目を固定して腕だけを動かす機能ではありません。入力には手指の細かな点がないため、握り方まで指定できた例でもありません。

動かない・効かないときの確認順
| 状態 | 確認すること |
|---|---|
| モデルが見つからない | CheckpointとControlNetの保存場所・ファイル名を分けて確認 |
| 入力画像がない | Load Imageで配布PNGを選び直す |
| 人物は出るがポーズが効かない | 適用ノードの出力がKSamplerへ渡っているか、強度が0でないか |
| 写真を入れても動きが合わない | 今回は用意済みのポーズPNG用。写真からの検出処理は含まれていない |
| 手だけ崩れる | 体のポーズ指定だけで手指まで保証できない。出力を拡大して確認 |
| 処理が進まない | 追加送信せず、実行ログと環境の版を確認する |
今回の検証でも停止がありました。ComfyUI 0.33.4の動的VRAM管理が有効な起動条件では、強度0.6の初期処理が15分進まず、打ち切りました。その後、検証用の起動に`--disable-dynamic-vram`を追加し、同じ3条件が成功しました。
動的VRAM管理は、画像生成用の専用メモリへモデルを載せる方法の一つです。今回の切り替えで動作は回復しましたが、根本原因を特定したとは言えません。このオプションを全員が追加する手順にはしていません。起動方法が分からない場合は、普段の設定を変更せず、メモリ不足の確認順とエラーの切り分けを先に確認してください。
用語と検証条件
| 用語 | この記事での意味 |
|---|---|
| ControlNet | 画像の手がかりを追加して生成を誘導する仕組み |
| OpenPose | 体の関節などを点と線で表す形式や検出方法 |
| 前処理 | 写真などを、モデルが使う手がかり画像へ変換する工程 |
| strength | 追加の手がかりを効かせる強さ |
検証日は2026年9月10日。Windows、ComfyUI 0.33.4、画面側1.48.7、RTX 4070 Ti 12GB、RAM 32GBです。掲載した3条件はlowvram・VRAM予約1GB・CPU VAE・動的VRAM無効で実行しました。画面側などに版の互換性警告がある環境です。APIで3条件を実行し、強度1は画面からも確認しました。人物1種類・ポーズ1種類の検証で、速度や精度の一般的な比較ではありません。
まずは配布PNGと強度1で、片腕を上げた画像を保存してみてください。そのあと強度0.6と比べると、効き方と、ポーズ以外に変わる部分を見分けやすくなります。
