LTX Guide Reference Strength (Koolook)
Tune the LTX reference identity pin in a two-stage refinement
- guide_data
- guide_data
LTX Director's Ghost Mask reference lets you anchor a character's identity - face, mouth shape - by feeding the Director reference images that never appear in the output. There's a reference_strength knob on the Director itself, but it's one global value. LTXGuideReferenceStrength is a tiny companion node that rewrites the strength of only the reference frames inside guide_data, leaving your keyframe pins completely alone. It exists for one workflow shape: two-stage refinement, where stage 1 should let motion form under a light reference and stage 2 should lock identity harder.
Why that split matters
In a two-stage LTX pipeline, stage 2 is a low-denoise refinement pass - the motion is already set, so a strong reference is cheap there. But if you feed stage 2 the same heavy reference you'd use in stage 1, the identity pull can bleed pose and lighting into the output and suppress motion. The clean recipe from Koolook's own docs: stage 1 gets the Director's guide_data unchanged (light reference, motion forms freely), stage 2 routes its guide_data through this node at a higher reference strength, and identity locks during the low-sigma refinement. The default reference_strength of 0.9 is aimed at exactly that stage-2 refinement guide.
How it works
Every guide frame's strength becomes a noise-mask pin downstream - noise_mask = 1 - strength in LTXDirectorGuide. The Director appends references as the last entries of guide_data, tagged with a reference count. This node reads that count, rewrites the strength of just those trailing entries, and passes everything else through untouched. It's pure Python, no torch, and the strength math is unit-tested - a genuinely thin node.
The inputs
guide_data- the output ofLTXDirector__koolook, fed in and out unchanged apart from the reference entries.reference_strength- the new strength for reference frames only. Higher = harder identity pin; ~0.9 is the suggested stage-2 starting point.mode-absolutesets the reference strength to your value;multiplyscales the Director's own reference strength by it. Multiply is handy when you're inheriting a workflow and don't know the Director's base value.
Output is a single guide_data - wire it into your stage-2 LTXDirectorGuide (or CleanLatentSlice/crop path) in place of the raw Director output.
The gotcha
If the guide_data has no tagged reference entries - say you forgot to connect reference_images on the Director, or you're feeding this node guide data from a non-Director source - there's nothing to rewrite, and it just passes the data through. It won't error loudly. So if your identity pin isn't changing, check the Director's reference input first. Also, don't use this as a global "identity strength" knob: it deliberately ignores keyframes, so if you want to tune the timeline pins, that's the Director's reference_strength/keyframe controls, not this node.
Installing it
Ships in ComfyUI-Koolook. ComfyUI Manager → Install Custom Nodes → "ComfyUI-Koolook", restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/malkuthro/ComfyUI-Koolook.git
Restart after. No dependencies beyond the LTX Director workflow it plugs into. And the README's standing warning: Manager installs land in custom_nodes/koolook/, so don't also clone the repo manually - two parallel copies of the pack both load, and the workflow store can silently corrupt on restart.
Inputs (3)
| Name | Type | Default | Description |
|---|---|---|---|
| guide_data | GUIDE_DATA | — | |
| reference_strength | FLOAT | 0.900–1 | New strength for the reference frames only. Higher = harder identity pin. Use ~0.9 on a stage-2 refinement guide. |
| mode | COMBO | absolute | absolute: set reference strength to this value. multiply: scale the Director's reference strength by it. |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| guide_data | GUIDE_DATA | — |