FLUX Schnellで遠景の顔が崩れる|ComfyUIの対処3つ

FLUX Schnellで遠景の顔が崩れる|ComfyUIの対処3つ

※本記事にはプロモーション(広告・アフィリエイトリンク)を含みます。

FLUX.1 Schnell で全身や街並みごと写した「引き」の構図を作ると、背景やポーズはきれいなのに顔だけが溶ける・目鼻がつぶれる——この現象に絞った対処記事です。ComfyUI で設定を変えて直したい人向けに、崩れる理由の考え方と、効果の出やすい順に3つの手当てを並べます。

はじめに事実の切り分けを明示します。私が実際に手を動かして検証してきたのは Stable Diffusion WebUI 側のアップスケール工程で、FLUX Schnell 固有のノード設定を自分で計測したわけではありません。FLUX の部分は執筆時点(2026-09)の ComfyUI 公式サンプルワークフローと FLUX の公開仕様にもとづいて書き、私の体験と一般論・公式情報を分けて示します。

なぜ遠景・小さい顔だけが崩れるのか

拡散モデルは画像そのものではなく、縦横を8分の1に圧縮した潜在空間(latent)の上で絵を作ります。1024×1024 の画像なら latent は 128×128 です。ここで顔が画面の一割ほどしか占めない引きの構図だと、顔に割り当てられる latent はおおよそ十数ピクセル四方しかありません。目・鼻・口をその情報量で描き切るのは無理があり、崩れて見える——これが小さい顔がつぶれる主因だと考えられます。背景や全身のシルエットは広い面積に情報が乗るので、相対的にきれいに出ます。

裏を返すと、対処の方向は2つに絞れます。(1) 最初から顔により多くのピクセルを割り当てる、(2) 生成後に顔だけを切り出して描き直す。以下はこの順で効きます。

対処1:構図側で顔に使うピクセルを増やす

FLUX.1 は公式のモデルカードによると約1メガピクセル前後(1024×1024 など)を想定した学習になっています。正方形で全身を入れると顔が小さくなるので、まずはアスペクト比を縦長にして顔の占有面積を上げます。ComfyUI の EmptySD3LatentImage ノード(FLUX 系で使う空 latent ノード)で解像度を指定します。

構図 解像度の目安 顔の情報量
全身・正方形 1024×1024 小さくなりがち
全身・縦長 896×1152 / 832×1216 縦に伸びるぶん有利
バストアップ 1024×1024 顔に十分割ける

合計ピクセル数を1MP前後に保ちつつ縦長へ寄せるのが基本です。それでも全身の引きが必要なら、構図調整だけでは限界があるので対処2へ進みます。

対処2:FaceDetailerで顔だけ描き直す

顔の領域を自動検出し、そこだけ切り出して拡大→再生成→元へ貼り戻すのが FaceDetailer です。ComfyUI Impact Pack のノードで、小さい顔対策としては最も直接的です。以下は Impact Pack の一般的な使い方で、私自身が FLUX で計測した数値ではない点に注意してください。

  1. ComfyUI Manager から ComfyUI Impact Pack を導入する
  2. UltralyticsDetectorProvider で顔検出モデル(bbox/face_yolov8m など)を読み込む
  3. FaceDetailer ノードに image / model / clip / vae / 検出器を接続する
  4. denoise を 0.4〜0.5 あたりから、guide_size を上げて顔を大きめに再描画する
  5. 実行すると、顔を自動でトリミング→拡大→再生成→貼り戻しまで一括で行う

注意点として、model clip vae は FLUX 用のものをつなぐ必要があります(SD1.5 用と混在させると破綻します)。denoise を上げすぎると別人になり、下げすぎると崩れが残るので、環境によって異なります。まず 0.4 前後から詰めるのが無難です。

対処3:アップスケール+2パス目で立て直す

これは私が SD WebUI で実際に使っている方法で、FLUX でも考え方は同じです。Mac(Apple Silicon)で 1024×1536 を一発生成すると --opt-sdp-attention でバッファ確保のエラーになり、Hires fix も通らなかったため、私は txt2img 512×768 → ESRGAN で2倍 → img2img でディテール強化、という3ステップに分けて生成しています。

ComfyUI でも同じ発想が使えます。生成した画像を Real-ESRGAN 等でアップスケールし、低 denoise の img2img(2パス目)に通すと、顔の実ピクセルが増えた状態で描き直せます。denoise を 0.3〜0.4 に抑えると、全体の構図を壊さずディテールだけを乗せられます。対処2の FaceDetailer と組み合わせ、「全体を2倍→顔だけ FaceDetailer」とすると効果が重なります。

2パス構成は VRAM を多く使うため、途中でキューが止まる場合は ComfyUIがReconnectingでキューが進まない原因と対処 も合わせて確認してください。

FLUX Schnellのサンプラー設定を疑う

崩れの原因が設定ミス側にあることもあります。FLUX.1 Schnell は公式によると 1〜4 ステップで生成できるよう蒸留(timestep-distilled)されたモデルで、ライセンスは Apache 2.0 です。dev 版と違い、ステップを増やしても質が上がりにくく、むしろ破綻が出ることがあります。

項目 目安(執筆時点のComfyUI公式サンプル)
Steps 4
CFG 1.0
sampler euler
scheduler simple

Schnell はガイダンスが蒸留で内包されているため、CFG を上げたり長いネガティブプロンプトを足したりすると、かえって顔から崩れやすくなることがあると考えられます。dev 用の高い FluxGuidance 値をそのまま流用していないかも確認してください。これらの推奨値は執筆時点のもので、モデル更新で変わる可能性があります。

まとめ:まず顔だけ描き直す1手を入れる

遠景・小さい顔の崩れは「顔に割ける情報量が足りない」ことが主因なので、根本策は解像度と再生成です。次の一手としては、既存のワークフローに 対処2の FaceDetailer を1ノード追加するのが最短です。それで足りなければ縦長構図と2パス目を重ねていってください。

この記事で触れたもの

よくある質問

FLUX Schnellでステップ数を増やせば顔は直りますか?

Schnellは1〜4ステップで生成するよう蒸留されたモデルで、公式仕様上ステップを増やしても質は上がりにくく、むしろ崩れることがあります。顔対策は解像度の見直しやFaceDetailerで行うのが有効です。

FaceDetailerはFLUXでも使えますか?

ComfyUI Impact Packの一般的な手順として利用できますが、接続するmodel・clip・vaeはFLUX用のものにそろえる必要があります。denoiseは0.4前後から調整し、結果は環境によって異なります。

全身を出したいとき解像度は正方形と縦長どちらがいいですか?

全身を入れると顔が小さくなるため、合計を約1メガピクセルに保ちつつ896×1152などの縦長にすると顔の占有面積が増えて有利です。それでも足りなければFaceDetailerや2パス生成を併用します。