ComfyUI 魔法书 Logo
🏠 首页
👥 加群
😎 大帅比
登录 →
ComfyUI 魔法书 Logo
🏠 首页 👥 加群 😎 大帅比
登录
  1. 首页
  2. 🧩 插件工坊 (Plugin Workshop)
  3. ComfyUI InstantID插件一键换脸教程 轻松掌握AI换脸技巧

ComfyUI InstantID插件一键换脸教程 轻松掌握AI换脸技巧

0
  • 🧩 插件工坊 (Plugin Workshop)
  • 发布于 2025-06-30
  • 39 次阅读
编程界的小学生
编程界的小学生

ComfyUI InstantID FaceSwap 插件完全教程

1. 插件简介

插件地址: https://github.com/nosiu/comfyui-instantId-faceswap

这个插件就像是一个超级厉害的"换脸神器"!它能让你把一个人的脸换到另一个人身上,或者根据文字描述生成带有特定人脸的图片。想象一下,你可以把自己的脸换到电影明星身上,或者让AI根据你的描述画出一个带有你朋友脸的卡通人物!

主要功能:

  • 换脸:把A的脸换到B的身体上
  • 文字生图:输入"一个戴眼镜的男人坐在公园里",AI就能画出带有指定人脸的图片
  • 脸部角度调整:可以让脸转向不同方向
  • 多种脸部特征点控制:精确控制眼睛、鼻子、嘴巴的位置

注意: 这个插件只能配合SDXL模型使用,就像特定的钥匙只能开特定的锁一样。

2. 如何安装

方法一:直接下载

  1. 去GitHub下载插件文件
  2. 把整个文件夹放到 ComfyUI/custom_nodes/ 目录下
  3. 打开命令行,进入插件文件夹,输入:pip install -r requirements.txt

方法二:Git克隆

cd ComfyUI/custom_nodes/
git clone https://github.com/nosiu/comfyui-instantId-faceswap.git
cd comfyui-instantId-faceswap
pip install -r requirements.txt

下载必需文件

你还需要下载一些"大脑文件"让插件能正常工作:

人脸识别文件(放到 ComfyUI/models/insightface/models/antelopev2/):

  • 1k3d68.onnx
  • 2d106det.onnx
  • genderage.onnx
  • glintr100.onnx
  • scrfd_10g_bnkps.onnx

适配器文件:

  • ip-adapter.bin → 放到 ComfyUI/models/ipadapter/
  • diffusion_pytorch_model.safetensors 和 config.json → 放到 ComfyUI/models/controlnet/你创建的文件夹/

3. 节点详解

3.1 LoadInsightface 节点 - 人脸识别器加载器

这个节点就像是给AI装上"眼睛",让它能够识别和分析人脸。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
无参数无无无这个节点不需要设置任何参数,点击就能用自动加载InsightFace人脸分析模型直接连接到其他需要人脸识别的节点

3.2 LoadInstantIdAdapter 节点 - 换脸适配器加载器

这个节点就像是换脸工具的"核心引擎",负责加载换脸需要的模型文件。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
ipadapteripadapter文件列表ip-adapter.bin选择换脸用的适配器文件,就像选择不同的滤镜加载InstantID适配器模型文件从下拉菜单选择你下载的ip-adapter.bin文件

3.3 FaceEmbed 节点 - 人脸特征提取器

这个节点就像是"人脸扫描仪",能把一张脸的特征全部记录下来,为后面的换脸做准备。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
insightfaceinsightfaceINSIGHTFACE_APP来自LoadInsightface人脸识别器,用来分析脸部特征InsightFace应用实例连接LoadInsightface节点的输出
face_imageface_imageIMAGE人脸图片要提取特征的人脸照片输入的人脸图像连接包含人脸的图片节点
face_embedsface_embedsFACE_EMBED可选可以添加更多人脸特征,就像混合多个人的脸可选的额外人脸嵌入可以连接其他FaceEmbed节点来混合多张脸

3.4 FaceEmbedCombine 节点 - 人脸特征合并器

