π π £π § LTXV Img To Video Advanced
The I2V node with the knobs that actually matter
- positive
- negative
- vae
- image
- positive
- negative
- latent
This is the node you use when you want your LTX video to start from a specific image - the standard image-to-video setup - but with the extra controls the basic version hides. You give it a starting frame (or a whole video segment) and it anchors that at index 0 of the generation, so the clip grows out of your image instead of out of pure noise. The "Advanced" in the name is real: it exposes resolution, length, a compression control, and the all-important conditioning strength, which is exactly the knob that decides whether LTX respects your input image or wanders off from it.
That last part matters more on LTX than on most models. LTX-2's launch-era I2V was notorious for drifting from the source frame - the KB's honest community verdict was that it "fails to produce anything reasonable with i2v, often slow zooms, none or minimal motion... often ignoring input image altogether." LTX-2.3 largely fixed the frozen/ignoring problem, but the strength control here is still how you dial the balance between "faithful to my image" and "free to move."
How it works
It resizes and preprocesses your image to the target dimensions, encodes it through the VAE, and folds it into your positive/negative conditioning as an index-0 keyframe. Out comes updated positive and negative conditioning plus a latent, all pre-shaped for the sampler. In other words it does the image prep, the encode, and the conditioning surgery in one node so your sampler just has to sample.
The inputs and outputs that matter
The few a beginner actually touches:
image(IMAGE) - your starting frame.strength(FLOAT, default 0.9, range 0β1) - how hard the model holds to your image. ~0.8β0.9 is the community starting point; lower it if the clip feels frozen or you want more motion, raise it if the subject drifts away from your input.width/height(default 768Γ512, step 32) - output size. LTX wants dimensions divisible by 32, which the step enforces.length(default 97, min 9, step 8) - frame count. LTX's constraint is frames divisible by 8 plus 1, which is why the defaults look odd (97, not 96).crf(default 29, range 0β51) - a compression control applied to the conditioning; lower is cleaner, higher adds compression character. The KB notes CRF affects motion, and "30β40" was a common LTX sweet spot.
Also present: positive, negative, vae (the wired-in conditioning and VAE), plus batch_size, blur_radius, interpolation (lanczos by default), and crop. Outputs: positive, negative, latent - feed all three onward to your sampler.
How to install it
ComfyUI Manager: Ctrl+M, Install Custom Nodes, search LTXVideo, install, restart. Or:
cd ComfyUI/custom_nodes
git clone https://github.com/Lightricks/ComfyUI-LTXVideo
then restart. Official Lightricks pack. You'll need an LTX-2 checkpoint, the Gemma 3 text encoder, and the pack's baseline hardware (32GB+ VRAM, 100GB+ disk; models download on first use).
Common issues & troubleshooting
The video ignores your image / barely moves. The two classic LTX I2V failure modes, and they pull in opposite directions. If it drifts from the source, raise strength. If it's frozen on a slow zoom, lower strength and make sure your prompt actually describes motion - LTX punishes short prompts with static output. The KB also notes trying a higher FPS (48) for I2V to reduce glitchy fast motion.
A dimension gets rejected. LTX-2.3 has hard grid constraints: width and height divisible by 32, frame count divisible by 8 plus 1. Off-grid values fail rather than round. The node's step sizes push you onto the grid - don't override them with weird custom numbers.
Faces or bodies look rough. That's LTX's known weak axis versus Wan, not this node. The community pattern is to draft in LTX and, if you need final-quality humans, do a cleanup pass in Wan via video-to-video. Seed-hunting (many short candidates, pick the best) also beats endless prompt tweaking here.
Inputs (13)
| Name | Type | Default | Description |
|---|---|---|---|
| positive | CONDITIONING | β | |
| negative | CONDITIONING | β | |
| vae | VAE | β | |
| image | IMAGE | β | |
| width | INT | 76864β16384 | β |
| height | INT | 51264β16384 | β |
| length | INT | 979β16384 | β |
| batch_size | INT | 11β4096 | β |
| crf | INT | 290β51 | CRF value for the video. Higher values mean more motion, lower values mean higher quality. |
| blur_radius | INT | 00β7 | Blur kernel radius size. Higher values mean more motion, lower values mean higher quality. |
| interpolation | COMBO | lanczos | 7 options: lanczos, bislerp, nearest, bilinear, bicubic, area, +1 |
| crop | COMBO | disabled | 2 options: center, disabled |
| strength | FLOAT | 0.900β1 | β |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| positive | CONDITIONING | β |
| negative | CONDITIONING | β |
| latent | LATENT | β |