> ## Content Index
> Fetch the complete content index at: https://www.hubwiz.com/blog/llms.txt
> Use this file to discover other available public pages before exploring further.

# ComfyUI 换脸教程
- URL: https://www.hubwiz.com/blog/comfyui-face-swap-tutorial/
- Published: 2024-11-11T00:24:04.000Z
- Updated: 2026-10-13T16:04:52.000Z
- Description: 本文介绍三种使用 ComfyUI 进行换脸的方法：使用ReActor插件、使用IPAdapter插件和IPAdapter InPainting。
- Author: admin
- Tags: TOOL, COMFYUI, FACESWAP, REACTOR, IPADAPTER, INPAINTING, SDXL, STABLE DIFFUSION, #Import 2026-10-14 14:41

本文介绍三种使用 ComfyUI 进行换脸的方法：使用ReActor插件、使用IPAdapter插件和IPAdapter InPainting。

## 1、ReActor

第一种方法是使用 ReActor 插件，使用这种方法实现的效果如下：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-814.png)

设置工作流很简单，首先需要安装[ ReActor 插件](https://github.com/Gourieff/comfyui-reactor-node?ref=hubwiz.com) 。

### 1.1 添加 ReActor 节点

首先加载我们的默认工作流，然后在空白处双击进入 ReActor，然后添加 ReActor Fast Face Swap 节点，接下来将此节点的输入图片链接到 VAE Decode 的图片。

### 1.2 添加其他 Loader 节点

添加一个 Load Image 节点，选择要换脸的图片，并将其连接到 ReActor 节点的输入面。最后添加一个save image节点，并把它和ReActor节点的图片连接起来，最终的工作流程如下：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-815.png)

最后，ReActor Fast Face Swap上有几个需要注意的参数：

- Swap model：不能更换，用默认的就行。
- Face detection：检测人脸的方法，你可以根据自己的实际情况选择，不过我一般选择第一种。
- Face restore model：有两种模型可以选择：[CodeFormer](https://github.com/sczhou/CodeFormer/releases/download/v0.1.0/codeformer.pth?ref=hubwiz.com)、[GFPGAN](https://github.com/TencentARC/GFPGAN/releases/download/v1.3.4/GFPGANv1.4.pth?ref=hubwiz.com) 。

下载模型后需要放在 `ComfyUI\models\facerestore_models`文件夹下，我一般选择第二种。

其余的参数都比较容易理解，可以根据自己的需求进行调整。

## 2、IPAdapter

第二种方法实现了和Face Swap类似的效果，但是也可以让AI生成与某张脸一致的图片。结果大概是这样的：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-816.png)

不过，相比于第一种方法，这种方法以原图为输入，让AI生成与某张脸一致的图片。这样做有两个好处：

- 不仅适用于人类，动物脸也可以。
- ReActor方法更侧重于换脸，对头发的处理稍弱，以上面爱因斯坦的照片为例，你会发现IPAdapter生成的图片更像原发。

