Nodes/ComfyUI-GGUF/LTXV Latent Upscale Model Loader (GGUF)
ComfyUI Node

LTXV Latent Upscale Model Loader (GGUF)

Upscaling LTX video without leaving latent space

By molbal·Created 3 months ago·Updated 11 days ago· 51
LTXV Latent Upscale Model Loader (GGUF)
    • LATENT_UPSCALE_MODEL
    model_name

    LTX video has a quirk: the model renders internally at half your target resolution and upscales, so "1080p" output is really ~540p pushed up. Lightricks ships dedicated latent upscalers for this - models that work inside latent space, before the VAE decode - and this node loads the GGUF versions of them. If you're running an LTX 2.5 workflow and want the x2 spatial and temporal upscaler pass, this is the loader.

    It's a small, sharp tool from the molbal/ComfyUI-GGUF fork: one dropdown, one output, nothing else. Put a latent upscaler GGUF in models/latent_upscale_models, pick it, and the node hands back a LATENT_UPSCALE_MODEL that wires straight into ComfyUI's LTXV Latent Upsampler node.

    How it works

    Under the hood it reads the GGUF file, checks that its architecture is actually ltxv_upscaler (it'll refuse anything else), pulls the model config out of the GGUF metadata, and builds a LatentUpsampler from it using GGML ops. The upscalers' convolutional weights stay BF16 - this isn't a low-bit convolution quantization like the diffusion transformer; the GGUF here mostly buys you a tidy single-file container plus the loader's normal offload behavior. The output is a CoreModelPatcher, which is exactly what LTXV Latent Upsampler expects.

    Which files? The LTX 2.5 latent spatial upscaler (x2) and the latent temporal upscaler (x2). The README shows converting both from their safetensors origins:

    python tools/convert.py --src ./ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.safetensors \
      --dst ./ltx-2.5-latent-spatial-upscaler-x2-bf16-1.0.gguf
    python tools/convert.py --src ./ltx-2.5-latent-temporal-upscaler-x2-bf16-1.0.safetensors \
      --dst ./ltx-2.5-latent-temporal-upscaler-x2-bf16-1.0.gguf
    

    Then place them in models/latent_upscale_models and load with this node. The LTX 2.5 transformer itself (the 22B distilled checkpoint) loads separately through Unet Loader (GGUF).

    The input that matters

    model_name - a dropdown of files in models/latent_upscale_models. That's it. One output: LATENT_UPSCALE_MODEL, into LTXV Latent Upsampler.

    Installing

    The usual pack install - search ComfyUI-GGUF in the ComfyUI Manager, or:

    cd ComfyUI/custom_nodes
    git clone https://github.com/molbal/ComfyUI-GGUF
    

    Restart ComfyUI and pip install --upgrade gguf. This node additionally needs a ComfyUI build that includes the comfy.ldm.lightricks.latent_upsampler module - the native LTX 2.5 support isn't in every version, so if the node errors on import or the upsampler node is missing from your palette, update ComfyUI first.

    Where people get burned

    • LTX 1.x vs 2.x confusion. The 1.x and 2.x series have entirely different model files, text encoders, and node plumbing. This loader is for LTX 2.5 latent upscalers specifically - feeding it a 1.x-era upscaler fails the architecture check.
    • Don't convert with a low-bit quant type. The README's example leaves the upscalers in BF16 (--quant-type omitted), and that's deliberate. Keep them there.
    • General pack rules still apply: _K quants aren't supported for anything but text encoders, and you need ComfyUI v0.27.0+ for the native path.
    Categorybootleg

    Inputs (1)

    NameTypeDefaultDescription
    model_nameCOMBO0 options:

    Outputs (1)

    NameTypeDescription
    LATENT_UPSCALE_MODELLATENT_UPSCALE_MODEL