Flux Klein 换脸在 ComfyUI:无缝、基于提示的人脸替换
Flux Klein 换脸是一个专注于 ComfyUI 的工作流程,可以在保持姿势、光照和纹理一致性的同时,将一幅图像中的人脸替换为另一幅图像中的人脸。它建立在 FLUX Klein 的统一图像生成和编辑基础上,提供与场景自然融合的逼真替换。
此工作流程非常适合肖像编辑、角色创建和内容优化。您提供一个基础图像和一个人脸来源图像,通过简短提示指导替换,Flux Klein 换脸流程对齐几何形状、传递身份,并渲染出干净的结果,支持可选的放大。
Comfyui Flux Klein 换脸工作流程中的关键模型
- Black Forest Labs FLUX.2-klein 9B FP8。这里用于编辑和图像合成的核心扩散变换器。它整合了新面孔,同时保持场景风格和构图稳定。Model card
- FLUX.2-klein 4B。一个较轻的替代方案,降低内存并加快迭代速度,容量略低。适用于草稿或有限的 GPU。Model card
- Qwen 3 文本编码器 8B 或 4B。为 FLUX 2 提供提示理解,因此交换遵循您关于身份、姿势和风格的文本指令。文件与 Klein 拆分一起分发。Repository
- Flux 2 VAE。将图像编码到 FLUX 使用的潜在空间中,并将最终潜在解码回像素,保持真实的颜色和色调。Repository
- YOLOX 物体检测器和 DWPose 估计器。在预处理期间用于定位面部和整体身体姿势,以便在交换后对齐自然。YOLOX DWPose
如何使用 Comfyui Flux Klein 换脸工作流程
该管道从输入流到预处理、参考条件、FLUX 采样、解码和可选放大。每个阶段下面命名了您将看到的关键 UI 节点。
使用 LoadImage (#81) 和 LoadImage Face Swap Image (#244) 加载输入
选择 LoadImage (#81) 中的基础照片。这是您想保留的场景和服装。 选择 Face Swap Image (#244) 中的捐赠肖像。这提供了要转移的身份。 选择具有相似头部大小和一般角度的图像以获得最佳效果。两个图像在内部调整为一致的工作分辨率。
使用 DWPreprocessor (#267) 检测姿势和面部,并使用 ImageResizeKJv2 (#468) 进行标准化
预处理器分析基础图像以找到头部和身体关键点,生成编码面部布局和姿势的指导。这确保 Flux Klein 换脸与原始方向和光照对齐。结果调整为匹配工作维度,以便后续步骤使用一致的几何形状。您无需提供遮罩。
使用 CLIPTextEncode (#250) 描述交换
提供一个简短的指令,明确应该更改什么和保持什么。例如,“用图像 2 中的头部替换图像 1 中的头部,保留图像 1 的服装和姿势,匹配肤色和光照。”文本编码器将您的提示转换为在采样期间引导模型的条件。清晰、具体的措辞会产生更忠实的交换。
使用 VAEEncode 和 ReferenceLatent (#257, #253, #269) 构建参考条件
基础图像、人脸来源图像和姿势指导分别用 VAEEncode 编码到潜在空间中。ReferenceLatent (#257) 首先将基础图像绑定到您的提示,以便保留风格和场景。ReferenceLatent (#253) 将捐赠者面孔的身份作为参考注入。ReferenceLatent (#269) 增加检测到的几何形状,在采样之前锁定头部位置和比例。
使用 UNETLoader (#180), Flux2Scheduler (#237), KSamplerSelect (#240), BasicGuider (#277), 和 SamplerCustomAdvanced (#261) 调度和采样 FLUX
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 换脸工作流程中的关键节点
DWPreprocessor (#267)
角色:检测稳定对齐的身体和面部信号。如果画面中的脸很小,请提高分辨率。启用面部和身体检测以保持比例连续性。
ReferenceLatent (#257)
角色:将基础图像的风格和场景锚定到提示,以免交换偏移。如果环境或服装意外更改,请调整基础图像裁剪,以便此参考强调您想保留的区域。
ReferenceLatent (#253)
角色:注入捐赠者身份。为强身份转移,使用清晰、正面的捐赠肖像,表情中立。避免使用浓妆或可能过度拟合不需要特征的遮挡物。
ReferenceLatent (#269)
角色:从检测步骤中强制执行空间几何,以便新面孔自然地位于头部和颈部。使用当姿势或头部角度很重要时。如果您希望在表情上有更多自由,请选择具有目标表情的基础图像,而不是削弱此约束。
Flux2Scheduler (#237)
角色:在您的工作分辨率上定义去噪路径。更多步骤可以优化细微纹理,但会耗费时间。保持从管道继承的宽度和高度,以避免与 EmptyFlux2LatentImage 输入的宽高比不匹配。
SamplerCustomAdvanced (#261)
角色:使用您的采样器选择和种子执行引导去噪。使用一致的种子进行 A/B 比较,并一次仅更改一件事,通常是提示。如果结果感觉过度处理,尝试一个不那么激进的采样器,或者通过从更强的参考开始降低有效去噪。
SeedVR2VideoUpscaler (#326)
角色:最终增强和边缘清理。适度提高目标分辨率以保持身份稳定。如果颜色变化,启用颜色校正,并保持输入噪声低以保持肤色连续性。
可选额外功能
- 选择具有相似头部大小和方向的输入照片,以实现最具说服力的 Flux Klein 换脸。
- 保持提示简短和字面。提及要替换的内容、要保留的内容和任何风格说明。
- 在探索提示时使用固定种子,然后改变种子以添加微妙的表情变化。
- 如果出现肤色不匹配,请在提示中添加“匹配肤色和光照”等短语。
- 在进行任何人脸替换时,请获得同意并遵守当地法律和模型许可证。
鸣谢
此工作流程实现并基于以下作品和资源。我们感谢 @Ai Verse 的 Flux Klein 换脸源工作流程的贡献和维护。有关权威详情,请参考下文链接的原始文档和存储库。
资源
- Flux Klein/Face Swap Source
- 文档 / 发布说明: @Ai Verse's YouTube
注意:使用引用的模型、数据集和代码须遵守其作者和维护者提供的相关许可证和条款。

