Nodes/ComfyUI/MiniMax H3 Image to Video
ComfyUI Node Runs on cloud

MiniMax H3 Image to Video

Prompt in, video-plus-audio latent out

By Comfy-Org·Created 4 years ago·Updated about 5 hours ago· 130,947
MiniMax H3 Image to Video
  • clip
  • vae
  • first_frame
  • last_frame
  • positive
  • LATENT
prompt
width1344
height768
length124

MiniMax H3 is the newest heavyweight in ComfyUI core - an open-weight, multimodal video model from the Hailuo people, added in August 2026. Most local video models give you silent frames and you bolt audio on afterwards. H3 is different: it's built to generate picture and soundtrack from one denoising pass. This node is its front door. You type a prompt, optionally hand it a first and/or last frame, and it hands you the two things your sampler needs - a positive CONDITIONING and a LATENT - with the audio stream already packed inside the latent.

What it actually does

Think of it as the conditioning stage of a text-to-video / image-to-video pipeline. It does three jobs in one pass:

  1. It tokenizes your prompt through the H3 CLIP (a Qwen3-VL-32B text encoder) into conditioning.
  2. It builds the empty "AV latent" - a video stream plus an audio stream in a single nested tensor. That's the LATENT output, and it's why there's no separate audio stage in your graph: the audio is already in there.
  3. If you fed it keyframes, it VAE-encodes them and pins them onto the conditioning as guides that get re-injected at every sampling step, never denoised.

The video side works like you'd expect: a diffusion transformer denoises frames. The audio side runs its own shifted schedule under the hood - you don't manage it, the model does.

The inputs that matter

Most of the schema is boilerplate, but two fields deserve attention:

  • length - Frame count at 24 fps, snapped up to the model's 17k+5 grid. 124 is about 5 seconds. The trained range is roughly 124–362 frames; beyond that is untested and quality wanders. Ask for 120 and you'll get the next valid grid number back, so don't be surprised when the output runs a frame or two longer than you asked.
  • first_frame / last_frame - Optional images. The first frame is stretched to the canvas (the "geometry anchor"), the last frame is cover-cropped (the "follower"). Feed both and you get a video that starts on one image and lands on another; feed just first_frame and you have classic image-to-video.

width/height default to 1344×768 and must be multiples of 32.

Wiring it up

Both outputs feed the sampler: positive → KSampler's positive input, LATENT → its latent input. The node itself loads nothing - it consumes the clip and vae from wherever you loaded the H3 checkpoint (the model lives on HuggingFace as MiniMaxAI/MiniMax-H3; load it with Comfy's normal loaders and the structure is auto-detected). The flow-shift defaults for the optional ModelSamplingMiniMaxH3 patch (12/3) are already baked into the checkpoint, so you don't need it unless you want to tune.

Where people get burned

  • Length surprises. Not a bug - it's the frame grid. Read the tooltip, expect snapping.
  • New-model rough edges. This shipped weeks ago as of writing. If a sampler misbehaves, try another - H3's audio schedule made the early samplers unhappy, and the fix history in the repo is real.
  • Don't look for reference identity here. For character consistency, the sibling MiniMax H3 Reference to Video node is the one with reference images, clips and audio. This node is plain text-plus-keyframes.

The bottom line: if you want to try the most interesting open video model of the summer, this is the node that gets your prompt into it - video and audio, one pass, one graph.

Categorymodel/conditioning/minimax

Inputs (8)

NameTypeDefaultDescription
clipCLIP
vaeVAE
promptSTRING
widthINT134432–16384
heightINT76832–16384
lengthINT1245–3600Frame count at 24 fps, snapped up to the model's 17k+5 grid (124 = ~5s; trained range is ~124-362, longer is untested)
first_frameoptIMAGE
last_frameoptIMAGE

Outputs (2)

NameTypeDescription
positiveCONDITIONING
LATENTLATENT