Nodes/ComfyUI-LTX2-R2V/LTXVAddRefMultiFc
ComfyUI Node

LTXVAddRefMultiFc

References on autopilot — drop in images, and LTX-2 treats them as context, not frames

By fangcun010·Created 7 months ago·Updated 7 months ago· 2
LTXVAddRefMultiFc
  • positive
  • negative
  • vae
  • latent
  • positive
  • negative
  • latent
  • processed_images
  • frame_step
  • info
step_multiplier2
mask_modeconstant
ramp_frames1
upscale_methodnearest-exact
negative_frame_modeallow_cross_zero
num_refs

If the guide nodes are about pinning the storyboard, LTXVAddRefMultiFc is about pinning the cast. It's the same latent-keyframe machinery, but for reference images that LTX-2 sees as context rather than as frames in the clip. You drop in up to 20 images - a character, a prop, a room - and the node places each one at a negative frame index, i.e. before frame 0, where the model can read them to keep the character looking like the character without them appearing in the actual video. This is the trick behind the pack's name (R2V, reference-to-video), and it's LTX-2's native answer to what people reach for IP-Adapter or MSR-style multi-reference LoRAs for on the Wan side.

The reason to use this over the guide nodes: you don't have to think about placement. Guides ask you for a frame_idx per image; references get their positions assigned automatically, spaced out before the clip starts.

How it works

The inputs are the usual positive, negative, vae, latent, plus mask_mode, ramp_frames, upscale_method, and negative_frame_mode - same as the guide node. The two that make it a reference node are step_multiplier and the per-ref strength_N.

Placement works like this: the VAE reports a frame_step (its time-compression factor, from vae.downscale_index_formula[0]), and each reference i lands at -frame_step * step_multiplier * i. With the default step_multiplier of 2, reference 1 sits two VAE-steps before frame 0, reference 2 four steps back, and so on - enough breathing room that each image conditions its own slice of context instead of stacking on top of each other. Per-reference strength_N (0–1) again drives the noise mask: higher means the model honors that reference more.

You also get a couple of outputs the guide nodes don't bother with: frame_step (the raw VAE time-compression factor, useful if you want to reason about placement yourself) and info, which spells out the negative frame index and latent mapping for every reference. Wire positive/negative/latent through to your sampler as usual, and eyeball processed_images to confirm the preprocessed references look sane.

When to reach for it

This is the node for keeping a character or prop consistent across a clip - one reference of the subject, a prompt describing the action, and LTX-2 tries to recall the subject rather than hallucinate a new one. That recall is the catch: negative-index references are strong context, not strict identity, so details still drift on hard subjects. If you need exact appearance, a LoRA is still the tool. If you need a frame inside the video, that's the guide node's job - this one is strictly pre-roll context. And as always in this pack, run it on the video latent before merging audio; the node raises if you feed it a combined AV latent.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/fangcun010/ComfyUI-LTX2-R2V

Restart, then it's under KJNodes/ltxv, sitting next to the guide node. It needs the DynamicCombo API, so ComfyUI 0.8.1 and frontend 1.33.4+ - if the num_refs dropdown doesn't spawn the image slots, that's your update cue. No extra deps, no downloads; it runs on your existing LTX-2 checkpoint and VAE.

CategoryKJNodes/ltxv

Inputs (10)

NameTypeDefaultDescription
positiveCONDITIONINGPositive conditioning to which guide keyframe info will be added
negativeCONDITIONINGNegative conditioning to which guide keyframe info will be added
vaeVAEVideo VAE used to encode the guide images
latentLATENTVideo latent, guides are added to the end of this latent
step_multiplierINT21–100Multiply frame_step to space reference frames.
mask_modeCOMBOconstantSelect how to build the guide noise mask.
ramp_framesINT11–64Expand single-frame refs to this many frames when using ramp.
upscale_methodCOMBOnearest-exactResize method used before preprocessing.
negative_frame_modeCOMBOallow_cross_zeroHow to place negative frame indices when refs span multiple frames.
num_refsCOMBOSelect how many reference images to use

Outputs (6)

NameTypeDescription
positiveCONDITIONING
negativeCONDITIONING
latentLATENTVideo latent with added references
processed_imagesIMAGEBatch of processed reference images
frame_stepINTFrame step (vae.downscale_index_formula[0])
infoSTRINGReference index mapping info