Nodes/comfyui-minimax-h3-audio-T8/MiniMax H3 Timed Video Reference (Advanced EXP/T8)
ComfyUI Node

MiniMax H3 Timed Video Reference (Advanced EXP/T8)

Give H3 a whole video of motion cues, timed to the frame

By T8mars·Created about a month ago·Updated a day ago· 1,031
MiniMax H3 Timed Video Reference (Advanced EXP/T8)
  • clip
  • video_frames
  • clip
prompt_tagmotion
target_start_seconds0.000
source_fps24.000
analysis_fps2.0
video_size512

If the Timed Image node is one still pinned to a second, this is the whole filmstrip: it hands H3 a sequence of frames from a source video at their real positions on your generated timeline. Same trick under the hood - Qwen-only semantic conditioning, no native slot, no VAE latent, no audio - but for motion rather than a single anchor.

It's marked EXP for a reason. It's not a motion-transfer tool: it won't copy the source video's movement frame-for-frame, and it creates no audio. It's a way to say "here's the kind of motion that happens over this interval" and let the semantic encoder steer the output toward it. Think of it as prompt guidance with a temporal backbone, which makes it a natural companion to H3's video-reference workflows when you've run out of - or don't want to spend - native reference slots.

How it works

You feed it a decoded constant-frame-rate IMAGE batch (i.e. frames you've already pulled out of a video, not a video file), plus the FPS that video was shot at. It computes each frame's time as frame_index / source_fps, then subsamples to analysis_fps (default 2) so you're not cramming 124 frames of tokens into the prompt - just a manageable sample, each stamped with its timestamp, offset by target_start_seconds so the source material lands where you want it on the generated clip. Those frames get resized to video_size, and, like its sibling node, the CLIP tokenizer is wrapped so your #prompt_tag (default motion) in the prompt text is replaced by the timed vision entries.

The inputs that matter:

  • clip - your H3 CLIP line (must be a MiniMax H3 CLIP; anything else errors out).
  • video_frames - decoded frames as an IMAGE batch; needs at least two, and more than 15 seconds of source material is rejected.
  • source_fps - the FPS the source was shot at (default 24). Get this right; it's how frames map to seconds.
  • target_start_seconds - where on the generated timeline the first source frame lands.
  • analysis_fps - the subsample rate for what actually reaches Qwen. Lower = fewer tokens; can't exceed source_fps.

Output is a single clip - chain it onward into Ref2VA and mention #motion (or your tag) in the prompt.

Install

Same pack as all the T8 MiniMax H3 nodes. Manager → search "MiniMax H3 Audio T8" → install → restart, or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8.git minimax-h3-audio-T8

No pip dependencies to install (the pack's requirements.txt is deliberately empty - ComfyUI supplies torch, torchaudio, numpy, Pillow, safetensors). You need the H3 model, text encoder and VAEs in the usual model folders, and a current ComfyUI - this pack leans on native H3 support and newer Comfy internals (comfy_api.latest, comfy.weight_adapter, comfy.ldm.minimax). Update ComfyUI + frontend + Manager together, then fully restart; an old ComfyUI with a new pack is how everyone ends up with a wall of red T8 nodes.

Gotchas

  • Feed it CFR (constant frame rate) decoded frames. It doesn't handle VFR container timing - decode with a video loader that gives you an even frame batch and tell it the real FPS.
  • It's semantic conditioning. Don't expect identity or pixel fidelity from it; that's what native references are for.
  • Each chained timed reference needs a unique #tag that starts with a letter.
  • The #prompt_tag only does something if the tag actually appears in your prompt text - forgetting the tag is the usual "why is nothing happening" cause.

It's a niche tool, but for steering when motion happens across a clip - a camera move that should pick up at second 2, an action beat mid-clip - it's the only thing in this pack that thinks in time.

CategoryT8/MiniMax H3/Conditioning/Advanced

Inputs (7)

NameTypeDefaultDescription
clipCLIP
video_framesIMAGE
prompt_tagSTRINGmotion
target_start_secondsFLOAT0.0000–9999
source_fpsFLOAT24.0000.01–240
analysis_fpsFLOAT2.00.5–240
video_sizeCOMBO51211 options: 64, 96, 128, 192, 256, 384, +5

Outputs (1)

NameTypeDescription
clipCLIP