这个节点就像是"调色盘",把多个人脸的特征混合成一个最终的脸部特征。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
resamplerresamplerRESAMPLER来自LoadInstantIdAdapter特征处理器,把脸部特征转换成AI能理解的格式重采样器,用于处理人脸嵌入连接LoadInstantIdAdapter节点的第二个输出
face_embedsface_embedsFACE_EMBED来自FaceEmbed要合并的人脸特征数据人脸嵌入向量连接FaceEmbed节点的输出

3.5 InstantIdAdapterApply 节点 - 换脸适配器应用器

这个节点就像是"换脸手术刀",把人脸特征应用到AI模型上。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelMODELSDXL模型要进行换脸的AI绘画模型扩散模型连接你的SDXL模型节点
instantId_adapterinstantId_adapterINSTANTID_ADAPTER来自LoadInstantIdAdapter换脸适配器InstantID适配器实例连接LoadInstantIdAdapter的第一个输出
face_conditioningface_conditioningFACE_CONDITIONING来自FaceEmbedCombine处理好的人脸特征人脸条件信息连接FaceEmbedCombine的输出
strengthstrength0-100.8换脸强度,数值越大换脸效果越明显适配器应用强度0.5-1.0之间效果较好,太高可能失真

3.6 ControlNetInstantIdApply 节点 - 控制网络应用器

这个节点就像是"脸部姿势控制器",能让换脸后的人保持原来的表情和角度。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
positivepositiveCONDITIONING正面提示词你想要的效果描述正向条件连接正面提示词节点
negativenegativeCONDITIONING负面提示词你不想要的效果描述负向条件连接负面提示词节点
face_conditioningface_conditioningFACE_CONDITIONING来自FaceEmbedCombine人脸特征信息人脸条件信息连接FaceEmbedCombine的输出
control_netcontrol_netCONTROL_NETInstantID控制网络控制脸部姿势的网络ControlNet模型连接ControlNet加载器
imageimageIMAGE控制图像用来控制脸部姿势的参考图控制图像连接包含脸部关键点的图像
strengthstrength0-101.0控制强度,决定脸部姿势控制的程度ControlNet应用强度0.7-1.0效果较好

3.7 InstantIdAndControlnetApply 节点 - 一体化换脸器

这个节点就像是"一键换脸机",把多个步骤合并成一个节点,使用更简单。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
modelmodelMODELSDXL模型AI绘画模型扩散模型连接SDXL模型
ipadapter_pathipadapter_path文件列表ip-adapter.bin适配器文件路径IP适配器文件路径选择ip-adapter.bin
control_net_namecontrol_net_name文件列表InstantID控制网络控制网络文件名ControlNet模型名称选择InstantID的ControlNet
face_embedface_embedFACE_EMBED来自FaceEmbed人脸特征人脸嵌入连接FaceEmbed输出
control_imagecontrol_imageIMAGE控制图像脸部姿势控制图控制图像连接脸部关键点图像
adapter_strengthadapter_strength0-100.5适配器强度适配器应用强度0.3-0.8较合适
control_net_strengthcontrol_net_strength0-100.7控制网络强度ControlNet强度0.5-1.0较合适
positivepositiveCONDITIONING正面提示词想要的效果正向条件连接正面提示词
negativenegativeCONDITIONING负面提示词不想要的效果负向条件连接负面提示词

3.8 PreprocessImage 节点 - 图像预处理器

这个节点就像是"图片裁剪师",能把图片中需要换脸的部分切出来并调整大小。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imageimageIMAGE原始图片要处理的图片输入图像连接包含人脸的图片
maskmaskMASK遮罩标记要换脸区域的黑白图遮罩图像用画笔工具画出要换脸的区域
widthwidth整数1024处理后图片的宽度输出图像宽度SDXL建议用1024
heightheight整数1024处理后图片的高度输出图像高度SDXL建议用1024
resize_moderesize_mode选项auto调整大小的方式缩放模式auto会自动计算最佳尺寸
padpad整数100向外扩展多少像素,给换脸留更多空间填充像素数100-200像素较合适
insightfaceinsightfaceINSIGHTFACE_APP可选人脸识别器,用来生成控制图InsightFace应用实例连接LoadInsightface节点

