☁️BizyAir Apply InstantID Adavanced
BizyAir Apply InstantID Advanced — ComfyUI Node Guide
- instantid
- insightface
- control_net
- image
- model
- positive
- negative
- image_kps
- mask
- MODEL
- positive
- negative
This is the same InstantID pipeline as BizyAir Apply InstantID, with one meaningful change: it splits a single combined "weight" control into two independent knobs, one for each of InstantID's two conditioning mechanisms. If the basic version's weight field ever felt like it was fighting itself - pushing identity strength up also pushed pose/structure adherence up, whether you wanted that or not - this is the node that fixes that.
Why decoupling the weights matters
Remember InstantID is built from two halves: an image-adapter path that carries the face's appearance, and IdentityNet, a ControlNet-style module that carries facial structure from five landmark points. The basic Apply node blends control over both into one weight value. This advanced version gives you ip_weight for the appearance/identity side and cn_strength for IdentityNet's structural side, separately. That's genuinely useful when, say, you want a strong facial likeness but you're finding the pose is locked too rigidly to the reference photo - you can back off cn_strength without weakening how recognizable the face is, something the basic node can't do.
Inputs that matter
Shares the core inputs with the basic Apply InstantID node (instantid, insightface, control_net, image, model, positive, negative, start_at, end_at, plus optional image_kps and mask), with these differences:
- ip_weight - 0 to 3, default 0.8. The identity/appearance strength - this is the direct equivalent of the basic node's
weight. - cn_strength - 0 to 10, default 0.8. IdentityNet's structural conditioning strength, independent of
ip_weight. Note the much wider range thanip_weight- up to 10 versus 3 - which suggests this parameter tolerates being pushed harder before things break down. Worth experimenting with independently if pose adherence is your bottleneck rather than face likeness. - noise - 0 to 1, default 0. Adds noise into the conditioning process; leave at 0 unless you have a specific reason to introduce variation here.
- combine_embeds -
average,norm average, orconcat, default average. This matters specifically wheninsightfacedetects more than one face in your reference image, or when you're feeding multiple reference embeddings through a more complex setup: it controls how those get merged into a single identity signal.averageis the safe default; tryconcatif averaging is producing a blended, less distinctive face than you expected.
Outputs
MODEL, positive, negative - same shape as the basic Apply InstantID node.
How to install it
Ships with the full BizyAir pack.
ComfyUI Manager: search "BizyAir," Install, restart.
git clone:
cd ComfyUI/custom_nodes
git clone https://github.com/siliconflow/BizyAir.git
API key required before use.
When to reach for this over the basic node
If you're happy with a single combined weight control, the basic BizyAir Apply InstantID is simpler and gets you there faster. Reach for this advanced version specifically when: identity is holding but pose feels too locked (lower cn_strength, keep ip_weight up), or pose/structure is fine but the face isn't distinctive enough (raise ip_weight, leave cn_strength alone), or your reference photo has multiple faces and you need control over how they're combined.
Common issues
Same SDXL-only limitation as the basic node. No Flux path exists for InstantID in any form - use BizyAir Apply PuLID Flux for Flux-based identity work instead.
Confusing which knob controls what. It's easy to reach for cn_strength when the actual problem is weak likeness, or vice versa - remember ip_weight is "does it look like the person," cn_strength is "does it hold the reference's pose/structure." Adjust one at a time so you can tell which one moved the result.
combine_embeds only matters with multiple faces. If your reference image has exactly one clear face, changing this setting won't do much - don't spend time tuning it before confirming you actually have a multi-face scenario.
InsightFace's licensing applies here the same as the basic node - non-commercial terms on the pretrained face models, worth knowing if the output feeds anything commercial.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| instantid | BIZYAIR_INSTANTID | — | |
| insightface | BIZYAIR_FACEANALYSIS | — | |
| control_net | BIZYAIR_CONTROL_NET | — | |
| image | IMAGE | — | |
| model | BIZYAIR_MODEL | — | |
| positive | BIZYAIR_CONDITIONING | — | |
| negative | BIZYAIR_CONDITIONING | — | |
| ip_weight | FLOAT | 0.800–3 | — |
| cn_strength | FLOAT | 0.800–10 | — |
| start_at | FLOAT | 0.0000–1 | — |
| end_at | FLOAT | 1.0000–1 | — |
| noise | FLOAT | 0.00–1 | — |
| combine_embeds | COMBO | average | 3 options: average, norm average, concat |
| image_kpsopt | IMAGE | — | |
| maskopt | MASK | — |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| MODEL | BIZYAIR_MODEL | — |
| positive | BIZYAIR_CONDITIONING | — |
| negative | BIZYAIR_CONDITIONING | — |