ComfyUI Node

MiniMax H3 Easy

Text, image, reference and first/last frame

By nkxx188·Created 20 days ago·Updated a day ago· 548
MiniMax H3 Easy
  • h3_bundle
  • media
  • media_1
  • media_2
  • media_3
  • media_4
  • media_5
  • media_6
  • media_7
  • media_8
  • media_9
  • media_10
  • media_11
  • media_12
  • media_13
  • media_14
  • media_15
  • model
  • h3_context
modeimage
prompt
resolution480P
aspect_ratio16:9
width1344
height768
seconds5.0
advancedfalse
fps24
keyframe_rolefirst
ref_image_size1k
reference_mention_modeindex
prompt_optimizer_settingsfalse
prompt_optimizer_scene_guidenone
prompt_optimizer_resources
prompt_optimizer_marker
prompt_optimizer_prompt_connectedfalse
media_type_1
media_type_2
media_type_3
media_type_4
media_type_5
media_type_6
media_type_7
media_type_8
media_type_9
media_type_10
media_type_11
media_type_12
media_type_13
media_type_14
media_type_15

The one node that replaced a dozen

MiniMax H3 is the open-weight 33B video model that does text, image, video and audio in one context and spits out clips with native stereo audio. It's genuinely good - launch-day reaction was "unbelievably so" - but a full H3 ComfyUI graph is a sprawl of conditioning, keyframe, VAE and audio nodes. MiniMaxH3Easy is this pack's answer: it folds prompt editing, media ordering, resolution, duration, mode selection, conditioning and latent prep into a single node. Wire an H3 bundle in, pick a mode, and it hands back a ready-to-sample MODEL plus an h3_context that any ordinary graph can consume.

The sampler, LoRA, decode and save nodes deliberately stay outside. That's the smart part - nothing about this node forces you into a closed workflow, so you keep using your normal KSampler and video helpers.

How it actually works

The headline feature is the multi-link Media port. Instead of a fixed row of image/video/audio sockets, one visible port accepts as many links as you throw at it. Images, videos and standalone audio are numbered independently (each with its own wire color), and link order survives save/load. The frontend does the magic of turning that one port into hidden execution inputs, so the node never grows a wall of sockets.

The mode switch decides what media is legal:

  • Image mode (mode: image) is your text-to-video, I2V and first/last-frame path. No media = pure T2V. One image = first or last frame (pick with keyframe_role). Two images = first/last frame. Max two images, no video or audio. Keyframes are centered-cropped to the generation canvas rather than stretched, which keeps subjects looking human.
  • Reference mode (mode: reference) uses MiniMax's full-reference pipeline - up to 9 images, 3 videos, 3 audio clips, at least one image or video required. Type @ in the prompt editor to reference a connected image/video/audio by index or filename; at runtime those become the <Picture N> / <Video N> / <Audio N> tags the model expects. A disconnected reference stays visible instead of silently vanishing, and won't block a run - cleaning it up is on you.

Frame counts are aligned to the model's valid 5 + 17n lengths, so seconds × fps is a target, not a promise, and tiny durations still floor at five frames. Width/height snap to multiples of 32. The prompt editor is also nicer than stock: # makes a dialogue block (serialized as <d>...</d>, kept in its original language), there's a raw-prompt view, and you can convert the prompt widget to an input and drive it from a plain STRING node - external text makes the editor read-only and disables optimization.

The inputs that matter

  • h3_bundle - feed it from MiniMax H3 Easy Loader (or the Model Adapter).
  • mode - image vs reference, covered above.
  • prompt - the multiline editor with the @ / # features.
  • resolution + aspect_ratio - megapixel-style presets (480P is the default) across 1:1 to 21:9, plus Custom with raw width/height.
  • seconds - 0.2 to 30, stepped in tenths.
  • advanced - off by default and it collapses the extras: fps (1–120, default 24), keyframe_role, ref_image_size, and the prompt-optimizer switches. Turn it on only when you need those.

Outputs

  • model (MODEL) - connect to a model-only LoRA, attention patch or your sampler's guider.
  • h3_context (MINIMAX_H3_CONTEXT) - connect to MiniMax H3 Easy Output to get the positive, latent, VAEs and fps back as standard wires.

There's also a prompt-optimizer button in the editor: it rewrites your prompt via an OpenAI-compatible, OpenAI Responses or Gemini endpoint. Settings live in custom_nodes/ComfyUI-MiniMaxH3-Easy/prompt_optimizer.json - the key is stored in plain text there, so don't publish or package that file.

Install

cd ComfyUI/custom_nodes
git clone https://github.com/nkxx188/ComfyUI-MiniMaxH3-Easy

or search "MiniMax H3 Easy" in ComfyUI Manager, then restart ComfyUI. The pack has no heavy Python deps beyond requests and psutil; the real install cost is models - Qwen3-VL text encoder, H3 video + audio VAEs, and one or both FL2VA/Ref2VA transformers (several GB to ~42 GB depending on quantization). Place them in the standard diffusion_models/, text_encoders/ and vae/ folders.

Where people get burned

Two things, and neither is this node's fault. First, the MiniMax H3 Community License excludes the US, EU, UK and South Korea - running the local weights there is unlicensed, outputs included. Check before you download 40 GB. Second, the weights are big and this is a brand-new pack (version 1.0.13, no community track record yet), so treat included workflows as starting points, not gospel. If a model file isn't showing in a dropdown, it's in the wrong folder - refresh or restart, then look again.

CategoryMiniMax H3 Easy

Inputs (49)

NameTypeDefaultDescription
h3_bundleMINIMAX_H3_BUNDLE
modeCOMBOimage2 options: image, reference
promptSTRING
resolutionCOMBO480P12 options: 360P, 416P, 480P, 540P, 640P, 720P, +6
aspect_ratioCOMBO16:98 options: 1:1, 2:3, 3:2, 3:4, 4:3, 9:16, +2
widthINT134432–16384
heightINT76832–16384
secondsFLOAT5.00.2–30
advancedBOOLEANfalse
fpsFLOAT241–120
keyframe_roleCOMBOfirst2 options: first, last
ref_image_sizeCOMBO1k5 options: match, 1k, 1.5k, 2k, original
reference_mention_modeCOMBOindex2 options: filename, index
prompt_optimizer_settingsBOOLEANfalse
prompt_optimizer_scene_guideCOMBOnone9 options: none, 3d_animation_short, brand_promo, coop_game_intro, handdrawn_live, minimalist_product_ad, +3
mediaopt*
prompt_optimizer_resourcesoptSTRING
prompt_optimizer_markeroptSTRING
prompt_optimizer_prompt_connectedoptBOOLEANfalse
media_1opt*
media_type_1optSTRING
media_2opt*
media_type_2optSTRING
media_3opt*
media_type_3optSTRING
media_4opt*
media_type_4optSTRING
media_5opt*
media_type_5optSTRING
media_6opt*
media_type_6optSTRING
media_7opt*
media_type_7optSTRING
media_8opt*
media_type_8optSTRING
media_9opt*
media_type_9optSTRING
media_10opt*
media_type_10optSTRING
media_11opt*
media_type_11optSTRING
media_12opt*
media_type_12optSTRING
media_13opt*
media_type_13optSTRING
media_14opt*
media_type_14optSTRING
media_15opt*
media_type_15optSTRING

Outputs (2)

NameTypeDescription
modelMODEL
h3_contextMINIMAX_H3_CONTEXT