3.9 PreprocessImageAdvanced 节点 - 高级图像预处理器

这个节点就像是"专业图片裁剪师",提供更精细的控制选项。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imageimageIMAGE原始图片要处理的图片输入图像连接包含人脸的图片
maskmaskMASK遮罩标记要换脸区域的黑白图遮罩图像用画笔工具画出要换脸的区域
widthwidth整数1024处理后图片的宽度输出图像宽度SDXL建议用1024
heightheight整数1024处理后图片的高度输出图像高度SDXL建议用1024
resize_moderesize_mode选项auto调整大小的方式缩放模式auto/free/scale by width/scale by height
upscale_methodupscale_method选项bilinear放大图片的算法上采样方法bilinear质量较好
pad_toppad_top整数100向上扩展多少像素顶部填充根据需要调整
pad_rightpad_right整数100向右扩展多少像素右侧填充根据需要调整
pad_bottompad_bottom整数100向下扩展多少像素底部填充根据需要调整
pad_leftpad_left整数100向左扩展多少像素左侧填充根据需要调整
insightfaceinsightfaceINSIGHTFACE_APP可选人脸识别器InsightFace应用实例连接LoadInsightface节点

3.10 AngleFromFace 节点 - 人脸角度检测器

这个节点就像是"量角器",能测量人脸需要旋转多少度才能摆正。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
insightfaceinsightfaceINSIGHTFACE_APP来自LoadInsightface人脸识别器InsightFace应用实例连接LoadInsightface节点
imageimageIMAGE包含人脸的图片要检测角度的图片输入图像连接人脸图片
maskmaskMASK遮罩标记人脸区域的遮罩遮罩图像画出人脸区域
rotate_moderotate_mode选项any旋转模式:none不旋转/loseless只转90度倍数/any任意角度旋转模式any能得到最精确角度
pad_toppad_top整数100向上扩展搜索区域顶部填充100像素通常够用
pad_rightpad_right整数100向右扩展搜索区域右侧填充100像素通常够用
pad_bottompad_bottom整数100向下扩展搜索区域底部填充100像素通常够用
pad_leftpad_left整数100向左扩展搜索区域左侧填充100像素通常够用

3.11 AngleFromKps 节点 - 关键点角度计算器

这个节点就像是"数学计算器",根据脸部关键点计算需要旋转的角度。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据脸部关键点的位置信息关键点数据连接包含关键点的节点
rotate_moderotate_mode选项any旋转模式选择旋转模式any/loseless/none

3.12 RotateImage 节点 - 图像旋转器

这个节点就像是"图片转盘",能把图片按指定角度旋转。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
imageimageIMAGE要旋转的图片输入图像输入图像连接图片节点
angleangle浮点数0.0旋转角度,正数顺时针,负数逆时针旋转角度从角度检测节点获取
counter_clockwisecounter_clockwise布尔值True是否逆时针旋转旋转方向True表示逆时针

3.13 ComposeRotated 节点 - 旋转合成器

这个节点就像是"图片拼接器",把旋转后的图片重新拼回原来的尺寸。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
original_imageoriginal_imageIMAGE原始图片旋转前的图片原始图像连接原始图片
rotated_imagerotated_imageIMAGE旋转后图片旋转处理后的图片旋转后图像连接旋转后的图片

3.14 KpsDraw 节点 - 关键点绘制器

这个节点就像是"脸部定位器",让你手动标记眼睛、鼻子、嘴巴的位置。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
widthwidth整数1024画布宽度图像宽度根据目标图片设置
heightheight整数1024画布高度图像高度根据目标图片设置
kpskpsHIDDEN_STRING_JSONJSON数据关键点位置数据,通过界面操作设置关键点JSON数据点击"draw kps"按钮手动标记
image_referenceimage_referenceIMAGE可选参考图片,帮助你更准确地标记位置参考图像连接要换脸的目标图片

