7-3 / 7-4 默认:同一张图 既做人脸 embedding,又做 关键点(kps)。
结果:生成人物 脸像参考,头/身体角度也倾向参考图。
需求:脸 = 图 A,姿势 = 图 B(如 OpenPose 提取的他人站姿)。
|
输入 |
提供什么 |
典型来源 |
|---|---|---|
|
image |
人脸身份(InstantID / InsightFace) |
清晰 正脸照 A |
|
image_kps |
面部/身体 关键点结构 |
姿势参考 B(可全身) |
ApplyInstantID 节点上 image_kps 为 可选;留空则用 image 的 kps。
脸来自 A,姿势来自 B → image=A, image_kps=B
InstantID ControlNet 根据 kps 图 控制生成时的 头部朝向、五官相对位置;
IP-Adapter 分支根据 image 控制 身份特征。
二者解耦 → 换姿势不换脸 的核心。
正脸或微侧,光照清晰;
可与姿势无关(甚至证件照)。
全身或半身,目标姿势明确;
脸是谁无所谓(会被 A 的脸替换);
可从 OpenPose 骨架图 或 他人照片 提取 kps(工作流内自动从 B 算 kps)。
注意:B 的 极端透视 可能导致脸融合 artifact,需试 seed / weight。
复制 InstantID txt2id 工作流;
添加 第二个 Load Image(姿势图 B);
ApplyInstantID:
image ← Load Image A
image_kps ← Load Image B
仍用 Empty Latent,denoise 1.0;
Prompt 描述 服装、场景(不必描述 B 的脸)。
官方示例路径:
ComfyUI_InstantID/examples/InstantID_posed.json
导入后对照 双 Load Image 与 image_kps 连线,改 Prompt 与参考图。
若 B 图 kps 提取差:
B → OpenPose 预处理 → 骨架可视化再作 kps 输入(视节点是否支持);
或直接用 他人 OpenPose 骨架图 作 B。
|
参数 |
建议 |
|---|---|
|
weight |
0.82–0.88(姿势难时略高保脸) |
|
cfg |
4–5 |
|
Prompt |
写 B 的姿势文字辅助: |
|
负向 |
wrong face, different person |
Advanced 节点:
脸「烧」→ 降 ip_weight 或加 noise;
姿势不像 B → 略升 cn_strength 或换更清晰 B。
|
模式 |
latent |
kps |
适用 |
|---|---|---|---|
|
txt2id + kps |
Empty |
A+B 分离 |
全新背景 + 指定姿势 |
|
img2id + kps |
Encode(某底图) |
A+B |
在底图构图上改脸/姿势 |
7-4 图生图 + image_kps=B 可 脸来自 A、姿势来自 B、构图来自底图,较复杂,建议分步掌握。
|
现象 |
处理 |
|---|---|
|
姿势仍像 A |
image_kps 未接或接错 |
|
脸不像 A |
image 是否误接 B;weight↑ |
|
脸与身体接缝怪 |
换 B 角度;降 cn_strength |
|
B 无人脸导致 kps 差 |
用含头+肩的 B;或 OpenPose 图 |
虚拟偶像 同一脸 + 舞蹈/站姿库;
写真 模特脸 + 动作参考;
分镜:固定主角脸,每格不同动作。