Instructions to use lite-infer/LTX-2.3-Distilled-v1.1-Diffusers-nunchaku-lite-nvfp4-bnb4-text-encoder with libraries, inference providers, notebooks, and local apps. Follow these links to get started.
- Libraries
- Diffusers
How to use lite-infer/LTX-2.3-Distilled-v1.1-Diffusers-nunchaku-lite-nvfp4-bnb4-text-encoder with Diffusers:
pip install -U diffusers transformers accelerate
import torch from diffusers import DiffusionPipeline from diffusers.utils import load_image, export_to_video # switch to "mps" for apple devices pipe = DiffusionPipeline.from_pretrained("lite-infer/LTX-2.3-Distilled-v1.1-Diffusers-nunchaku-lite-nvfp4-bnb4-text-encoder", dtype=torch.bfloat16, device_map="cuda") pipe.to("cuda") prompt = "A man with short gray hair plays a red electric guitar." image = load_image( "https://huggingface.co/datasets/huggingface/documentation-images/resolve/main/diffusers/guitar-man.png" ) output = pipe(image=image, prompt=prompt).frames[0] export_to_video(output, "output.mp4") - Notebooks
- Google Colab
- Kaggle
LTX-2.3 Distilled v1.1 — Nunchaku Lite nvfp4 (Diffusers)
Nunchaku Lite nvfp4 SVDQuant quantization of
rootonchair/LTX-2.3-Distilled-v1.1-Diffusers,
a Diffusers conversion of the v1.1 distilled checkpoint of
Lightricks/LTX-2.3 — a DiT-based
foundation model that jointly generates synchronized video and audio. Runs in
8 steps with CFG = 1.
Quantization
- Transformer: SVDQuant nvfp4 (rank 32) with GPTQ residual rounding,
quantized with
diffuse_compressorand exported viaexamples/convert_nunchaku_lite_diffusers.pyto Diffusers' native Nunchaku Lite format. Loading requires Diffusers'NunchakuLiteQuantizer(baked intotransformer/config.json'squantization_config) plus thekernelspackage for the compiled CUDA kernels. - Text encoder (Gemma3): additionally quantized to BNB4 NF4 via
bitsandbytes(baked intotext_encoder/config.json'squantization_config), to reduce host RAM/VRAM footprint alongside the quantized transformer. - Connectors (
LTX2TextConnectors, the text-conditioning adapter run once per generation before the denoising loop — memory-bound like the text encoder, not compute-bound like the DiT): also quantized to BNB4 NF4 viabitsandbytes(baked intoconnectors/config.json'squantization_config), shrinking it from ~6GB to ~1.7GB.
Everything else (VAE, audio VAE, tokenizer, vocoder, scheduler config) is unchanged from the source repo.
VRAM
Measured on a 32GB GPU, no CPU offload, at the default 768x512 / 121-frame / 8-step settings:
- After
pipe.to("cuda")(weights only): ~23.9 GB - Peak during generation: ~29.3 GB allocated / ~32.6 GB reserved
This still uses most of the capacity of a 32GB-class GPU — it will not
comfortably fit on a 24GB card without CPU offload
(enable_model_cpu_offload() / enable_sequential_cpu_offload()).
Latency
Measured on a single Blackwell GPU, no CPU offload, at the default 768x512 / 121-frame / 8-step settings (pipeline weights already resident on-device, i.e. per-generation cost after the one-time pipeline load):
- Pipeline load (
from_pretrained+pipe.to("cuda"), locally cached): ~5s (one-time) - 8-step denoising loop: ~11s (~1.4s/step)
- VAE decode + video encode: <1s
- Total per 5-second 768x512 clip: ~16-17s
Usage
Requires a Diffusers build with the native Nunchaku Lite quantizer, plus
kernels and bitsandbytes:
pip install -U git+https://github.com/huggingface/diffusers kernels bitsandbytes
import torch
from diffusers import LTX2Pipeline
from diffusers.pipelines.ltx2.export_utils import encode_video
from diffusers.pipelines.ltx2.utils import DEFAULT_NEGATIVE_PROMPT, DISTILLED_SIGMA_VALUES
pipe = LTX2Pipeline.from_pretrained(
"lite-infer/LTX-2.3-Distilled-v1.1-Diffusers-nunchaku-lite-nvfp4-bnb4-text-encoder",
torch_dtype=torch.bfloat16,
)
pipe = pipe.to("cuda")
prompt = "A flowing river in a forest at golden hour, gentle wind in the leaves."
frame_rate = 24.0
video, audio = pipe(
prompt=prompt,
negative_prompt=DEFAULT_NEGATIVE_PROMPT,
width=768,
height=512,
num_frames=121,
frame_rate=frame_rate,
num_inference_steps=8,
sigmas=DISTILLED_SIGMA_VALUES,
guidance_scale=1.0,
output_type="np",
return_dict=False,
)
encode_video(
video[0],
fps=frame_rate,
audio=audio[0].float().cpu(),
audio_sample_rate=pipe.vocoder.config.output_sampling_rate,
output_path="ltx2_distilled_v1_1_nvfp4.mp4",
)
Notes
width/heightmust be divisible by 32;num_framesmust equal8k + 1.- Always pass
sigmas=DISTILLED_SIGMA_VALUES,num_inference_steps=8,guidance_scale=1.0for this distilled checkpoint. - The quantization config is embedded in
transformer/config.json,text_encoder/config.json, andconnectors/config.json, so noPipelineQuantizationConfigis needed at load time. - See the Diffusers LTX-2 docs for multimodal guidance, prompt enhancement, and the upscaling/refinement pipeline.
License
These weights are released under the LTX Video 2 Open Source License.
- Downloads last month
- 24
Model tree for lite-infer/LTX-2.3-Distilled-v1.1-Diffusers-nunchaku-lite-nvfp4-bnb4-text-encoder
Base model
Lightricks/LTX-2.3