Skip to content

Untested: the LTX-2.5 family decodes with the conv VAE and never uses LTX2VideoDiffusionDecodePipeline #153

Description

@dkackman

tool/endpoint: templates/ltx2/two-stage (and the rest of the family) — video decode path

repro: get_workflow(name="templates/ltx2/two-stage") builds on LTX2Pipeline and
LTX2LatentUpsamplePipeline. Grepping the family turns up no reference anywhere to
LTX2VideoDiffusionDecodePipeline.

expected/actual: not a bug — an untested option. The Lightricks/LTX-2.5-Diffusers card
lists LTX2VideoDiffusionDecodePipeline as an alternative decoder alongside the convolutional
one, and upstream's own docs treat the diffusion VAE decode as the production path rather than a
niche alternative.

why it is attractive here specifically: it changes only the decode. No sigma schedule, no
resolution, no LoRA, no prompt — which makes it the cheapest thing in this family to A/B, and the
result is directly comparable on the same latents.

Relevant upstream detail for this box: the DiffVAE neighborhood-attention backend ladder puts
NATTEN as "the fastest production path on non-B200 GPUs (Hopper/Ampere/Ada)", and lem is an
RTX 3090 (Ampere, confirmed via get_memory). Their warm-runtime figures show the backend choice
is not a detail: chunked_eager runs roughly 2-2.5x slower than combined_compile.

the honest caveat. Those backend names are ltx_pipelines flags, and dw runs diffusers.
So the upstream numbers do not transfer directly; what transfers is the question — is diffusion
decode worth its cost over conv decode on our clips? This is an experiment to run, not a
settled win
, and it should be recorded as a timing comparison either way.

adjacent, unverified: LTX-2 1.3.0 (2026-08-25) added keyframe-aware diffusion-VAE decoding —
"sharpens detail at the frames a generator anchored on", via VideoDecoder.decode_video(..., keyframes=)". That would bear directly on templates/ltx2/keyframes. It is an ltx_pipelines`
API and whether diffusers exposes an equivalent is unconfirmed — worth checking while in
this code.

related: #151, #152. Full LTX-2.5 write-up on #151, including what was ruled out (NVFP4 and
FP8 are both unusable on a 3090; SDNQ uint4 already goes further).

Activity

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Metadata

Metadata

Assignees

No one assigned

    Labels

    Projects

    No projects

      Milestone

      No milestone

      Relationships

      None yet

      Development

      No branches or pull requests

      Issue actions