FLUX Kontext Face Swap 工作流用于干净、逼真的面部替换
此 ComfyUI 工作流通过结合基于 InsightFace 的对齐和粘贴阶段与 FLUX.1 图像到图像生成来执行高质量的面部替换,由 Kontext 引导。它专为希望快速、可靠交换的创作者设计,具有最小的遮罩和自然的皮肤和头发融合。流水线加载准备好的 Kontext UNet,应用 Put it here LoRA,并重新生成局部区域以获得无缝效果。
FLUX Kontext Face Swap 工作流接收基底图像和面部图像,自动检测和对齐面部,将其粘贴到基底中,缩放合成以适应 FLUX,然后通过提示引导采样进行优化。结果被预览和保存,并提供可选的旋钮以收紧裁剪或使交换更微妙或更强烈。
Comfyui FLUX Kontext Face Swap 工作流中的关键模型
- FLUX.1-dev: 执行图像到图像细化的扩散骨干,结合 Kontext 上下文条件。有关架构和行为的详细信息,请参阅官方模型卡。FLUX.1-dev
- FLUX autoencoder (AE): 用于将合成图像编码为潜变量并将采样器输出解码回像素的 VAE。包含在 FLUX 发布中。FLUX.1-dev
- Text encoders CLIP-L and T5-XXL: 提供丰富的文本条件,用于聚焦交换区域和期望的表情。论文:CLIP, T5
- InsightFace: 用于对齐和裁剪生成的面部检测和标志分析。InsightFace
- Put it here LoRA: Kontext 特定的 LoRA,强烈定位 FLUX 应该重建的位置,帮助新面孔准确地“坐”在预期区域。
如何使用 Comfyui FLUX Kontext Face Swap 工作流
此图形有两个主要组按顺序运行:Face transplant 准备干净的合成补丁;Ksampler and Output 使用 FLUX 重新生成并抛光它。
Face transplant
此组加载您的 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) 平衡采样器在参考和您的提示之间的顺从程度。模型路径运行 UNETLoader (#140) 与 Kontext,随后是 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
- 感谢 Put it here LoRA 的创作者,提供精确的本地指导,使 FLUX Kontext Face Swap 管道中的准确定位成为可能。