3.15 Kps3dFromImage 节点 - 3D关键点提取器

这个节点就像是"3D脸部扫描仪",能从照片中提取立体的脸部关键点。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
widthwidth整数1024输出图像宽度图像宽度根据需要设置
heightheight整数1024输出图像高度图像高度根据需要设置
kpskpsHIDDEN_STRING_JSONJSON数据3D关键点数据3D关键点JSON数据点击按钮自动提取
imageimageIMAGE可选要提取关键点的人脸图片输入图像连接包含清晰人脸的图片

3.16 KpsMaker 节点 - 关键点图像生成器

这个节点就像是"连线画家",把关键点连成线条图,用来控制脸部姿势。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据脸部关键点位置信息关键点数据连接关键点数据节点

3.17 Kps2dRandomizer 节点 - 2D关键点随机器

这个节点就像是"随机变化器",能让脸部关键点产生随机变化,增加多样性。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据要随机化的关键点关键点数据连接关键点数据
seedseed整数0随机种子,相同种子产生相同结果随机种子改变数值获得不同效果
angle_minangle_min整数0最小旋转角度最小角度-30到30度较合适
angle_maxangle_max整数0最大旋转角度最大角度-30到30度较合适
scale_minscale_min浮点数1最小缩放比例最小缩放0.8-1.2较合适
scale_maxscale_max浮点数1最大缩放比例最大缩放0.8-1.2较合适
translate_xtranslate_x整数0X轴随机移动范围X轴平移50-200像素
translate_ytranslate_y整数0Y轴随机移动范围Y轴平移50-200像素
borderborder整数0边界限制,防止关键点跑出图片边界阈值50-100像素

3.18 Kps3dRandomizer 节点 - 3D关键点随机器

这个节点就像是"3D魔方",能让脸部在三个方向上随机旋转。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_data_3dkps_data_3dKPS_DATA_3D3D关键点数据三维关键点信息3D关键点数据连接3D关键点节点
seedseed整数0随机种子随机种子改变获得不同效果
rotate_xrotate_x整数0X轴旋转范围(点头摇头)X轴旋转-30到30度
rotate_yrotate_y整数0Y轴旋转范围(左右转头)Y轴旋转-30到30度
rotate_zrotate_z整数0Z轴旋转范围(歪头)Z轴旋转-15到15度

3.19 Kps2dScaleBy 节点 - 关键点按比例缩放器

这个节点就像是"放大镜",能按比例放大或缩小关键点。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据要缩放的关键点关键点数据连接关键点数据
scalescale浮点数1缩放比例,1表示不变,2表示放大一倍缩放因子0.5-2.0范围内

3.20 Kps2dScale 节点 - 关键点尺寸调整器

这个节点就像是"尺寸调节器",能把关键点调整到指定的图片尺寸。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据要调整的关键点关键点数据连接关键点数据
widthwidth整数1024目标宽度目标图像宽度根据目标图片设置
heightheight整数1024目标高度目标图像高度根据目标图片设置

3.21 Kps2dRotate 节点 - 关键点旋转器

这个节点就像是"旋转台",能让关键点按指定角度旋转。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据要旋转的关键点关键点数据连接关键点数据
angleangle浮点数0.0旋转角度旋转角度-360到360度
counter_clockwisecounter_clockwise布尔值True是否逆时针旋转旋转方向True表示逆时针

3.22 Kps2dCrop 节点 - 关键点裁剪器

这个节点就像是"裁剪刀",能把关键点裁剪到指定区域。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据要裁剪的关键点关键点数据连接关键点数据
xx整数0裁剪区域左上角X坐标X坐标根据需要设置
yy整数0裁剪区域左上角Y坐标Y坐标根据需要设置
widthwidth整数1024裁剪区域宽度裁剪宽度根据需要设置
heightheight整数1024裁剪区域高度裁剪高度根据需要设置

3.23 MaskFromKps 节点 - 关键点遮罩生成器

这个节点就像是"自动画笔",能根据关键点位置自动生成遮罩。

