Nodes/Quality of Life Nodes for ComfyUI/MiniMax H3 Video Reference (Soze)
ComfyUI Node

MiniMax H3 Video Reference (Soze)

Point the API at Nine Images and Ask for a Video of the Same Subject

By SozeInc·Created 2 years ago·Updated 8 days ago· 10
MiniMax H3 Video Reference (Soze)
  • image_batch
  • image_1
  • image_2
  • image_3
  • image_4
  • image_5
  • image_6
  • image_7
  • image_8
  • image_9
  • video
  • video_url
  • task_id
  • status
prompt
duration6
resolution2K
ratioadaptive
poll_interval10
poll_timeout900

The first MiniMax node gives you one first frame. This one gives the model a whole gallery. MiniMax H3 Video Reference is the same hosted Hailuo H3 API as its sibling, but instead of a single start image it ships up to nine reference images to the model, each tagged as a reference_image. If you're trying to keep a character, a product, or an art style consistent across shots, this is the node you want - one strong reference is a vibe, nine is a spec sheet.

Everything else is shared with the plain MiniMax H3 Video node: same MINIMAX_API_KEY requirement, same async submit-and-poll mechanism, same 4–15s duration, same resolution (2K/1080P/768P) and ratio menu. The one deliberate difference in defaults: ratio starts at adaptive rather than 16:9, because when your input is a batch of reference frames, matching their aspect is usually the right call. Set a fixed ratio only when you specifically want to force a different canvas.

Reference inputs

You've got two ways to feed it:

  • image_1 through image_9 - individual slots, each its own IMAGE. Connected slots take precedence.
  • image_batch - one IMAGE batch input (capped at nine frames) that the node fans out for you. Ignored if any image_N slot is connected.

So for a quick run, wire one batch and be done; for a controlled setup where you care which frame is which, use the individual slots. Each is sent with role=reference_image, which is how MiniMax knows these are identity/style anchors rather than an animation start point.

The remaining inputs are the boring-but-important ones: poll_interval (seconds between status checks, default 10) and poll_timeout (max wait, default 900s). Outputs mirror the base node: video, video_url, task_id, status.

The honest caveats

This is a paid cloud call every single run, and reference-driven generation is the priciest flavor - more frames, more tokens, longer tasks. Plan your nine images before you queue a batch, not after you see the bill. Two more real gotchas: with no reference images connected the node skips cleanly (good - no wasted credits), and a blank prompt short-circuits the same way. Neither will silently burn money.

Also worth knowing: reference images give the model guidance, not a guarantee. Faces drift, styles soften, physics stays physics. For a character you need to be truly consistent across many shots, the community pattern is reference frames plus a strong prompt describing the subject - the references carry identity, the words carry the action. Treat the first run as a look-see, then tighten.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/SozeInc/ComfyUI_Soze.git
pip install -r ComfyUI_Soze/requirements.txt

Then export MINIMAX_API_KEY (optionally MINIMAX_BASE_URL for the CN endpoint). No local models, no VRAM pressure - the only thing this node consumes is your API credits and your patience with polling.

CategoryMiniMax/VideoGeneration

Inputs (16)

NameTypeDefaultDescription
promptSTRINGText prompt (<= 7000 chars).
durationINT64–15Clip length in seconds (4-15).
resolutionCOMBO2K3 options: 2K, 1080P, 768P
ratioCOMBOadaptive'adaptive' matches the reference frames; or pick a fixed ratio.
poll_intervaloptINT101–60Seconds between status polls.
poll_timeoutoptINT90030–3600Max seconds to wait before giving up.
image_batchoptIMAGEOptional IMAGE batch (capped at 9 frames). Ignored if any image_N slot is connected.
image_1optIMAGEReference image slot 1 (role=reference_image). Overrides image_batch when connected.
image_2optIMAGEReference image slot 2 (role=reference_image). Overrides image_batch when connected.
image_3optIMAGEReference image slot 3 (role=reference_image). Overrides image_batch when connected.
image_4optIMAGEReference image slot 4 (role=reference_image). Overrides image_batch when connected.
image_5optIMAGEReference image slot 5 (role=reference_image). Overrides image_batch when connected.
image_6optIMAGEReference image slot 6 (role=reference_image). Overrides image_batch when connected.
image_7optIMAGEReference image slot 7 (role=reference_image). Overrides image_batch when connected.
image_8optIMAGEReference image slot 8 (role=reference_image). Overrides image_batch when connected.
image_9optIMAGEReference image slot 9 (role=reference_image). Overrides image_batch when connected.

Outputs (4)

NameTypeDescription
videoVIDEO
video_urlSTRING
task_idSTRING
statusSTRING