Nodes/ComfyUI-GGUF-Loader/Empty LTX-2.5 AV Latent (Batch) ⚡
ComfyUI Node

Empty LTX-2.5 AV Latent (Batch) ⚡

One wrong empty-latent node and LTX-2.5 hands you a channel mismatch

By ChrisColeTech·Created about a month ago·Updated 3 days ago· 10
Empty LTX-2.5 AV Latent (Batch) ⚡
  • audio_vae
  • LATENT
width768
height512
length97
frame_rate24.00
batch_size1

LTX-2.5 is an audio-plus-video model, which means the thing you sample isn't an image latent and it isn't a video latent - it's a nested AV latent where the video and audio streams live side by side. This node builds that container in LTX-2.5's exact geometry, and the honest headline is in the source's own docstring: feed it the wrong empty-latent node and the difference is "between a clip and a channel-mismatch traceback."

Why a dedicated node exists

The MiniMax H3 model and the LTX-2.5 model share the same kind of nested AV latent container, but not a single dimension of it. If you're coming from an H3 workflow and you reach for the H3 empty-latent node, you'll get shapes the LTX-2.5 sampler can't chew. This is the LTX-2.5-specific version, and it's the one you want for anything in the 🤖 CCTech/LTX-2.5 family.

How it works

The node builds two things in one latent:

  • Video: [B, 128, (len-1)//8+1, H/32, W/32] - 128 channels, and 8:1 temporal compression with a causal first frame, which is why frame counts of 8k+1 (9, 97, 121, …) tile exactly. The length input is frame count.
  • Audio: [B, z, n_latents, bins] - the shape is read straight from the audio VAE you connect.

That audio VAE is the clever bit. audio_vae expects ltx-2.5-audio-vae-bf16.safetensors, and the node reads only its geometry - latent channels, frequency bins, latents per second. No encoding happens, so the file "costs nothing" at runtime; it's being used as a ruler, not a worker.

The audio latent's length is derived from the clip duration, which frame_rate sets. So the golden rule the tooltip hammers home: use the same frame_rate on this node and on your LTX-2.5 conditioning node, or the two streams drift apart. The video says 24fps, the audio says 24fps, and the clip stays in sync.

The inputs that matter

  • audio_vae - the LTX-2.5 audio VAE, used for geometry.
  • length - frames; stick to 8k+1 values.
  • frame_rate - sets clip duration and therefore audio length; keep it consistent with conditioning.
  • width / height - spatial size, in steps of 32 (defaults 768×512).
  • batch_size - clips per job, each with its own noise from the sampler seed. LTX-2.5's DiT is batch-aware, so - unlike MiniMax H3 - no patch node is needed for batch > 1. The catch is spelled out in the tooltip: VRAM scales with the batch.

One output

LATENT - the joint AV latent, straight into your LTX-2.5 sampler.

Installing it

Part of the CCTech pack. ComfyUI Manager → search "ComfyUI-GGUF-Loader" → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/ChrisColeTech/ComfyUI-GGUF-Loader
cd ComfyUI-GGUF-Loader
pip install -r requirements.txt

Common issues

The canonical failure here is mixing geometry: H3's empty-AV node feeding an LTX-2.5 sampler, or a frame count that isn't 8k+1 and doesn't tile. If you see a shape mismatch around channels or a "channel-mismatch" style error, check which empty-latent node you actually wired. And when audio and video come back out of sync, it's the frame_rate mismatch - make it identical everywhere it appears. The pack's own smoke tests validate the load paths, but nothing checks your wiring for you.

Category🤖 CCTech/LTX-2.5

Inputs (6)

NameTypeDefaultDescription
audio_vaeVAEltx-2.5-audio-vae-bf16.safetensors. Only its geometry is read here (latent channels, frequency bins, latents per second) — no encoding happens, so it costs nothing.
widthINT76864–16384
heightINT51264–16384
lengthINT971–16384Frame count. The video VAE compresses 8:1 in time with a causal first frame, so 8k+1 values (9, 97, 121...) tile exactly.
frame_rateFLOAT24.001–120Sets the clip duration, which sets the audio latent length. Use the same value on LTXV Conditioning or the two streams drift apart.
batch_sizeINT11–64Clips per job, each with its own noise from the sampler seed. The LTX-2.5 DiT is batch-aware, so unlike MiniMax H3 no patch node is needed — but VRAM scales with the batch.

Outputs (1)

NameTypeDescription
LATENTLATENT