Nodes/10S-Comfy-nodes/🧬 LTX Likeness Guide
ComfyUI Node

🧬 LTX Likeness Guide

Attach a likeness reference at the conditioning level β€” no latent surgery required

By TenStripΒ·Created 4 months agoΒ·Updated 26 days agoΒ· 244
🧬 LTX Likeness Guide
  • positive
  • negative
  • vae
  • latent
  • image
  • positive
  • negative
  • latent
  • reference_info
β—„strength1.00β–Ί
β—„placement_modesilent_referenceβ–Ί
β—„face_detectautoβ–Ί
β—„reference_mask_modebbox_softfadeβ–Ί
β—„face_padding0.15β–Ί
β—„crf29β–Ί
β—„blur_radius0β–Ί
β—„interpolationlanczosβ–Ί
β—„cropcenterβ–Ί
β—„attention_strength1.00β–Ί
β—„face_bbox_within_referenceβ–Ί
β—„emit_latentpassthroughβ–Ί
β—„debugfalseβ–Ί

LTXLikenessGuide is the conditioning-side identity injection node in TenStrip's toolkit. It takes your reference image, bakes it into the positive/negative conditioning, and emits a reference_info payload that downstream anchor nodes read to pull attention toward the reference's identity features. The headline of the current version is worth leading with: the latent output is a passthrough by default. No latent extension, no appended reference frame, no crop needed. The Guide's value comes from its conditioning-level interaction with the model and its bbox metadata, not from modifying the latent.

That wasn't always true - earlier versions appended the reference into the latent, and the author found that spatial pattern itself could trigger the model's learned keyframe behavior, causing the video to loop back toward the first frame. The fix was silent_reference placement mode plus passthrough latent output: the reference is placed in the latent and preserved via a noise_mask, but it's not registered as a keyframe in the conditioning, so the model attends to it for identity without the interpolation pressure that causes looping.

The wiring

positive, negative, vae, latent, image β†’ LTXLikenessGuide
      β†’ positive', negative' β†’ Guider β†’ SamplerCustom
      β†’ latent (passthrough) β†’ your sampler
      β†’ reference_info β†’ LTXLikenessAnchor

Five required inputs - positive, negative, vae, latent, image - and four outputs: modified positive/negative conditioning, the passthrough latent, and reference_info. Wire the modified conditioning into your guider (that's the cross-attention mechanism), the latent straight into your sampler, and reference_info into a LikenessAnchor for the self-attention pull.

The inputs that matter

  • strength (1.0) - how strongly the reference frames are preserved via noise_mask. 1.0 is safe in silent_reference mode (no looping), so leave it.
  • placement_mode - silent_reference (recommended) vs keyframe (legacy full keyframe registration; can loop back to frame 1).
  • face_detect - auto (MediaPipe/OpenCV), manual (use face_bbox_within_reference), or none (whole reference is identity).
  • reference_mask_mode - bbox_softfade (recommended, Gaussian fade outside the bbox), bbox_only, or whole_frame.
  • emit_latent - passthrough (recommended) vs extended. Only pick extended if you know why you want the in-latent mechanism - and then you need LTXLikenessCrop downstream.
  • face_bbox_within_reference - manual bbox fallback when auto detection fails. LTXFaceDetector's output wires straight into this.

Caveats worth knowing

Two of them. First, attention_strength looks like a control on this node but it isn't - the tooltip is explicit that it only sets metadata downstream anchors read. Don't expect it to change this node's own output. Second, the noise_mask has a small floor (0.10) baked in from v1.3 - a hard 0.0 mask created a temporal discontinuity the VAE decoder turned into periodic artifacts (blob halos). If you ever see those, that's a known fixed bug, not something you need to fight.

Community experience with the identity workflows built on this family: subjects far from camera lose identity fastest, and the fix is cropping the source closer or adding a second clean-face reference - not cranking strength to the moon. The upscale pass is also a known identity-killer; keep it out of the reference path.

Install is the pack-wide clone (10S_Nodes into custom_nodes, restart, or ComfyUI Manager β†’ "10S-Comfy-nodes"), no extra deps (MediaPipe optional for better face detection, falling back to OpenCV).

Category10S Nodes/Identity

Inputs (18)

NameTypeDefaultDescription
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
vaeVAEβ€”
latentLATENTβ€”
imageIMAGEβ€”
strengthoptFLOAT1.000–1How strongly the reference frames are preserved via noise_mask. 1.0 = fully preserved (clean reference throughout sampling). With placement_mode=silent_reference (default), strength=1 is safe and recommended β€” no looping.
placement_modeoptCOMBOsilent_referencesilent_reference (recommended): place reference in latent and preserve via noise_mask, but DO NOT register it as a keyframe in conditioning. The model still attends to it naturally for identity, without interpolation pressure that causes end-frame looping. keyframe: use LTXVAddGuide's full keyframe registration (original v1.1 behavior). May cause composition loop back to first frame.
face_detectoptCOMBOautoauto: detect face via MediaPipe/OpenCV. manual: use face_bbox_within_reference. none: whole reference treated as identity (matches v1.0 behavior).
reference_mask_modeoptCOMBObbox_softfadeHow to mask the reference latent. whole_frame = unchanged (model attends to entire reference, may cause looping). bbox_only = zero outside bbox in latent. bbox_softfade (recommended) = Gaussian fade outside bbox.
face_paddingoptFLOAT0.150–0.5Padding around detected face bbox as fraction (0.15 = 15% expansion). Captures hair/neck context for stronger identity.
crfoptINT290–51CRF for reference image preprocessing. Higher = softer reference, less rigid pull.
blur_radiusoptINT00–7Blur radius for reference image. Higher = softer reference.
interpolationoptCOMBOlanczos7 options: lanczos, bislerp, nearest, bilinear, bicubic, area, +1
cropoptCOMBOcenter2 options: center, disabled
attention_strengthoptFLOAT1.000–2Metadata for downstream attention hooks (LTXLikenessAnchor). Doesn't affect this node's own output, only what downstream anchors read.
face_bbox_within_referenceoptSTRINGManual bbox 'x1,y1,x2,y2' normalized 0-1. Used when face_detect=manual, or as fallback when auto detection fails. Empty + auto failed = whole frame.
emit_latentoptCOMBOpassthroughpassthrough (recommended): the latent output is the unmodified input latent. Guide's value comes from its conditioning modifications (which feed into Guider) and the reference_info metadata it emits (which feeds into LikenessAnchor). Wire the input latent directly to your sampler. extended: emits the extended latent with the reference frame appended. Requires LikenessCrop downstream to remove the extension before VAE decode. Note: may cause end-keyframe interpolation pressure even in silent_reference mode (the spatial pattern itself can trigger learned keyframe behavior).
debugoptBOOLEANfalseβ€”

Outputs (4)

NameTypeDescription
positiveCONDITIONINGβ€”
negativeCONDITIONINGβ€”
latentLATENTβ€”
reference_infoREFERENCE_INFOβ€”