参数名 (UI显示)参数名 (代码里)参数值建议值通俗解释 (能干嘛的)专业解释怎么用/举个例子
kps_datakps_dataKPS_DATA关键点数据用来生成遮罩的关键点关键点数据连接关键点数据
grow_bygrow_by整数4遮罩扩展倍数,数值越大遮罩越大扩展因子3-6较合适

4. 使用技巧和建议

4.1 基础换脸流程

  1. 准备素材:一张要换脸的目标图片,一张提供脸部特征的参考图片
  2. 画遮罩:在目标图片上画出要换脸的区域
  3. 连接节点:按照simple.json工作流连接各个节点
  4. 调整参数:适配器强度建议0.5-0.8,控制网络强度建议0.7-1.0

4.2 提高效果的技巧

  • 遮罩要准确:遮罩范围要包含完整的脸部,但不要过大
  • 参考图片要清晰:人脸要正面、清晰、光线充足
  • 适当的填充:PreprocessImage的pad参数建议100-200像素
  • 多次尝试:不同的strength组合会产生不同效果

4.3 解决常见问题

  • "No face detected"错误:扩大遮罩范围或增加pad参数
  • 换脸效果不明显:增加adapter_strength参数
  • 脸部变形:降低strength参数,检查关键点位置
  • 颜色不匹配:在提示词中添加肤色、光线描述

5. 常见问题解答

Q: 为什么提示"No face detected"?
A: 这通常是因为遮罩太小或者人脸角度太偏。试试画大一点的遮罩,或者增加pad参数。

Q: 换脸效果不自然怎么办?
A: 降低strength参数,从0.3开始逐渐增加。同时检查关键点是否准确对应眼睛、鼻子、嘴巴位置。

Q: 可以同时换多张脸吗?
A: 可以!使用FaceEmbed节点的face_embeds参数连接多个人脸,或者参考prompts2img_2faces_enhancement.json工作流。

Q: 生成的图片分辨率太低?
A: 确保使用SDXL模型,PreprocessImage的width和height设置为1024或更高。

Q: 关键点怎么手动调整?
A: 使用KpsDraw节点,点击"draw kps"按钮,在弹出的界面中拖拽关键点到正确位置。

6. 进阶应用

6.1 文字生成人像

使用promp2image.json工作流,你可以输入"一个戴眼镜的男人坐在咖啡厅里"这样的描述,AI就会生成带有指定人脸的图片。

6.2 批量处理

结合ComfyUI的批处理功能,可以一次性处理多张图片,实现批量换脸。

6.3 动画制作

通过调整关键点位置和角度,可以制作简单的人脸动画效果。

6.4 风格转换

结合LoRA和其他ControlNet,可以在换脸的同时改变艺术风格,比如把真人脸换到动漫角色上。

标签: #插件 2338
相关文章

ComfyUI错误修复插件详解:轻松解决常见问题 2025-07-10 18:25

ComfyUI-CustomMenu插件使用教程:高效自定义工作流指南 2025-07-10 17:50

ComfyUI图像合并插件comfyui-merge使用教程 2025-07-03 22:44

ComfyUI 图像合并插件教程 (comfyui-merge) 1. 插件简介 这是一个专门用来合并图片的 ComfyUI 插件,就像用 PS 把多张图片叠在一起那样。它的特别之处在于你精确控制每张图片的混合方式。 GitHub 地址:https://github.com/LingSss9/com

ComfyUI WAN 2.2视频插件教程:万相AI提示词全攻略 2025-07-31 11:47

ComfyUI WAN 2.2视频插件教程:万相AI提示词实战指南 2025-07-29 20:10

ComfyUI HeyGem数字人插件教程:零基础快速精通指南 2025-07-22 14:10

目录

从节点基础到高阶工作流,我们为你绘制最清晰的 ComfyUI 学习路径。告别困惑,让每一次连接都充满创造的魔力,轻松驾驭 AI 艺术的无限可能。

  • 微信
  • B站
  • GitHub
Copyright © 2025 AIX All Rights Reserved. Powered by AIX.
隐私政策
津ICP备2024019312号