DEV Community

AI-KSK
AI-KSK

Posted on

Multi-Image Reference for LTX 2.3: Separate Background, Character and Prop

Multi-image reference answers a question that single-image conditioning cannot: which image is the set, which is the actor, and which is the object being handled. The graph is the old multi-image first/last-frame build with one change — every reference is weighted 1 and indexed in order — plus the newer Prompt Relay controls for timing the interaction.

Evidence note: three workflow JSON files ship with this episode and were parsed directly; node counts, checkpoint, LoRA strengths, sigma schedules and latent sizes below come from those files.

When this is useful

  • Product scenes where the object and the model must both be recognisable.
  • Character-in-a-location shots where you hold the set and the actor as separate images.
  • Timing a reveal: the reference decides what appears, Prompt Relay decides when.
  • Audio-driven variants where a character must speak inside a referenced environment.

How this differs from the previous build

The change from the multi-image first/last-frame graph is small and worth stating precisely.

  • Every reference image weight is set to 1, where the first/last-frame build often used 0.5 or lower.
  • Indices run 0, 1, 2, 3 sequentially, which is what makes it a reference graph rather than a timeline.
  • The author says the same node accepts more than four images; four is just what fits the demo.
  • Prompt Relay gained an advanced variant: max frames, per-segment durations, segmentation strength, window scale, audio boundary softness and audio window scale.
  • The newer "smart" Prompt Relay node segments automatically, but the author judged it no smarter than writing the segments yourself.

Running it

  1. Load your images. The first is normally the background, then the elements stacked in order.
  2. Set duration and frame rate — 24 fps is the working default.
  3. Write the total prompt, then segment prompts. Segment prompts are what let you time an interaction inside a ten-to-twenty-second clip.
  4. Set the max frame value to 241 in the advanced Relay node; a smaller number makes the action follow segments more tightly.
  5. Choose frame-based or second-based timeline editing. The demo uses frames.
  6. Add or delete segments, or hit the middle button to distribute duration evenly.
  7. If a character must speak, add audio and mask it in; the author advises doing this only when speech is the point of the segment.
  8. Trim the head and tail with the start/end frames at the end of the graph — 20 frames in, for example.

Parameters, and where the numbers come from

Item Value in the shipped graphs
Checkpoint ltx-2.3-22b-dev-dare-merged-distilled-1.1.safetensors
Text encoder gemma_3_12B_it.safetensors
Samplers euler_ancestral_cfg_pp, euler_cfg_pp
CFG 1 (CFGGuider)
Sigma schedule, main 1.0, 0.99375, 0.9875, 0.98125, 0.975, 0.909375, 0.725, 0.421875, 0.0
Sigma schedule, refine 0.85, 0.7250, 0.4219, 0.0
Video latent 320x288, length 97
Audio latent 25 fps, 97 frames
Reference resize 960x544 (ImageResizeKJv2)
NAG scale 11, alpha 0.25, tau 2.5
Image conditioning strength 0.7
LoRA, VBVR Ltx2.3-Licon-VBVR-I2V-390K-R32.safetensors at 1.0
LoRA, crisp LTX2.3_Crisp_Enhance.safetensors at 0.5

The 0.5 crisp strength is the one value that differs from the image-to-video suite graphs, which run it at 1.0.

Honest limits

  • Similarity drops as you add references — the author says it does not collapse, but it is measurably looser than single-image conditioning.
  • The opening frames often repeat the input images, which is why the graph ships start/end frame trimming.
  • Audio-driven multi-reference is only advisable when the person speaking is the subject of the shot.
  • Reference an image the model can actually parse: garbled or text-heavy references leak artefacts.

Episode resources

RunningHub workflows

Top comments (0)