⚡ PrunaVAED
A drop-in replacement decoder for LTX-2.3
1.7× faster
·
~50% lower peak VRAM
·
Near-original visual quality
PrunaVAED directly replaces the video VAE decoder in
diffusers/LTX-2.3-Diffusers.
The encoder and latent format remain unchanged, making it a drop-in upgrade
for faster, more memory-efficient LTX-2.3 decoding.
Examples
Both columns decode the same LTX-2.3 latent from the distilled pipeline.
| LTX-2.3 decoder | ⚡ PrunaVAED |
|---|
|
|
|
|
|
|
More side-by-side comparisons
| LTX-2.3 decoder | ⚡ PrunaVAED |
|---|
| |
| |
| |
| |
Benchmark
Metrics compare videos decoded from the
same latents by the LTX-2.3 VAED and PrunaVAED. Two set of latents were
generated with the full
ti2vid_two_stages
pipeline and the
distilled
pipeline (recommended).
| Setting | Value |
|---|
| Model | PrunaVAED |
| Precision | bfloat16 |
| Batch size | 1 |
| Device | NVIDIA H100 80GB |
| Decode | Full (no tiling / rolling / torch.compile) |
| Clip length | LTX-2.3 VAED | PrunaVAED | Speedup |
|---|
| 5 s @ 720p | 841.3 ms | 500.2 ms | 1.68× |
| 10 s @ 720p | 1670.7 ms | 998.0 ms | 1.67× |
| 5 s @ 1080p | 1959.3 ms | 1152.1 ms | 1.7× |
| 10 s @ 1080p | 4903 ms* | 2356 ms | 2.08× |
* Tiling required on H100; 14533ms otherwise
| Latent set | Clips | PSNR ↑ | LPIPS ↓ | SSIM ↑ | Δ-frame PSNR ↑ |
|---|
| Distilled two-stage · 720p | 200 | 39.23 | 0.0087 | 0.9811 | 38.32 |
| TI2Vid two-stage · 720p | 200 | 40.34 | 0.0094 | 0.9823 | 40.06 |
| Distilled two-stage · 1080p | 200 | 41.06 | 0.0052 | 0.9876 | 40.43 |
Δ-frame PSNR is PSNR on consecutive-frame
differences (temporal consistency).
Quickstart
End-to-end smoke demo: generate a short video with the diffusers LTX-2.3
distilled two-stage pipeline, then decode the same latent with the stock
LTX-2.3 VAE and with PrunaVAED. Writes two mp4s and prints decode time (ms).
Needs a CUDA GPU.
1# 1. Install the Hugging Face CLI
2pip install hf
3
4# 2. Download this repo
5hf download PrunaAI/PrunaVAED --local-dir PrunaVAED
6cd PrunaVAED
7
8# 3. Install dependencies
9pip install -r requirements-demo.txt
10
11# 4. Run the demo (~1080p, ~5 s @ 24 fps)
12python demo/demo_distilled_decode.py
Outputs land in outputs/demo_distilled/ (ltx23.mp4, prunavaed.mp4).
Edit PROMPT / resolution at the top of demo/demo_distilled_decode.py if needed.
Architecture
PrunaVAED is bitwise identical to LTX 2.3 VAED from conv_in to up_blocks.0. Pruning starts
at up_blocks.1.
| Stage | Channel reduction |
|---|
up_blocks.0 | unchanged |
up_blocks.1 | 25% |
up_blocks.2 | 50% |
up_blocks.3 | 50% |
| Teacher (LTX-2.3) | PrunaVAED |
|---|
| Encoder params | 318.9 M | 318.9 M (unchanged) |
| Decoder params | 407.2 M | 345.0 M (−15%) |
| Total VAE params | 726.1 M | 663.9 M |
prunavaed/patch_diffusers.py provides the required compatibility shim for
the pinned diffusers version.
Limitations
- Evaluated on 4-second clips at 24 fps.
- Benchmarked on one H100 80GB with bfloat16 and batch size 1.
- Speed and VRAM vary with hardware, resolution, batch size, and software.
- Evaluated only on two differents pipeline of LTX 2.3 (
ti2vid_two_stages
pipeline and the
distilled)
- The weights can be adapted to the custom
LTX-2 library without retraining, but no implementation is provided for this yet.
What this is not
- Not a full T2V model.
- Not a replacement for the LTX denoiser/generator.
- Not compatible with arbitrary VAE latents.
- Not bit-exact with the original decoder.
License
PrunaVAED is a derivative of LTX-2.3 and is distributed under the
LTX-2 Community License Agreement. Review its use restrictions
and commercial terms before using or redistributing the model.
Helper code adapted from Hugging Face diffusers retains its Apache-2.0
attribution; see
NOTICE.
What's next?
- Use PrunaVAED to speed up LTX-2.3 decoding.
- Compress your own models with Pruna and give us a ⭐️ for more efficiency!
- Want to use our optimized video model right away? Check
P-Video and
P-Video documentation.