FLUX.2 Klein Identity Guidance
Pulling the whole output toward a reference, not just the attention
- model
- identity_latent
- MODEL
Most of this pack's identity tooling works by reaching into the model's attention layers and steering token similarity - the Identity Feature Transfer family. Identity Guidance takes a completely different route: it's a sampler-level correction that nudges the denoised output itself toward a reference latent at each step, after CFG has already been applied. Think of it as the blunter, more direct cousin of Color Anchor, but pulling the whole latent instead of just color statistics.
How it works
You give it a full-resolution VAE-encoded reference (identity_latent), and on every sampling step, after the model's normal prediction, this node blends the result some percentage of the way toward that reference - the strength you set is literally "move this fraction of the distance per step." Unlike the attention-steering nodes, this doesn't discriminate by token similarity internally by default; how selective it is depends entirely on which mode you pick.
The inputs that matter
identity_latent- required. A VAE-encoded reference image at full resolution - the tooltip is explicit that this needs to be full-res, not a downscaled proxy.strength- how hard to pull toward the reference each step. Default0.3means "move 30% of the distance" per step, which compounds across the schedule.start_percent/end_percent- when the correction is active across the denoising schedule. The default (0to0.8) leaves the last 20% of steps running free, which matters: that tail is where fine texture gets refined, and correcting all the way to the end can fight that refinement.mode- three distinct behaviors, and this is the field to actually think about:adaptive- the default. Pulls only where the current prediction already resembles the reference, so it reinforces an emerging match rather than forcing one.direct- pulls everywhere, uniformly, regardless of how close the prediction already is. The most aggressive and least selective option.channel_match- matches color and feature statistics without copying spatial content - closer in spirit to what Color Anchor does, but as a full-latent operation rather than a channel-mean-only one.
Output is a patched MODEL, wired in right before your sampler like the rest of this pack's model-patching nodes.
Installing it
ComfyUI Manager: search ComfyUI-Flux2Klein-Enhancer, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/capitan01R/ComfyUI-Flux2Klein-Enhancer.git
No extra dependencies beyond ComfyUI itself.
Where people get burned
direct mode is the one that surprises people - because it pulls everywhere with no gating, cranking strength up on direct mode is the fastest way to erase the parts of the generation you actually wanted to keep free, like a pose change or a background swap. If you're trying to hold identity while still letting the rest of the image move, adaptive is the safer starting point precisely because it only reinforces regions that are already converging toward the reference.
The end_percent default of 0.8 is there on purpose, not an oversight - running identity correction through the final refinement steps tends to fight Klein's own detail pass and can leave textures looking muddier than either extreme (no correction, or correction that stops earlier). If your outputs look identity-locked but texturally flat, try pulling end_percent down rather than reducing strength first.
This node and the Identity Feature Transfer family solve overlapping problems from different angles - attention steering versus output-level pulling - and nothing stops you from combining them, but start with one at a time so you can tell which is doing the work when something looks off.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | — | |
| identity_latent | LATENT | VAE-encoded reference image at full resolution. | |
| strength | FLOAT | 0.300–1 | How hard to pull toward the reference each step. 0.3 = move 30% of the distance. |
| start_percent | FLOAT | 0.000–1 | When to start correcting. 0.0 = beginning of denoising. |
| end_percent | FLOAT | 0.800–1 | When to stop correcting. 0.8 = last 20% runs freely for texture refinement. |
| mode | COMBO | adaptive | adaptive: pulls only where prediction resembles reference. direct: pulls everywhere equally. channel_match: matches color/feature statistics without copying spatial content. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| MODEL | MODEL | — |