The full NVFP4 build of the LTX-2.5 22B distilled transformer, stamped so ComfyUI actually loads it. Smallest working 22B on the board — 18.7GB, ~2.8GB lighter than the official comfy-int8 — and the same-seed output holds up frame for frame.
NVFP4 in ComfyUI
Image-to-video with this checkpoint, 50fps — the sign text stays legible the whole clip.
Same seed, same prompt, both quants:
Official comfy-int8-convrot (21.5GB)
NVFP4 — this repo (18.7GB)
int8 surfer
nvfp4 surfer
int8 disco i2v
nvfp4 disco i2v
Top row: text-to-video. Bottom row: image-to-video from a single keyframe — same start image, same seed, both quants. Native synced audio on all four (yes, the disco clips come with their own disco track).
The problem
Lightricks ships an NVFP4 export of the 2.5 distilled DiT, but it's a raw TensorRT-ModelOpt export. Load it through ComfyUI's UNETLoader and you get:
mat1 and mat2 shapes cannot be multiplied (6820x4096 and 2048x4096)
That 2048x4096 is a packed 4-bit weight being read as raw bytes — exactly half the width it should be. The funny part: the file's scale tensors (weight_scale, weight_scale_2, input_scale) already match ComfyUI's nvfp4 spec name-for-name. The only thing missing is the per-layer .comfy_quant marker tensor ComfyUI uses to detect quantized layers. Official "comfy-" packs have them; the NVFP4 export doesn't.
The fix
This repo is the official NVFP4 file with a {"format": "nvfp4"} marker stamped onto all 1,176 quantized layers. No requantization, no math — the weight bytes are untouched. It just tells ComfyUI what it's looking at.
ComfyUI ≥ v0.32.0, Blackwell GPU (RTX 50-series) for the FP4 kernels
Usage
Drop it in ComfyUI/models/diffusion_models/ and pick it as unet_name in the stock LTX-2.5 Text to Video / Image to Video templates (ComfyUI ships them natively — no custom nodes). Text encoder, VAEs, and the latent upscaler come from the official repo as usual.
Lost? Grab ltx-2.5-nvfp4-t2v-example-workflow.json from this repo — the official T2V template with this model pre-selected. Load it, type a prompt, hit Queue.
Receipts
Not pixel-identical (different quant noise), but close — same composition, same detail level, same motion beats. You'd have to flip between them to tell.
10s @ 1280×736 with synced audio in ~50s on an RTX 5090, including first model load.
The 2.8GB of freed weight VRAM is real headroom against the long-duration offload cliff — the difference between finishing a clip and paging to death.
Credits
Lightricks for LTX-2.5 and the source NVFP4 export.