- LTX-2.5 supports three guidance strategies, not one: CFG, STG and APG.
- The distilled pipeline runs on 8 predefined sigmas, so "how many steps" is the wrong question for it.
- Gradient estimation cuts inference from 40 steps to 20-30 while holding quality.
- These parameters live on the local Python pipelines. The hosted service does not expose them.
Three settings decide most of what your generation looks like before the prompt gets a vote: how hard the model is pushed toward your text, how many denoising steps it gets, and which sampler walks it through them. Nearly every guide to those settings online was written for image models in 2023, and the advice transfers badly to a 22B audio-video model where a distilled checkpoint may not use a step count at all.
Here is what each control actually does in LTX-2.5, and what to change when a specific thing goes wrong.
Where Do These Settings Live?
Settings coverage differs by product surface, and mixing them up wastes an afternoon. Guidance strength, step counts, sigma schedules and sampler choice are all parameters of the open-source ltx-pipelines package, configured through CLI flags or the Python classes in ltx-core. The LTX API is a separate surface with its own schema: you choose between the ltx-2-5-fast and ltx-2-5-pro tiers and the sampling internals are handled for you. Everything below applies to the local pipelines.
What Does Guidance Actually Do?
Guidance pushes each denoising prediction away from what the model would produce with no conditioning and toward what it produces with your prompt. Classifier-free guidance is the familiar implementation, and it is one of three guidance strategies the ltx-core package ships in its components/guiders.py module: CFG, STG and APG.
STG, Spatio-Temporal Guidance, is the one worth understanding because it reaches the same goal through a different mechanism. STG uses the perturbation system in ltx-core to selectively disable attention operations inside the transformer. The documented perturbation types are SKIP_VIDEO_SELF_ATTN, SKIP_AUDIO_SELF_ATTN, SKIP_A2V_CROSS_ATTN and SKIP_V2A_CROSS_ATTN. That last pair matters for an audio-video model specifically: guidance can be applied to the cross-modal link between streams, not just within a single modality.
Guidance on a Distilled Checkpoint
Guidance behaves differently once the checkpoint has been distilled, because the distilled model was trained to reach a usable result in far fewer steps. DistilledPipeline runs with 8 predefined sigmas. The two-stage pipelines that run the full model in stage one require a separate distilled LoRA, ltx-2.5-22b-distilled-lora-450-bf16.safetensors, fused into that stage. Because those configurations run different step budgets, a guidance value validated on one is a starting point on the other rather than a setting you can carry across. Treat them as separate configurations.
The Look of Too Much Guidance
Excess guidance has a recognizable signature, though the specific thresholds are not documented and this description is an inference from how guidance works rather than a published finding: surfaces may flatten and over-saturate, textures may repeat, and motion may stiffen as the model prioritizes prompt agreement over plausible continuation. The LTX documentation does not publish per-scenario guidance values, so treat any specific number you read anywhere as a starting point to test, not a setting to adopt. Our guide to pattern artifacts covers the visual symptoms in detail.
Steps and Sigma Schedules
Steps are the count of denoising iterations between pure noise and a finished latent. Each step, the transformer predicts the noise present, guidance adjusts that prediction, and a diffusion step such as Euler updates the latent. More steps means a smaller change per step and generally a cleaner result, up to the point where the schedule stops paying for itself.
The schedule is the part most people skip. ltx-core ships three noise schedulers in components/schedulers.py: LTX2Scheduler, LinearQuadratic and Beta. The sigma schedule also adapts to token count, which means a longer or higher-resolution generation is not simply the same schedule stretched out.
Why Distilled Skips the Step Count
Distilled inference does not expose a step count in the way a dev-checkpoint run does. DistilledPipeline is documented as "fastest inference with only 8 predefined sigmas (8 steps stage 1, 4 steps stage 2)." The values are fixed, not a slider. If you are running the distilled transformer and looking for a steps parameter to raise, you are looking for something that does not exist; the path to more quality is a different pipeline rather than a higher number.
Gradient Estimation
Gradient estimation is the setting most likely to be sitting unused in your config. The LTX optimization guidance is specific: it reduces inference steps from 40 to 20-30 while maintaining quality. On a dev-checkpoint run that is a 25% to 50% cut in step count for no change in pipeline or checkpoint. The full treatment lives in the pipeline optimization documentation under the denoising-loop section.
What a Sampler Decides
Samplers decide how the latent moves between sigmas. LTX-2.5 production pipelines use Euler and res_2s samplers, optionally with gradient estimation. Euler is the first-order option, and it is the one the documented denoising loop names for the latent update. res_2s is second-order, and the documentation is direct about the trade it buys. TI2VidTwoStagesHQPipeline is described as the same two-stage flow as the standard version "but uses the res_2s second-order sampler (fewer steps, better quality)."
That is the practical decision in one line. If you are step-constrained and unhappy with quality on a two-stage run, switching to the HQ pipeline for its res_2s sampler is a more direct fix than raising the step count on the standard one.
When the Sampler Is Not the Problem
Sampler changes cannot repair a broken input. If your output ignores the prompt, guidance and prompt construction are the levers. If motion drifts across a clip, check the conditioning and the frame count first. And if you are working from an invalid frame count, no sampler will save the run: the Video VAE requires that frame counts satisfy (F-1) % 8 == 0, so valid counts run 9, 17, 25, 33, 41, 49, 57 and upward. At 25fps, 49 frames is 1.96 seconds. Requesting a round two seconds is not an option the constraint allows.
A Starting Point by Goal
The LTX documentation provides parameter ranges, defaults and optimization guidance, but not per-use-case recipes. The following is assembled from those documented building blocks as suggested starting points, not as documented guidance, and every row should be validated against your own footage.
• Fast iteration. Distilled transformer with DistilledPipeline. The 8 predefined sigmas are the configuration; spend your attention on the prompt instead.
• Guided two-stage render. Dev transformer with TI2VidTwoStagesPipeline, plus the distilled LoRA in stage one and the spatial upscaler. Turn gradient estimation on before you consider raising steps.
• Quality-constrained, step-constrained. TI2VidTwoStagesHQPipeline for the res_2s second-order sampler.
• Production quality. DFRPipeline with the Detailing IC-LoRA, ltx-2.5-22b-ic-lora-pixel-spatial-upscaler-x2-1.0.safetensors, passed through --detailing-lora. The repository documents DFR as the production-quality text and image-to-video path, and it runs on the same distilled transformer as DistilledPipeline, not the dev one.
Prerequisites and Flags
Prerequisites for any of the above: the codebase is pure PyTorch and targets NVIDIA GPUs with 80GB+ VRAM, with distilled variants supported on 32GB using quantization. CUDA 13+ is recommended for optimal performance rather than required; the repository is tested against CUDA 12.7 and newer. Install with uv sync --extra natten from the repository root.
The LTX-2.5 quick-start download set is roughly 66 GiB, and the bundled text encoder gemma4-12b-with-proj-ltx-2.5-bf16.safetensors is required by every pipeline.
Memory flags interact with everything above, because a run that fits is a run you can tune. Under memory pressure the documented options are --quantization fp8-cast with --offload cpu or --offload disk. On Hopper and newer GPUs with native FP8 support, --quantization fp8-scaled-mm applies and expects FP8 checkpoints rather than bf16.
Attention backends are selected automatically at runtime; on datacenter Blackwell GPUs the documentation calls for installing FlashAttention 4 manually at the verified revision flash-attn-4==4.0.0b9, and on Hopper the FlashAttention 3 wheel. Other CUDA GPUs use PyTorch SDPA. See the quantization formats guide for what each numeric format costs you.
If 80GB of VRAM is out of reach, the hosted LTX API runs the same model family without local hardware, at the cost of the parameter access this post is about. Its reference documentation lives at docs.ltx.video.
Summary
Guidance, steps and samplers are three separate controls with three separate failure modes. LTX-2.5 supports CFG, STG and APG as guidance strategies, and STG works by selectively skipping attention operations including the audio-video cross-attention links.
DistilledPipeline uses 8 predefined sigmas rather than a tunable step count, so guidance and step values do not transfer between dev and distilled checkpoints. Gradient estimation reduces inference from 40 steps to 20-30 while maintaining quality. The res_2s second-order sampler in TI2VidTwoStagesHQPipeline delivers fewer steps and better quality than the standard two-stage flow. All of these parameters belong to the local Python pipelines and are not exposed by the hosted LTX API.
The weights and pipelines are public. Pick one clip, hold everything else fixed, and change one of these three settings at a time until you can predict what each does on your own material.