为了达到这个效果，我建议使用[ComfyUI IPAdapter Plus插件](https://github.com/cubiq/ComfyUI%5FIPAdapter%5Fplus?ref=hubwiz.com)。

注意，安装插件后，不能马上使用：

- 需要在 `ComfyUI/models/`目录下创建一个名为 `ipadapter`的文件夹，然后下载相应的IPAdapter模型并放在这个文件夹中。
- 除了IPAdapter模型，还需要下载图像编码器并放在 `ComfyUI/models/clip_vision/`目录中。

完成这两个步骤后，才能使用这个插件。另外，根据我的测试，我推荐以下组合，更多组合可以查看ComfyUI IPAdapter Plus的[ReadMe文档](https://github.com/cubiq/ComfyUI%5FIPAdapter%5Fplus?ref=hubwiz.com)：

| SD版本   | 检查点                                                                                                                                                                            | IPAdapter模型                                                                                                                                                          | 图像编码器                                                                                                               |
| ------ | ------------------------------------------------------------------------------------------------------------------------------------------------------------------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------------------- | ------------------------------------------------------------------------------------------------------------------- |
| SD 1.5 | [realisticVisionV51\_v51VAE](https://huggingface.co/frankjoshua/realisticVisionV51%5Fv51VAE/resolve/main/realisticVisionV51%5Fv51VAE.safetensors?download=true&ref=hubwiz.com) | [ip-adapter-full-face\_sd15](https://huggingface.co/h94/IP-Adapter/resolve/main/models/ip-adapter-full-face%5Fsd15.safetensors?ref=hubwiz.com)                       | [ViT-H](https://huggingface.co/h94/IP-Adapter/resolve/main/models/image%5Fencoder/model.safetensors?ref=hubwiz.com) |
| SD XL  | [Juggernaut XL](https://civitai.com/models/133005/juggernaut-xl?ref=hubwiz.com)                                                                                                | [ip-adapter-plus-face\_sdxl\_vit-h](https://huggingface.co/h94/IP-Adapter/resolve/main/sdxl%5Fmodels/ip-adapter-plus-face%5Fsdxl%5Fvit-h.safetensors?ref=hubwiz.com) | [ViT-H](https://huggingface.co/h94/IP-Adapter/resolve/main/models/image%5Fencoder/model.safetensors?ref=hubwiz.com) |

下载完相应的模型后，就可以构建我们的工作流程了。

### 2.1 添加Apply IPAdapter节点

先加载我们默认的工作流程，然后在空白处双击输入Apply IPAdapter，然后将其添加到工作流程中。然后你可以将权重调整到小于0.8。然后可以根据实际输出调整噪声，可以将其最小化到0.01。

### 2.2 添加其他加载器节点

然后按顺序添加：

- 加载图像节点：选择你想要AI生成的图片。这里要注意的是，由于图片会经过CLIP模型编码，编码器会把图片resize成224x224，并且裁剪到中间，所以你导入的图片中人脸要居中，而且图片最好是正方形，不然最后生成的效果会不好。
- Load CLIP Version节点：选择ViT-H模型。
- Load IPAdapter Model节点：根据你Checkpoint中加载的模型选择对应的IPAdapter模型。最后把这三个节点依次连接到Apply IPAdapter节点上。

### 2.3 设置KSampler节点

最后设置KSampler节点：

- 步骤通常比平常多10步以上，比如你平常取25步，这里就需要35步。
- CFG建议设置小一点，最终的工作流程如下：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-817.png)

另外我再教大家一个技巧，你可以尝试在Workflow中添加多个Apply IPAdapter节点，并将它们连接到不同的KSampler节点上。这样就可以使用不同的模型来生成图片了。下面的工作流添加了 SDXL 和 SD 1.5 的 Checkpoint，因此你可以在一个工作流下看到两个模型的结果：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-818.png)

## 3、IPAdapter Inpainting

第二种方法每次运行时都会生成新的图片，因此无法像第一种方法那样通过导入第二张图片来实现换脸。

第三种方法可以解决这个问题。我们仍然要使用 IPAdapter，但除此之外，我们将使用 Inpainting 功能。这样，我们可以用图片 B 替换图片 A 的某个部分。例如，我们可以用第二张图片替换第一张图片中的猫脸，最终生成一只宇航员柯基犬：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-819.png)

Workflow 的构建相当简单。你可以在 Upscale 工作流中添加一个 IPAdapter。最终的工作流程如下：

![](https://www.hubwiz.com/blog/content/images/2024/11/image-820.png)

---

原文链接：[How to swap faces using ComfyUI?](https://www.comflowy.com/blog/face-swap?ref=hubwiz.com)

汇智网翻译整理，转载请标明出处

> **这是「多模态生成」专题的一部分。**完整地图见：[多模态生成完全指南](https://www.hubwiz.com/blog/generative-media-stack/)