【#4】Hires Fixの構築(データ配布有り)【ComfyUI講座】【2025年版】
今回は「Hires Fixの構築」を実践していきます。ワークフローは第一回に作ったものを使います。ModelはNoobAI(NAI-XL)を使用していますが、第二回を参考にお好きなModelを使っていただいて構いません。
1.json「第一回で作成したワークフロー」
空のファイルを新規作成し、このjsonをD&Dするとワークフローが展開されます。
Hires Fixとは?

Hires Fix(High Resolution Fix)は、低解像度で一度画像を生成し、その後、高解像度へとアップスケール&再描画する手法です。
🔧 主な目的
高解像度生成時のノイズ・崩れ・バグ を防ぐ
高精細なディテールを描く
解像度依存の破綻(顔のゆがみ、構図崩れ)を避ける
🧠 なぜ必要?
直接高解像度を生成しようとするとVRAM負荷が増大+画像品質が不安定になります。
Hires Fixは2段階に分けることで品質と安定性を両立します。
✅ Kサンプラーの設定例
1段階目(txt2img)
ステップ:24~30(推奨:28)
CFG:6.5~8(推奨:7.5)
サンプラー名:DPM++ 2M Karras(推奨)
スケジューラ:karras(高品質向け)
ノイズ除去:固定:1.0
2段階目(Hires Fix:img2img)
画像を拡大(指定サイズ):1.2~2倍に設定
ステップ:10~20(推奨:12~16)(1段階目の半分)
CFG:1段階目と同じ
サンプラー名:1段階目と同じ
スケジューラ:1段階目と同じ
ノイズ除去:0.4~0.6(推奨:0.5)(1段階目の半分)
一般的にHires Fixに書かれている項目は上から順に「Latent Upscale」「Steps」「CFG Scale」「Sampler」「Scheduler」「Denoise」と表記されます。今回はComfyUIの表記で統一しています。
💡補足Tips
高解像度は「画像を拡大(指定サイズ)」で1.2~2倍が安定
顔アップのような構図はノイズ除去を0.55以上にすることでディテール向上
モデルごとに推奨サンプラーやCFGが指定されている場合は「1段階目」に優先して適用すべきです。
ノイズ除去の目安(参考)
顔の修正(顔だけ変えたい): 0.3 くらい
構図を変えずに衣装や髪型を変える: 0.5~0.6
完全に作り直したいけど元画像を参考にしたい: 0.8~0.95
破綻しやすく非推奨 :1.0
今回構築するHires Fixを含むワークフロー
① [CLIP Text Encode (Positive)] ② [CLIP Text Encode (Negative)]
│ │
└────────────┬────────────────────────┘
▼
🧠 1段階目:低解像度生成(txt2img)
┌──────────────────────────────────────────────┐
│ [Empty Latent Image] (例: 512x768) │
│ [KSampler①] │
│ - Steps: 28(推奨) │
│ - CFG: 7~8(推奨) │
│ - Sampler: DPM++ 2M Karras(推奨) │
│ - Scheduler: karras │
│ - Denoise: 1.0(固定) │
└──────────────────────────────────────────────┘
▼
[Latent → Image] → 低解像度画像完成
▼
🧠 2段階目:Hires Fix(高解像度再描画)
┌──────────────────────────────────────────────┐
│ [Latent Upscale](例:2倍、768x1152) │
│ [KSampler②(img2img再描画)] │
│ - Steps: 12~16(推奨) │
│ - CFG: 7~8(同値) │
│ - Sampler: 同上(例:DPM++ 2M Karras) │
│ - Scheduler: 同上 │
│ - Denoise: 0.4~0.6(推奨) ← ここが重要! │
└──────────────────────────────────────────────┘
▼
[Latent → Image] → 高解像度最終画像
▼
[Preview] / [Save Image]
Hires Fixの構築
作成するノード「画像を拡大(指定サイズ)」「VAEエンコード」「Kサンプラー」「VAEデコード」






作成した4つのノードを並べます
ノードの接続方法







2.json「ここまでのワークフロー」
補足:このjsonはHires Fixの値が適正ではありません。


画像を拡大(指定サイズ)の拡大方法について

スケールバイをお好みの倍率(1.2~2.0)に設定します。選択できる拡大方法はいずれもAIによる超解像ではなく、古典的な補間による拡大・縮小処理です。
nearest-exact(最近傍補間):荒くてドットが目立つ。高速。
bilinear(バイリニア補間):ラフなプレビューや簡易拡大に
area(面積平均補間):縮小に最適。拡大には不向き
bicubic(バイキュービック補間):風景や人物、汎用画像の拡大におすすめ
lanczos(ランチョス補間):最も高画質。輪郭がはっきりした画像に最適
割愛しますが画像拡大系カスタムノードに「ComfyUI-ESRGAN」(単なる高画質化)、「ComfyUI-Impact-Pack」(再描写と高繊細化)があります。Kサンプラーを通過する画像は鮮明であるほど有利な結果になります。ただし、高画質化と引き換えに処理速度が遅くなるためバランスが重要です。
Kサンプラー「シード」「生成後の制御」

Kサンプラーには潜在画像と合わせて「シード」を組み合わせることでノイズを生成します。シードを制御するものが「生成後の制御」です。
fixed:値を固定して変更しない。
increment:実行ごとに値を一定ステップで増加させる。
decrement:実行ごとに値を一定ステップで減少させる。
randomize:実行ごとにランダムな値を指定範囲で選択する。
つまり、
生成結果を固定する場合は「fixed」
生成結果に不規則性をもたせる場合は「randomize」
生成結果を規則的な変化をもたせる場合は「increment」「decrement」
T2imgのKサンプラーとHires FixのKサンプラーのシード値を同じにした場合
安定した再描画をしたいとき(再現性):推奨
高解像で少し表情を変えたいとき:効果が薄い
ランダム性を強調した再描画がしたいとき:非推奨(randomizeやincrementのほうが効果的)
【重要】値を持つノードは値を持つノードに接続出来ない

たとえば、Kサンプラー(左)はシードに8732から始まる値を持ち、Kサンプラー(右)はシードに0という値を持っています。このように値をすでに持っているノードはつなぐことができません。
次回は値の一括管理とワークフローの管理についてです。
前回:LDM、VAE、ControlNet、LoRAの導入について解説
📌 AIイラストの構成設計や生成安定化に興味がある方へ
このnoteでは再現性重視の技術を発信しています。詳細なテンプレートやLoRAは、メンバーシップで限定公開しています。
