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 で計測した数値ではない点に注意してください。
- ComfyUI Manager から ComfyUI Impact Pack を導入する
UltralyticsDetectorProviderで顔検出モデル(bbox/face_yolov8mなど)を読み込むFaceDetailerノードに image / model / clip / vae / 検出器を接続するdenoiseを 0.4〜0.5 あたりから、guide_sizeを上げて顔を大きめに再描画する- 実行すると、顔を自動でトリミング→拡大→再生成→貼り戻しまで一括で行う
注意点として、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パス生成を併用します。