MiniMax H3 Concat AV Latent (best-effort)
The safest of the best-effort five
- video_latent
- audio_latent
- av_latent
MiniMax H3 is the open-weight omni-modal video model - one model that treats text, image, video, and audio as a single context and generates clips with native stereo sound, not an audio pass bolted on afterward. In ComfyUI its native nodes carry the combined audio+video content around as a single av_latent: a nested-tensor structure produced by EmptyMiniMaxH3LatentAV, MiniMaxH3ImageToVideo, and MiniMaxH3ReferenceToVideo.
This node is the pack's answer to one specific gap: you have a video latent and an audio latent, both already encoded, and you want to merge them into that AV structure yourself. It takes a plain video LATENT and a plain audio LATENT and packs them into the same av_latent NestedTensor the native nodes produce. That's the entire job, and it's why the pack's own model card rates it the highest-confidence of its five MiniMax H3 nodes - it's just structure packing, with very little room for the logic to be wrong.
Why would you want to build an AV latent by hand instead of using the all-in-one native nodes? Because you might want to encode video and audio with different settings, or you already have both from separate pipelines. video_latent is a plain 24-channel video latent (e.g. from a standard VAEEncode), and audio_latent is a plain 32-channel audio latent (e.g. from VAEEncodeAudio). The node validates each input's channel count before packing - a descriptive ValueError names which input is wrong if the shapes don't match - and if an already-packed AV latent is accidentally fed into either socket, it searches the component tensors for one matching the expected channel count instead of failing outright.
Inputs: video_latent and audio_latent. Output: av_latent, ready to feed an H3 sampler.
Before the how, the honest caveat: like the rest of this pack's MiniMax H3 nodes, it's a best-effort reimplementation. A privately-distributed third-party workflow referenced several MiniMaxH3* node types with no public source anywhere, and the author reconstructed them from the saved workflow graph and widget values - plus, for the math, verbatim code from ComfyUI's own real native H3 nodes, so shapes stay byte-for-byte compatible. What's real and separately installed: MiniMaxH3SigmaShift (ComfyUI core), MiniMaxH3MemoryEfficientSageAttentionPatch (ComfyUI-KJNodes), and MiniMaxH3ReferenceSplitter (the "Fantastic H3 Prompt Builder" pack). This pack adds only the five that had no public source.
Install:
cd ComfyUI/custom_nodes
git clone https://github.com/jjmaden/comfyui-jjmaden-random-nodes
Restart ComfyUI, or search "JJMaden Random Nodes" in ComfyUI Manager. You also need a ComfyUI build with native MiniMax H3 support (comfy.nested_tensor and the H3 conditioning types) - that's a current ComfyUI, since H3 got day-zero support. No extra Python packages and no model downloads come from this pack; the H3 weights themselves (~42.5GB full-precision, so most people are waiting on community quants) are a separate, large download.
The one thing to double-check if H3 video generation mysteriously fails: make sure the channel counts line up - a 24-channel expectation is specific, and VAEEncode from the wrong model will happily hand you the wrong count. Otherwise this is the node you can trust most in a pack that's refreshingly upfront about what it can't guarantee.
Inputs (2)
| Name | Type | Default | Description |
|---|---|---|---|
| video_latent | LATENT | — | |
| audio_latent | LATENT | — |
Outputs (1)
| Name | Type | Description |
|---|---|---|
| av_latent | LATENT | — |