ComfyUIのFlux Klein Face Swap: シームレスでプロンプト駆動の顔交換
Flux Klein Face Swapは、ある画像の顔を別の画像の顔で置き換えながら、ポーズ、照明、テクスチャの一貫性を保つことに特化したComfyUIワークフローです。FLUX Kleinの統合された画像生成と編集に基づいており、シーンと自然にブレンドするリアルな交換を提供します。
このワークフローは、ポートレート編集、キャラクター作成、コンテンツの洗練に最適です。ベース画像と顔のソース画像を提供し、短いプロンプトで交換をガイドします。Flux Klein Face Swapパイプラインは、ジオメトリを整列させ、アイデンティティを転送し、オプションのアップスケーリングでクリーンな結果をレンダリングします。
Comfyui Flux Klein Face Swapワークフローの主要モデル
- Black Forest Labs FLUX.2‑klein 9B FP8。編集と画像合成に使用されるコアDiffusion Transformer。シーンのスタイルと構成を安定させながら新しい顔を統合します。モデルカード
- FLUX.2‑klein 4B。メモリを削減し、わずかに低い容量でイテレーションを高速化する軽量な代替手段。ドラフトや制限されたGPUに便利です。モデルカード
- Qwen 3テキストエンコーダー8Bまたは4B。FLUX 2のプロンプト理解を提供し、交換がアイデンティティ、ポーズ、スタイルに関するテキスト指示に従うようにします。ファイルはKleinスプリットと共に配布されます。リポジトリ
- Flux 2 VAE。FLUXが使用する潜在空間に画像をエンコードし、最終的な潜在を忠実な色とトーンでピクセルにデコードします。リポジトリ
- YOLOXオブジェクト検出器とDWPose推定器。顔と全体の体のポーズを見つけるために前処理中に使用され、交換後の整列が自然です。YOLOX DWPose
Comfyui Flux Klein Face Swapワークフローの使用方法
パイプラインは入力から前処理、参照コンディショニング、FLUXサンプリング、デコード、オプションのアップスケーリングへと流れます。以下の各ステージでは、主要なUIノードを示します。
LoadImage (#81)とLoadImage Face Swap Image (#244)で入力を読み込む
ベース写真をLoadImage (#81)で選択します。これは保持したいシーンと衣装です。 Face Swap Image (#244)でドナーポートレートを選択します。これは転送するアイデンティティを提供します。 最良の結果を得るために、似たような頭のサイズと一般的な角度の画像を選びます。両方の画像は内部で一貫した作業解像度にリサイズされます。
DWPreprocessor (#267)でポーズと顔を検出し、ImageResizeKJv2 (#468)で正規化
前処理プロセッサはベース画像を分析し、頭と体のキーポイントを見つけ、顔のレイアウトとポーズをエンコードするガイダンスを生成します。これにより、Flux Klein Face Swapは新しい顔を元の向きと照明に合わせます。結果は作業寸法に合わせてリサイズされ、後のステップで一貫したジオメトリが使用されます。マスクを供給する必要はありません。
CLIPTextEncode (#250)で交換を説明
何が変わるべきか、何が残るべきかを明確にする短い指示を提供します。例えば、「画像1の頭を画像2の頭で置き換え、画像1の衣装とポーズを維持し、肌のトーンと照明を一致させる。」テキストエンコーダーはプロンプトをサンプリング中にモデルを導くコンディショニングに変換します。明確で具体的な表現がより忠実な交換をもたらします。
VAEEncodeとReferenceLatent (#257, #253, #269)で参照コンディショニングを構築
ベース画像、顔のソース画像、ポーズガイダンスはそれぞれVAEEncodeで潜在にエンコードされます。ReferenceLatent (#257)はまずベース画像をプロンプトにバインドし、スタイルとシーンを保持します。ReferenceLatent (#253)はドナーの顔のアイデンティティを参照として注入します。ReferenceLatent (#269)は検出されたジオメトリを追加し、サンプリング前に頭の位置と比率をロックします。
FLUXを使用してUNETLoader (#180), Flux2Scheduler (#237), KSamplerSelect (#240), BasicGuider (#277), SamplerCustomAdvanced (#261)でスケジュールとサンプルを作成
UNETLoader (#180)は実際の編集を行うFLUX.2-kleinモデルをロードします。Flux2Scheduler (#237)は動作幅と高さでのノイズ除去スケジュールを設定し、潜在解像度が一貫していることを保証します。BasicGuider (#277)は、組み立てたコンディショニングとモデルをサンプラーに渡します。KSamplerSelect (#240)でサンプラーを選択し、RandomNoise (#256)で固定シードを保持してイテレーション時に結果を再現します。SamplerCustomAdvanced (#261)は手動のマスキングなしで一つのパスで交換された顔の潜在を生成します。
VAEDecode (#251), PreviewImage (#457), Image Comparer (rgthree) (#452)でデコードとレビュー
VAEDecode (#251)は最終潜在をピクセルに変換します。PreviewImage (#457)を使用して、アイデンティティ、肌のトーンの連続性、髪の生え際をすばやく確認します。Image Comparer (rgthree) (#452)で前後を比較し、衣装、ポーズ、背景が無傷であることを確認します。必要に応じてプロンプトを微調整し、再実行して表情やスタイリングを調整します。
SeedVR2VideoUpscaler (#326)とSaveImage (#467)でアップスケールと保存
アップスケーラーは、編集されたアイデンティティを尊重しつつ、細部を強化し、細かい縫い目を滑らかにします。肌のトーンのシフトを避けるために、カラーコレクションを一貫して行います。満足したら、SaveImage (#467)で最終結果を明確なファイルプレフィックスで書き出し、バッチを整理します。高解像度で作業する場合は、アップスケーラーはオプションです。
Comfyui Flux Klein Face Swapワークフローの主要ノード
DWPreprocessor (#267)
役割: 整列を安定させるための体と顔の信号を検出します。フレーム内の顔が小さい場合は解像度を上げます。肩や手を含むポートレートには、顔と体の検出を同時に有効にして、比率の一貫性を維持します。
ReferenceLatent (#257)
役割: プロンプトにベース画像のスタイルとシーンをアンカーし、交換がずれないようにします。環境や衣装が意図せず変わる場合は、ベース画像のトリミングを調整し、この参照が保存したい領域を強調するようにします。
ReferenceLatent (#253)
役割: ドナーのアイデンティティを注入します。強いアイデンティティ転送のためには、ニュートラルな表情のシャープで正面向きのドナーポートレートを使用します。過剰なメイクや望ましくない特徴をオーバーフィットする可能性のある遮蔽を避けます。
ReferenceLatent (#269)
役割: 検出ステップからの空間ジオメトリを強制し、新しい顔が自然に頭と首に収まるようにします。ポーズや頭の角度が重要な場合に使用します。表情にもっと自由を持たせたい場合は、この制約を弱めるよりもターゲットの表情を持つベース画像を選択します。
Flux2Scheduler (#237)
役割: 作業解像度でのノイズ除去パスを定義します。より多くのステップが微妙なテクスチャを洗練しますが、時間がかかります。パイプラインから継承した幅と高さを保持し、EmptyFlux2LatentImage入力とのアスペクト不一致を避けます。
SamplerCustomAdvanced (#261)
役割: サンプラーの選択とシードを使用してガイドされたノイズ除去を実行します。A/B比較のために一貫したシードを使用し、一度に一つだけ変更します。結果が過剰調理されたように感じる場合は、攻撃性の少ないサンプラーを試すか、強い参照から始めて効果的なノイズ除去を減らします。
SeedVR2VideoUpscaler (#326)
役割: 最終的な強化とエッジのクリーンアップ。アイデンティティを安定させるためにターゲット解像度を適度に上げます。色が変わる場合は、カラーコレクションを有効にし、入力ノイズを低く保って肌のトーンの連続性を維持します。
オプションの追加機能
- 最も説得力のあるFlux Klein Face Swapを得るために、似たような頭のサイズと向きの入力写真を選びます。
- プロンプトを短くし、文字通りに保ちます。何を置き換えるべきか、何を保持するべきか、スタイルのメモを述べます。
- プロンプトを探る間は固定シードを使用し、微妙な表情の変化を追加するためにシードを変更します。
- 肌のトーンの不一致が現れる場合は、プロンプトに「肌のトーンと照明を一致させる」といったフレーズを追加します。
- 顔の交換を行う際には同意を得て、地元の法律やモデルライセンスに従ってください。
謝辞
このワークフローは、以下の作品とリソースを実装し、それに基づいて構築されています。Flux Klein Face Swap Sourceワークフローの貢献とメンテナンスについて、@Ai Verseに感謝します。詳細については、以下にリンクされたオリジナルのドキュメントとリポジトリを参照してください。
リソース
- Flux Klein/Face Swap Source
- ドキュメント/リリースノート: @Ai Verse's YouTube
注: 参照されたモデル、データセット、およびコードの使用は、それぞれの著者とメンテナーによって提供されたライセンスと条件に従います。

