LTXVAddGuide
The hidden keyframe node that gives LTX first-frame, last-frame, and mid-video control
- positive
- negative
- vae
- latent
- image
- attention_mask
- iclora_parameters
- positive
- negative
- latent
This is the node that most of LTX's fancy-looking shot control is secretly built on, and the reason you've never heard of it is that almost nobody uses it directly. LTX Video can inject a frame - or a whole fragment of video - into the middle of a generation as a conditioning guide: make frame 1 this image, make frame 49 that image, make the last frame loop back to the first. That capability is LTXVAddGuide. The community's timeline tools, the LTX Sequencer and Director nodes that let you place keyframes on a visual timeline, are wrappers around exactly this. One long-time user's summary is worth keeping in mind: Lightricks shipped the feature but never demonstrated it in their own example workflows, so everyone else built the wrappers.
How it works
You feed it your positive and negative conditioning, a vae, the latent you're working with, and an image - a single frame or a short video. The node encodes the image with the LTX VAE and appends it to the latent sequence as guide keyframes, then stamps keyframe_idxs and per-reference attention entries into both conditionings so the sampler knows the guide frames are anchored facts, not noise to redraw. The strength dial (default 1, up to 10) controls how hard those frames are locked in: the noise mask over the guide frames is set to max(0, 1 - strength), so higher strength means the model is more forced to match them.
frame_idx is the interesting input. 0 means the very first frame - plain image-to-video. Positive values put the guide mid-video, but with a catch spelled out in the tooltip: for videos of 9+ frames, the index must be divisible by 8 (it rounds down if not), because of the VAE's temporal compression. Negative values count back from the end of the video, which is how last-frame conditioning and loops get built.
Two optional inputs do real work here:
- attention_mask - a pixel-space mask. It's a per-region influence dial: regions outside the mask get less conditioning influence, via self-attention, multiplied by strength. Useful for "lock the subject, let the background drift."
- iclora_parameters - from a Get IC-LoRA Parameters node, for IC-LoRAs that need special guide handling (those with a
reference_downscale_factorabove 1). When you chain several guides, each AddGuide uses only the parameters wired into it.
The three outputs - positive, negative, latent - chain straight into another AddGuide or into a sampler.
How you get it
Ships with ComfyUI core. Model-wise you need the LTX checkpoint (2B, 13B, or the LTX-2 family), the matching LTX VAE, and LTX's text encoder in the standard models/ folders.
Where people get burned
Forgetting the crop. Guides get appended to the latent, so before you decode you usually want to trim them off with the sibling node LTXVCropGuides - otherwise guide frames can leak into the output or the timing comes out wrong. The 8-frame rule. Setting a mid-video index that isn't a multiple of 8 gets silently rounded, and if your guide lands a frame off you'll see a jump you can't explain. Version drift. The 2.3-era rebuilt VAE changed the latent space, so a guide encoded with a stale VAE misbehaves. When your clip ignores a keyframe entirely, check the frame_idx arithmetic first, the VAE second - and remember the community's standing advice: short, specific motion promises beat long ones, and seed-hunting beats prompt-begging.
Inputs (9)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | — | |
| negative | CONDITIONING | — | |
| vae | VAE | — | |
| latent | LATENT | — | |
| image | IMAGE | Image or video to condition the latent video on. Must be 8*n + 1 frames. If the video is not 8*n + 1 frames, it will be cropped to the nearest 8*n + 1 frames. | |
| frame_idx | INT | 0-9999–9999 | Frame index to start the conditioning at. For single-frame images or videos with 1-8 frames, any frame_idx value is acceptable. For videos with 9+ frames, frame_idx must be divisible by 8, otherwise it will be rounded down to the nearest multiple of 8. Negative values are counted from the end of the video. |
| strength | FLOAT | 1.000–10 | — |
| attention_maskopt | MASK | Optional pixel-space spatial mask. Controls per-region conditioning influence via self-attention, multiplied by strength. | |
| iclora_parametersopt | IC_LORA_PARAMETERS | Optional IC-LoRA parameters from a Get IC-LoRA Parameters node. Used for adjusting guide processing as required by certain IC-LoRAs (eg. those with a reference_downscale_factor > 1). When chained, each LTXVAddGuide uses only the parameters connected to it. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | — |
| negative | CONDITIONING | — |
| latent | LATENT | — |