Nodes/ComfyUI-vlo/vlo MiniMax H3 Reference to Video (Batch)
ComfyUI Node

vlo MiniMax H3 Reference to Video (Batch)

Throw a whole batch of reference videos and audio at MiniMax H3 in one execution

By PxTicks·Created 3 months ago·Updated a day ago· 0
vlo MiniMax H3 Reference to Video (Batch)
  • clip
  • vae
  • audio_vae
  • ref_images
  • ref_videos
  • ref_video_audios
  • ref_audios
  • positive
  • LATENT
prompt
width1344
height768
length124
ref_image_sizematch
use_embedded_video_audiofalse

MiniMax H3's native "Reference to Video" node in ComfyUI is powerful and, for automation, deeply annoying: it expects a small number of hand-placed reference sockets, and its reference slots autogrow from a fixed template. If something else is feeding you an ordered list of references - say, vlo's memory loaders pulling images, videos and audio from a batch slot - you either fight the autogrow machinery or you write a shim. This node is that shim, done properly.

vloMiniMaxH3ReferenceToVideoBatch consumes ordered IMAGE, VIDEO and AUDIO lists in one execution and expands into the native node at execution time. It doesn't reimplement reference conditioning - it reads the installed native node's schema, checks the contract (socket prefixes, per-socket reference limits), and produces the real native node with the right sockets filled. Because it expands to the genuine node, the native V3 lifecycle, validation, caching and resource handling all apply, and H3's model stack stays out of this extension's import path until the moment you run it. If the native node's contract changes in a ComfyUI update, the node stops with a compatibility error instead of silently doing something subtly wrong.

Inputs that matter

The top half is stock H3 conditioning: clip, vae, audio_vae, prompt, then width (1344), height (768), length (124 frames ≈ 5 s at 24 fps; the trained range runs to ~362). ref_image_size is match (cap each reference image to the generation pixel area) or max (native 2048px-short-edge pipeline).

The list inputs are the point: ref_images, ref_videos, ref_audios - ordered lists whose limits follow the native node, with videos resampled to the native 24 fps frame cadence. Outputs are positive CONDITIONING and a LATENT, feeding your sampler like the native node's would.

The audio trap, decoded

Here's the bit that'll bite you. MiniMax does not treat a reference video's own soundtrack as part of that video - its sound is a separate <Audio N> reference that must be explicitly enabled, and enabling it consumes an <Audio N> ordinal, which shifts the numbering of every later audio tag. The association between a video and its sound is carried structurally, not by the tag numbers.

So use_embedded_video_audio defaults to off, and it accepts either a single value (applies to every reference video) or a BOOLEAN list with one entry per video. The shipped vlo workflow feeds the video batch loader's "use audio" output into this input, making inclusion per-video. And ref_video_audios - an optional AUDIO list - overrides soundtracks positionally and always wins, whether or not embedded audio is enabled for that video. Videos with neither an override nor enabled embedded audio pass through as video-only references.

Install

Whole-pack, nothing extra to pip install:

cd ComfyUI/custom_nodes
git clone https://github.com/PxTicks/ComfyUI-vlo.git

then restart. The one hard requirement: your ComfyUI must actually have the native MiniMax H3 nodes (comfy_extras.nodes_minimax_h3) - the adapter errors cleanly if not, and updating ComfyUI is the fix. Weights caveat applies too: H3 is ~42.5 GB and its community licence excludes the US, EU, UK and Korea.

Categorymodel/conditioning/minimax

Inputs (13)

NameTypeDefaultDescription
clipCLIP
vaeVAE
audio_vaeVAE
promptSTRING
widthINT134432–16384
heightINT76832–16384
lengthINT1245–3600Frame count at 24 fps (124 is about 5 seconds; the trained range is approximately 124-362).
ref_image_sizeCOMBOmatchUse 'match' to limit each image to the generation pixel area, or 'max' for the native 2048px-short-edge reference pipeline.
use_embedded_video_audioBOOLEANfalseUse the audio embedded in each reference video as its soundtrack. MiniMax treats a reference video's own sound as a separate <Audio N> reference that must be enabled, so this is off by default. Connect a BOOLEAN list to set it per video; a single value applies to every video.
ref_imagesoptIMAGEOrdered reference image list. Limit follows the native node.
ref_videosoptVIDEOOrdered reference video list. Videos are resampled to the native node's required 24 fps. Limit follows the native node.
ref_video_audiosoptAUDIOOptional ordered soundtrack overrides for the reference videos. An override always wins, whether or not embedded audio is enabled for that video.
ref_audiosoptAUDIOOrdered standalone reference audio list. Limit follows the native node.

Outputs (2)

NameTypeDescription
positiveCONDITIONING
LATENTLATENT