π π £π § LTXV Base Sampler
The all-in-one LTX video sampler
- model
- vae
- guider
- sampler
- sigmas
- noise
- optional_cond_images
- denoised
- positive
- negative
LTXV Base Sampler is the node that actually makes the video. Where a stock ComfyUI setup makes you assemble an empty latent, a KSamplerSelect, a scheduler, and a sampler by hand, this one folds the whole LTX sampling stack into a single box: you tell it the width, height, and frame count, hand it a guider and a sampler, and it hands back a denoised video latent. For text-to-video and image-to-video on LTX, it's the workhorse in the middle of nearly every Lightricks example workflow.
It's part of ComfyUI-LTXVideo, the official pack from Lightricks. LTX's whole pitch is speed - drafts in seconds where Wan takes minutes - and this node is tuned around that, including the image-conditioning path that makes I2V a one-node affair.
How it works
Under the hood it builds the initial noise latent at your requested resolution and frame count, then runs the LTX diffusion transformer through the sigmas you feed it, steered by whatever guider you connect. The clever bit is the conditioning: if you connect an image, the node VAE-encodes it and injects it as a keyframe, so the same node covers T2V (no image) and I2V (image connected) without swapping graphs. It also returns the positive and negative conditioning it used, so you can chain further guide nodes downstream.
The inputs that matter
The required side is mostly plumbing you connect once: model, vae, a guider (from STG Guider or Multimodal Guider), a sampler, sigmas, and noise. The widgets a beginner actually sets:
- width / height - default 768Γ512. On LTX-2.3, width and height must be divisible by 32 or the run fails outright rather than rounding.
- num_frames - default 97, and it steps by 8. LTX wants frame counts of the form (multiple of 8) + 1, which 97 satisfies.
For image-to-video, the optional inputs matter: optional_cond_images is the image you're animating from, optional_cond_indices places it (frame 0 = first frame), and strength (default 0.9) controls how hard the model holds to it. There's also crf (default 35) and blur, which lightly degrade the conditioning image so the model treats it as a starting point rather than something to copy pixel-for-pixel.
Outputs are denoised (the video LATENT - send it to a VAE Decode), plus the positive and negative conditioning passthroughs.
Installing it
ComfyUI Manager β Install Custom Nodes β search LTXVideo β install β restart. Or: cd ComfyUI/custom_nodes && git clone https://github.com/Lightricks/ComfyUI-LTXVideo, then restart. It shows up under sampling. You'll need an LTX checkpoint in models/checkpoints, and on LTX-2 the Gemma 3 text encoder - the models download on first use, and the pack's own prerequisites call for a lot of disk (100GB+) and, officially, a 32GB+ card.
Where people get burned
- Off-grid resolutions on 2.3. Divisible-by-32 width/height and (8n+1) frames are hard requirements now - pick 768Γ512 / 97 frames and adjust in those steps.
- Short prompts. LTX punishes vague prompting with static or chaotic motion. Long, specific, chronological prose is the difference between a great clip and a slideshow; many people let an LLM write the prompt.
- I2V strength too high. At
strengthnear 1.0 the model can freeze on the input frame - a known LTX-2-era complaint. If your I2V barely moves, lower it and lean on the prompt for motion. - Distilled vs dev confusion. Distilled checkpoints want ~8 steps at CFG 1 and are more stable but ignore prompts more; dev checkpoints want 20β40 steps and follow prompts better but wander. Match your sigmas/steps to the checkpoint you loaded.
- VRAM. This is where the Gemma text encoder OOMs bite on LTX-2. If you're crashing on a sub-32GB card, quantized weights plus ComfyUI's
--reserve-vramflag are the community's standard workaround.
Inputs (15)
| Name | Type | Default | Description |
|---|---|---|---|
| model | MODEL | The diffusion model to use. | |
| vae | VAE | The VAE to use. | |
| width | INT | 76864β16384 | β |
| height | INT | 51264β16384 | β |
| num_frames | INT | 971β16384 | β |
| guider | GUIDER | The guider to use, must be a STGGuiderAdvanced. | |
| sampler | SAMPLER | The sampler to use. | |
| sigmas | SIGMAS | The sigmas to use. | |
| noise | NOISE | The noise to use for the sampling. | |
| optional_cond_imagesopt | IMAGE | The images to use for conditioning the sampling. | |
| optional_cond_indicesopt | STRING | The indices of the images to use for conditioning the sampling. | |
| strengthopt | FLOAT | 0.900β1 | The strength of the conditioning on the images. |
| cropopt | COMBO | disabled | The crop mode to use for the images. |
| crfopt | INT | 350β100 | The CRF value to use for preprocessing the images. |
| bluropt | INT | 00β10 | The blur value to use for preprocessing the images. |
Outputs (3)
| Name | Type | Description |
|---|---|---|
| denoised | LATENT | β |
| positive | CONDITIONING | β |
| negative | CONDITIONING | β |