Nodes/comfyui-svdint4/H3 Concat AV Latent
ComfyUI Node

H3 Concat AV Latent

Gluing the video and audio halves back together

By wjie98·Created 2 months ago·Updated about 10 hours ago· 2
H3 Concat AV Latent
  • video_latent
  • audio_latent
  • av_latent

MiniMax H3 is the rare open model where audio and video live in the same latent. But "same latent" isn't one blob - it's a nested AV structure, video and audio streams packed together in a specific arrangement the model expects. The problem is that a lot of tooling (and every ComfyUI node that isn't H3-aware) only knows how to produce or consume one stream at a time. So you end up with a video latent here, an audio latent there, and no way to hand H3 the thing it actually wants.

H3 Concat AV Latent is that way. It takes a video_latent and an audio_latent and merges them into H3's native nested AV latent, ready to feed the sampler.

How it works

The pack keeps the video and audio streams in a structured AV latent with their own shapes, and this node assembles them into the nested form the model consumes. Two details make it more than a naive stack:

  • It preserves matching video/audio noise masks, so a partial-denoise or masked workflow doesn't lose its mask structure in the merge.
  • If the video_latent you feed it is already an AV latent, it keeps that video stream and just swaps in your new audio - useful when you've re-generated audio separately and want to drop it into an existing video.

So the workflow shapes it enables are: encode video frames and audio separately (or generate audio in its own pass), then merge here and sample once. That's the "generate a silent clip, make the audio separately, combine" pattern that H3's design finally makes sane.

The inputs that matter

  • video_latent - a standalone H3 video latent, or an existing AV latent whose video stream you're keeping.
  • audio_latent - the H3 audio latent to merge in (replacing the audio stream if video_latent was already AV).

Output: a single av_latent, straight into the sampler.

How to install

It ships with ComfyUI Turing Utils ("comfyui-svdint4" in Manager):

cd ComfyUI/custom_nodes
git clone https://github.com/wjie98/comfyui-svdint4
cd comfyui-svdint4
python -m pip install -v --no-build-isolation -e ./kernel

The H3 nodes share the pack's compiled kernel, so run the build once and restart. No extra model downloads - this is pure latent plumbing.

The honest take

You'll know you need this node because the error message will tell you: some sampler or model wrapper will complain that your latent isn't in H3's native nested form. That's the moment - grab this node, wire both streams in. And keep its twin, H3 Separate AV Latent, in mind for the reverse trip: when you want to decode, inspect, or process one stream independently, you split first and concat back. They're the hinge of any H3 audio-video workflow, and you'll use them more than you expect once you're doing serious H3 work.

CategoryTuring Utils/latent

Inputs (2)

NameTypeDefaultDescription
video_latentLATENT
audio_latentLATENT

Outputs (1)

NameTypeDescription
av_latentLATENT