search
  1. ComfyUIの2パスとHires fix|段階的に大きくした描き直し

ComfyUI

ComfyUIの2パスとHires fix|段階的に大きくした描き直し

編集部 読了 約6分

*2026年9月29日に確認した内容です。ComfyUI の作者の例のページ「2 Pass Txt2Img (Hires fix) Examples」(ComfyUI の README からリンクされている例のワークフローのページ)と、ComfyUI の公式ドキュメント(「テキストから画像へ」・組み込みのノードの説明の LatentUpscale・ImageScale・VAEEncode・KSampler)によります。画面と画像は、編集部の PC(Windows 11・NVIDIA GeForce RTX 4060)のポータブル版(Python ごと1つのフォルダに入った Windows 向けの ComfyUI。ComfyUI v0.37.0・フロントエンド 1.52.7・画面の表示は日本語)で作りました。

2パス(Hires fix)は、まず小さい画像を作り、それを大きくしてから、もう一度 KSampler(ノイズを取り除いて画像を作るノード)でデノイズ(描き直しの強さ)を下げて描き直す組み方です。一度に大きく作ると崩れる画像も、2パスなら小さい画像の大まかな配置を残したまま大きくできます。大きくする方法には、潜在のまま大きくする組み方と、画像にしてから大きくする組み方があります。

2パスは小さく作ってから大きくして描き直す

ComfyUI の作者の例のページでは、Hires fix を、低い解像度で画像を作り、それを大きくして、img2img(元の画像から新しい画像を作ること)で描き直すことだとしています。同じページによると、ComfyUI では、文章から画像と img2img は、同じ KSampler のノードを使います。文章から画像は、空の潜在をデノイズ最大(1.00)で KSampler に渡して作ります。

2パスでは、1つめの KSampler で小さい画像を作り、2つめの KSampler で、大きくした画像をデノイズ 1.00 より小さくして描き直します。

編集部は、SD1.5 のモデルで、1024×1024 を一度に作った画像と、512×512 で作ってから2倍にして描き直した画像を比べました。プロンプトは「a modern living room interior, large windows, natural light, wooden floor, sofa」、ほかはシード 42・ステップ 20・CFG 7.0・euler・normal です。

一度に1024×1024に作った画像と、512×512から潜在で2倍にしてデノイズ0.5で描き直した画像。左は部屋がくり返されたように崩れ、右は1つの部屋にまとまる
左が一度に 1024×1024、右が2パス(どちらも 1024×1024・v0.37.0)

一度に 1024×1024 に作ると、部屋がくり返されたような崩れた画像になりました。公式ドキュメントのテキストから画像への手引きでも、SD1.5 は 512×512 で学習されていて、1024×1024 を直接作ると質が落ちるとしています。2パスでは、512×512 で作った部屋の大まかな配置を残したまま、1024×1024 の画像になりました。

潜在のまま大きくして描き直す

作者の例のページの基本の例は、潜在のまま大きくする組み方です。

  1. 文章から画像のワークフローで、「空の潜在画像」の幅と高さを 512 にし、1つめの「Kサンプラー」で小さい画像を作る
  2. 1つめの「Kサンプラー」の「潜在」を、「潜在を拡大(指定サイズ)」(LatentUpscaleBy)の「samples」につなぎ、「スケールバイ」を 2.00 にする
  3. 2つめの「Kサンプラー」を置き、「潜在画像」に手順2の出力を、「モデル」「ポジティブ」「ネガティブ」に1つめと同じものをつなぐ
  4. 2つめの「Kサンプラー」の「ノイズ除去」を 0.50 にする
  5. 2つめの「Kサンプラー」の「潜在」を「VAEデコード」の「サンプル」につなぐ
  6. 画面の右上の「実行する」を押す
1つめのKサンプラー(ノイズ除去1.00)から潜在を拡大(指定サイズ)(スケールバイ2.00)を通り、2つめのKサンプラー(ノイズ除去0.50)から画像を保存につないだところ。保存した画像は1024×1024
ワークフローの右の部分。2つめの「Kサンプラー」のノイズ除去は 0.50(v0.37.0・フロントエンド 1.52.7)

潜在を大きくするノードの設定は、「ComfyUIの潜在の加工|拡大・合成・切り抜き・演算」の記事で解説しています。

画像にしてから大きくして描き直す

作者の例のページには、潜在でない拡大の例もあります。ページでは、アップスケールのモデル(学習で画像を大きくするモデル)の ESRGAN で画像を大きくする例を挙げています。ESRGAN は画素の画像を扱うので、いったん画像に戻して大きくし、また潜在に戻す必要があります。

編集部は、アップスケールのモデルの代わりに、組み込みの「画像を拡大(指定サイズ)」(ImageScaleBy・lanczos・2倍)で試しました。

  1. 1つめの「Kサンプラー」の「潜在」を「VAEデコード」の「サンプル」につなぐ
  2. 「VAEデコード」の「画像」を「画像を拡大(指定サイズ)」につなぎ、倍率を 2 にする
  3. 拡大した画像を「VAEエンコード」の「ピクセル」に、「チェックポイントを読み込む」の「VAE」を「vae」につなぐ。「VAEエンコード」の「潜在」を、2つめの「Kサンプラー」(ノイズ除去 0.50)の「潜在画像」につなぐ

アップスケールのモデルの使い方は、「ComfyUIのアップスケールのモデル|Upscale Image using Model」の記事で解説します。画像の大きさを変えるノードは、「ComfyUIの画像を加工するノード|大きさ・切り抜き・色・合成・フィルタ」の記事で解説しています。

2回目のデノイズと大きさ

2つめの KSampler のデノイズと大きくする方法を変えて、比べました。

潜在で2倍にしてデノイズ0.3・0.5・0.7にした3枚と、画像で2倍にしてデノイズ0.5にした1枚。0.3はブロック状の粗さが残り、0.5と0.7は家具が増える
2つめの KSampler のデノイズと、大きくする方法だけを変えた4枚(どれも 1024×1024・v0.37.0)

編集部の試しでは、潜在のまま大きくしてデノイズ 0.3 にすると、拡大したときのブロック状の粗さが残りました。0.5 では、大まかな配置は残り、家具が足されるなど細部が描き直されました。0.7 では、さらに1つめの画像から離れました。画像にしてから大きくしたもの(デノイズ 0.5)は、1つめの画像に近い構図と色でした。

作者の例のページには、1つめと2つめで別のモデルを使う例もあります。1つめのモデルで作った画像を潜在のまま大きくし、2つめを別のモデルで描き直しています。

img2img のデノイズの考え方は、「ComfyUIのimg2img|Load Image・VAE Encode・デノイズ」の記事で解説しています。

会員登録(無料)

記事やテーマのお気に入り・学習履歴・フォローが使えます。

この記事について

PERSC編集部が、建築の制作に関わる知識を実務目線で整理しています。内容は公開・更新日時点の情報にもとづきます。誤りや古い情報にお気づきの場合はお問い合わせよりご連絡ください。

あわせて読みたい