Skip to content

LTX-2.5 spatial and temporal upscaling only mode - #1921

Draft
jdluzen wants to merge 2 commits into
leejet:masterfrom
jdluzen:2.5patch/ltx-2-5-support
Draft

LTX-2.5 spatial and temporal upscaling only mode#1921
jdluzen wants to merge 2 commits into
leejet:masterfrom
jdluzen:2.5patch/ltx-2-5-support

Conversation

@jdluzen

@jdluzen jdluzen commented Aug 28, 2026

Copy link
Copy Markdown

Summary

Based on #1893, this adds a standalone spatial and temporal upscaling only mode using LTX-2.5.

Related Issue / Discussion

#1893 should merge in first.

Additional Information

Completes successfully from some random frames I have. Only CPU is tested currently, need to test other backends.
Keeping this as draft only for now.

Checklist

pwilkin and others added 2 commits August 20, 2026 21:44
LTX-2.5 shares its video VAE, audio VAE, vocoder and spatial upscaler
architecture with LTX-2.3, so those need no changes. The transformer
differs in two places and the text encoder moves from Gemma 3 to Gemma 4.

Transformer:

- Detect ff_bias and audio_ff_bias separately from the weights. LTX-2.5
  sets ff_bias=false but leaves audio_ff_bias at its default, so a single
  flag would drop the audio FFN biases.
- Add the keyframes_abs_pos_embedding marker, applied after patchify_proj
  to the tokens of the first latent frame.
- Cast learnable_registers to F32 when the checkpoint stores them at
  another type, as the published LTX-2.5 GGUFs do.

Text encoder (LLMArch::GEMMA4_12B):

- Full-attention layers use a 512-wide head with a single KV head and no
  v_proj, taking V from the raw K projection; sliding layers keep 256/8.
- V is normalized with a weightless RMS norm and never rotated.
- Attention runs unscaled, and RoPE is proportional on full-attention
  layers, implemented with freq_factors so the unrotated pairs collapse
  to identity without reordering the head.
- Each layer ends with its learned layer_scalar.
- Both the transformers and the llama.cpp GGUF layer-norm namings are
  accepted, so the bundled single-file checkpoint loads directly.

The Gemma 4 vocabulary differs from Gemma 3 only in reserved <unusedN>
slots and shares its merge table, so the embedded Gemma vocab still
produces the right token ids.

LTX-2.5 bundles the text projection into its text encoder, so
--embeddings-connectors is no longer required; the projection is looked
up under the --llm prefix as well.

Verified on the Q8_0 dev transformer for T2V, I2V, spatial latent
upscaling and a Q8_0-converted text encoder, and against Z-Image for the
shared attention and feed-forward changes.

Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants