クリーンでフォトリアルな顔の置換のための FLUX Kontext Face Swap ワークフロー
この ComfyUI ワークフローは、InsightFace ベースのアライメントとペーストステージを FLUX.1 画像生成と組み合わせることで、高品質な顔の置換を実行します。これにより、迅速で信頼性のある置換を求めるクリエイターのために、最小限のマスキングと自然な肌および髪のブレンドを実現します。このパイプラインは準備された Kontext UNet をロードし、Put it here LoRA を適用し、シームレスな結果を得るために局所領域を再生成します。
FLUX Kontext Face Swap ワークフローは、ベース画像と顔画像を取り込み、顔を自動検出してアラインメントし、ベースにペーストし、FLUX に合わせて合成をスケーリングし、プロンプトガイド付きサンプリングで洗練します。結果はプレビューされ、保存され、クロップを締めたり、置換を微妙または強力にするオプションがあります。
Comfyui FLUX Kontext Face Swap ワークフローの主要モデル
- FLUX.1-dev: Kontext コンテキストコンディショニングで画像間の洗練を実行するディフュージョンバックボーン。アーキテクチャと動作の詳細は公式モデルカードを参照してください。 FLUX.1-dev
- FLUX オートエンコーダー (AE): 合成画像を潜在にエンコードし、サンプラーの出力をピクセルにデコードするために使用される VAE。FLUX リリースに含まれています。 FLUX.1-dev
- テキストエンコーダー CLIP-L と T5-XXL: 置換領域と望ましい表現に焦点を当てるプロンプトのための豊かなテキストコンディショニングを提供します。論文: CLIP, T5
- InsightFace: アライメントとクロップ生成のための顔検出とランドマーク分析。 InsightFace
- Put it here LoRA: FLUX が再構築すべき場所を強くローカライズし、新しい顔を意図したエリアに正確に「配置」するための Kontext 専用 LoRA。
Comfyui FLUX Kontext Face Swap ワークフローの使い方
このグラフには、順番に実行される 2 つの主要なグループがあります: 顔移植 はクリーンな合成パッチを準備します; Ksampler and Output はそれを FLUX で再生成し、磨きます。
顔移植
このグループはあなたの Base Image (LoadImage (#108)) と Face Image (LoadImage (#110)) をロードし、AutoCropFaces (#119, #122) で顔領域を見つけます。クロップとランドマークは FaceAlign (#121) に供給され、ソースの顔をベースのポーズとスケールに合わせて変形します。Image Paste Face (#125) は、クロップメタデータを使ってアラインされた顔をベースにマージし、タイトでリアルなオーバーレイを実現します。次に FluxKontextImageScale (#134) が合成を Kontext が期待する正確な寸法にリスケールし、ダウンストリーム VAE エンコードがロスレスで安定するようにします。
提供するもの:
- 明確に見えるターゲット顔を持つ高品質のベース写真。
- 可能であれば、類似した照明を持つ顔画像。
- 初期のクロップが外れている場合は、自動クロップの感度とボックスサイズを調整します。キャンバスのメモには、悪い結果が通常、自動クロップ値を緩めたり締めたりすることで改善されることが示されています。
Ksampler and Output
DualCLIPLoader (#8) は CLIP-L と T5-XXL エンコーダーをロードし、CLIPTextEncode (#6) はプロンプトをコンディショニングに変換します。プロンプトは顔の領域を復元し、表情を制御することに焦点を当てて書かれており、微笑み、髪、メイクなどの詳細を調整することができます。ConditioningZeroOut (#4) はテキストの影響を制限し、Kontext が置換領域外のコンテキストを保持します。ReferenceLatent (#3) は生成をエンコードされた合成にアンカーします。FluxGuidance (#5) は、サンプラーがリファレンスをどれだけ従うべきかをバランスします。モデルパスは Kontext で UNETLoader (#140) を実行し、その後 LoraLoaderModelOnly (#141) を実行して Put it here LoRA を適用します。合成は VAEEncode (#10) によりエンコードされ、KSampler (#9) によりサンプリングされ、VAEDecode (#7) によりデコードされ、プレビューされ、SaveImage (#19) で保存されます。
変更するもの:
CLIPTextEncodeのプロンプトを編集し、表現と局所的な詳細を操作します。- 置換が強すぎるまたは弱すぎる場合は、ガイダンスの強さとサンプラーのステップを調整します。
- LoRA を適用したままにしてください; これは FLUX Kontext Face Swap における正確な配置の中心です。
Comfyui FLUX Kontext Face Swap ワークフローの主要ノード
AutoCropFaces (#119 と #122)
顔を検出し、アライメントとペースト用のクロップメタデータを生成します。顔が部分的に見逃されたり、不要な髪が含まれている場合は、クロップサイズをわずかに増やすか、検出信頼度を下げてより多くのコンテキストを拾えるようにします。
FaceAlign (#121)
InsightFace ランドマークを使用して、ソースの顔をベースの顔のジオメトリに合わせて変形し、マージする前に使用します。FaceAnalysisModels (#120) の分析デバイスを GPU に切り替えると、アライメントが速くなります。
Image Paste Face (#125)
アラインされた顔をクロップデータを使用してベース画像にブレンドします。エッジがシャープに見えたり、色がオフになっている場合は、クロップボックスをわずかに大きくするか、ポストプロンプトの積極性を減らして FLUX が境界周辺でのオーバーペインティングを減らすようにします。
FluxKontextImageScale (#134)
合成を Kontext によって期待されるネイティブ形状にリスケールし、VAE が歪みなくエンコードできるようにします。これをそのままにしておくことで、精緻化された出力のストレッチやドリフトを防ぎます。
UNETLoader (#140)
Kontext チューニングされた FLUX UNet をロードします。これを LoRA と一緒に使用して FLUX Kontext Face Swap の意図された動作を実現します。チェックポイントを変更すると、肌の質感や全体的な忠実度が顕著に変わります。
LoraLoaderModelOnly (#141)
Put it here LoRA を適用してローカル再構築を行います。置換がドリフトしたり、編集が顔の外に広がったりする場合は、LoRA の影響をわずかに増やします。見た目が固定されたように感じる場合は、創造的な自由度を高めるためにそれを減らします。
DualCLIPLoader (#8) と CLIPTextEncode (#6)
テキストコンディショニングを提供します。プロンプトは顔の領域と表情に焦点を合わせて短く保ちます。ベース画像の背景や衣服を保持したい場合は、グローバルなスタイルのキューを避けてください。
FluxGuidance (#5)
サンプラーがリファレンス合成をどれだけ信頼するかをバランスします。それを上げることでベースの構成をより厳密に保持し、顔領域内でプロンプト駆動の編集を強化します。
オプションの追加機能
- 頑固な髪の生え際や遮蔽物には、前髪、もみあげ、または「髪の束を取り除く」と明示的にプロンプトして、Kontext にクリーンなエッジを再構築させます。
- 可能であれば、顔とベースの間で照明を一致させます。必要に応じて、暖かいまたは涼しいトーンについての簡潔なプロンプトヒントを追加します。
- クロップが小さな顔や回転した顔を見逃した場合は、より大きく高解像度のベース画像から始め、検出により多くのピクセルを提供します。
- 繰り返し中はプレビューを有効にしておいてください。一度満足したら、最終レンダリングのために解像度やステップをわずかに上げます。
謝辞
- FLUX チームは FLUX.1 モデルとドキュメントをリリースしました。 FLUX.1-dev
- 強力な顔検出とアライメントを提供する InsightFace の貢献者。 InsightFace
- FLUX Kontext Face Swap パイプラインでの正確な配置を可能にする正確なローカルガイダンスを提供する Put it here LoRA の作成者。


