一、InstantID 原理(通俗版)
InstantID 要做两件事:
1. 身份(Identity) → 从参考脸提取 embedding,经 IP-Adapter 注入 UNet
「画的是这张脸」
2. 结构(Keypoints) → InstantID ControlNet 约束脸部/身体关键点
「脸的角度、大致姿势跟参考或 kps 图走」
因此 ComfyUI 里常见 三个模型/组件:
|
组件 |
文件/节点 |
作用 |
|---|---|---|
|
InstantID 权重 |
|
身份 adapter |
|
ControlNet |
|
关键点/结构 |
|
人脸分析 |
InsightFace(InstantIDFaceAnalysis) |
检测脸、提 embedding |
ApplyInstantID 节点把三者与 Checkpoint、Prompt 汇合后进 KSampler。
二、数据流示意
[参考脸图 Load Image]
↓
[InstantIDFaceAnalysis / InsightFace] → 人脸 embedding
↓
[InstantIDModelLoader] → ip-adapter
[ControlNetLoader] → instantid CN
↓
[ApplyInstantID] ← MODEL + CLIP + positive/negative
↓
修改后的 MODEL + CONDITIONING
↓
[KSampler] → [VAE Decode]
image_kps(7-5):可选第二图,仅提供 姿势关键点,脸仍来自主参考图。
三、安装 Custom Nodes
3.1 推荐源
Manager 搜索安装:
-
ComfyUI_InstantID(cubiq,社区主流原生实现)
或 Git:
cd ComfyUI/custom_nodes
git clone https://github.com/cubiq/ComfyUI_InstantID
3.2 依赖
安装后 Restart;若报错 ImportError:
-
Manager → 对该节点 Install dependencies;
-
常见:
insightface、onnxruntime等(以 README 为准)。
3.3 验证
ComfyUI 节点菜单应出现:
-
InstantIDModelLoader -
InstantIDFaceAnalysis -
ApplyInstantID/ApplyInstantIDAdvanced -
ControlNetLoader(InstantID 用)
四、模型文件下载与路径
4.1 ip-adapter.bin
ComfyUI/models/instantid/ip-adapter.bin
来源:InstantID HuggingFace 或 cubiq 仓库说明。
4.2 InstantID ControlNet
ComfyUI/models/controlnet/instantid/diffusion_pytorch_model.safetensors
注意子文件夹名 instantid/,与工作流节点默认值一致。
4.3 Checkpoint(基模)
InstantID 官方示例常用 SDXL 类模型,如:
ComfyUI/models/checkpoints/sdxl/AlbedoBaseXL.safetensors
SD1.5 亦有社区工作流,以你下载的 InstantID 说明为准;本仓库工作流默认 SDXL。
4.4 InsightFace 模型
InstantIDFaceAnalysis 首次运行常 自动下载 antelopev2 等(需联网)。
失败时按 cubiq Issues 手动放到指定目录。
五、InstantIDFaceAnalysis 节点
|
参数 |
说明 |
|---|---|
|
provider |
|
|
输出 |
|
参考图要求:
-
至少 一张清晰人脸;
-
多人脸时 Advanced 节点可选 average / norm average 等合并策略。
六、ApplyInstantID 核心参数
|
参数 |
含义 |
建议 |
|---|---|---|
|
weight |
身份强度 |
0.8–0.85 起点 |
|
start_at / end_at |
去噪区间 |
0 → 1.0 默认 |
|
ip_weight / cn_strength |
Advanced 分离 IP 与 CN |
脸过「烧」时降 ip_weight 或加 noise |
官方建议 CFG 4–5(低于普通 SDXL),减轻过拟合。
分辨率建议 1016×1016 或 1024 附近(部分版本对非标准分辨率有水印/artifact 经验)。
八、常见问题
|
问题 |
处理 |
|---|---|
|
No face detected |
换正脸图;提高分辨率;裁剪人脸 |
|
CUDA error InsightFace |
provider 改 CPU |
|
ControlNet 找不到 |
检查 |
|
脸糊、过饱和 |
降 weight;CFG 降到 4.5;用 Advanced noise |
|
SD1.5/SDXL 混用 |
InstantID 工作流与 Checkpoint 代际一致 |