Nodes/VRGameDevGirl Video Enhancement Nodes/MiniMax H3 Image + Reference to Video
ComfyUI Node

MiniMax H3 Image + Reference to Video

MiniMax H3 with a real anchor at both ends, not just vibes

By vrgamegirl19·Created about a year ago·Updated about 7 hours ago· 718
MiniMax H3 Image + Reference to Video
  • clip
  • vae
  • first_frame
  • last_frame
  • ref_images
  • positive
  • LATENT
prompt
width1344
height768
length124
ref_image_sizematch

Stock MiniMax H3 in ComfyUI handles image-to-video and it handles reference conditioning, but doing both at once usually means stitching conditioning nodes together and hoping the model reads them as one coherent instruction. MiniMax H3 Image + Reference to Video is the VRGameDevGirl convenience wrapper for that exact combo: it takes a first and/or last frame as hard anchors, adds any number of identity/outfit/reference images, and produces the conditioning plus the empty video latent in one node.

It's part of the Video Builder's H3 toolset - the pack that has been driving the local AI-music-video scene since the LTX days, now pointing the same scene-by-scene pipeline at MiniMax's open-weights omni-modal model.

Before you go further: the H3 caveats

Two things you need to know before this node is useful, because neither is a workflow issue:

The model is big and separately licensed. MiniMax H3 (~33B, roughly 42.5GB full precision reported) has to be downloaded and loaded through ComfyUI's MiniMax support - this node only builds conditioning and latents, it does not load the checkpoint. And the MiniMax H3 Community License excludes the EU, UK, South Korea and the United States from its applicable territory. If you're in one of those regions you aren't licensed to run the local weights at all; the hosted Hailuo API is the legal path there. This pack cheerfully assumes you've sorted that out. Worth knowing before you spend the download time.

How it works

Mechanically it's doing four jobs that the stock nodes split up:

  1. Empty latent - builds an [frames, height, width] audio-video latent sized to your length/width/height.
  2. Keyframes - your first_frame is VAE-encoded and locked to frame 0; last_frame goes to the final frame. These become minimax_keyframes in the conditioning, so the model treats them as a start/end to tween, not as suggestions.
  3. References - each image in ref_images is resized to a reference canvas, VAE-encoded at its own latent resolution, and attached as minimax_refs. These preserve identity, clothing, props - but unlike the keyframes they don't pin position.
  4. Prompt tokenization - the text is tokenized with the frame and reference images attached as context, which is how H3's unified text/image context actually consumes them.

Inputs and outputs that matter

  • clip / vae - wire these from whatever loads the H3 checkpoint in your graph. No loader here.
  • prompt - free-form scene prompt.
  • length - default 124, min 5, and it steps by 17. That's not an accident: H3's native frame counts follow a 17n+5 rule, and 124 is the top of the native window. If you stray off-convention the model gets unhappy, so use a number like 5, 22, 39, 56, 73, 90, 107, 124.
  • first_frame / last_frame - optional IMAGE anchors. One alone (first only) is classic image-to-video; both give you the "tween between these two stills" shot that music videos love.
  • ref_images - an auto-growing slot (up to 9) for extra reference images. This is your character-sheet input: same person, same outfit, scene references.
  • ref_image_size - match (default) sizes references to the generation canvas and is faster; max keeps a larger identity reference and can eat substantially more VRAM.

Outputs are positive conditioning and a LATENT - both feed the MiniMax sampler; after sampling, VAE-decode to frames. Width/height default to 1344×768, which sits in H3's comfortable range.

Install

One clone, whole pack:

cd ComfyUI/custom_nodes
git clone https://github.com/vrgamegirl19/comfyui-vrgamedevgirl.git

ComfyUI Manager users: search the pack title ("VRGameDevGirl"). Restart and hard-refresh the browser. The requirements file is the heavy one from the README (kornia, librosa, transformers, voxcpm, llama-cpp-python, …) - on Windows portable, install Cython + scikit-build-core first and prefer Python 3.12.

Where people get burned

  • Expecting this to be the sampler. It isn't; it's the conditioning half. Missing the model-loading half means "node exists but nothing renders."
  • Anchoring both frames but describing a different scene - H3 will fight itself and you'll get morphing. The frames are the contract; keep the prompt consistent with them.
  • Ref images at huge resolution with ref_image_size = max on a mid card - that's the VRAM spike path. Start with match.
  • Checking out the first frame and last frame from the same source but not accounting for resolution - the node resizes both to your canvas, so source resolution differences get flattened silently. Feed frames at your target aspect.
Categorymodel/conditioning/minimax

Inputs (10)

NameTypeDefaultDescription
clipCLIP
vaeVAE
promptSTRING
widthINT134432–16384
heightINT76832–16384
lengthINT1245–3600
ref_image_sizeCOMBOmatchReference image sizing: match the generation canvas or preserve a larger identity reference.
first_frameoptIMAGE
last_frameoptIMAGE
ref_imagesoptCOMFY_AUTOGROW_V3

Outputs (2)

NameTypeDescription
positiveCONDITIONING
LATENTLATENT