Nodes/Nynxz H3/H3 Encode
ComfyUI Node

H3 Encode

The node that replaced two stock H3 nodes

By Nynxz·Created about a month ago·Updated 25 days ago· 4
H3 Encode
  • clip
  • vae
  • audio_vae
  • h3_inputs
  • positive
  • LATENT
  • report
prompt
modeauto
keyframe_instructionauto

This is the node everything else in the pack feeds. MiniMax H3 has three conditioning tasks - text-to-video (t2va), keyframe-to-video (fl2va) and reference-to-video (ref2va) - and stock ComfyUI splits them across two separate nodes. H3 Encode does all three from one box: the task follows from what's wired, so switching between keyframes and references is a row setting rather than a rewire.

How it works

The h3_inputs wire from your canvas and asset nodes carries everything in. H3 Encode looks at the roles on that wire and picks a task:

  • nothing wired → t2va, plain prompt-to-video
  • first and/or last frame → fl2va, the keyframe task
  • references (images, video, audio) → ref2va

It builds the conditioning with your clip (H3's Qwen3-VL-32B text encoder) and vae (the video VAE), and hands you three outputs: positive (conditioning into your sampler), LATENT (the AV latent - video plus audio), and report (which task ran, at what canvas, and anything set aside, and why).

The inputs that matter

  • prompt - refer to references by the tag the asset nodes report: <Picture 1>, <Video 1>, <Audio 1>. Numbered in wire order, each kind separately.
  • mode - auto by default. Force t2va / fl2va / ref2va when both kinds are wired, because the model genuinely can't take both at once. Forcing fl2va with nothing marked uses the first two pictures as first and last frame - which is what H3's own prompt form calls them.
  • keyframe_instruction - auto writes the alignment line an fl2va prompt should open with ("the picture lands at 5.88s", using the snapped duration, not the 5.42s you asked for). Skipped if your prompt already has one; turn it off for multi-shot prompts.
  • audio_vae - only needed when a reference carries audio. The classic silent-failure point.

The two rules that bite

fl2va and ref2va cannot be combined. That's a hard ComfyUI constraint - the tokenizer branches on which kind of items you pass, and forcing both crashes deep in the DiT. If both are wired, keyframes win, reference images still reach the text encoder as <Picture i> blocks but stop applying identity, and the report names what was set aside. Read the report - it's the difference between debugging and guessing.

H3's trained range is ~124–362 frames (5–15s). Longer degrades badly, sung or spoken content first. The intended answer is chaining 10–15s segments with video continuation, not one long latent.

Install

ComfyUI Manager → "Nynxz H3", or:

cd ComfyUI/custom_nodes
git clone https://github.com/Nynxz/ComfyUI-NynxzH3

Restart. Pure Python, no dependencies, ComfyUI 0.30.0+ required. And a licensing note worth having up front: H3's weights ship under a community license that excludes the US, EU, UK and South Korea - the nodes are MIT, but the model underneath is territory-restricted. Check that before you build a pipeline around it.

The one-liner

Wire your canvas and assets in, say what you want in the prompt using the reported tags, and let mode stay auto until it forces a choice. If a reference stops mattering or a run crashes on a shape mismatch, the report is the first place to look - it will have told you what the model couldn't take.

CategoryNynxz/H3

Inputs (7)

NameTypeDefaultDescription
clipCLIPH3's Qwen3-VL-32B text encoder.
vaeVAEH3's video VAE.
promptSTRINGRefer to references by the tag the H3 Image / Video / Audio node reports for them — <Picture 1>, <Video 1>, <Audio 1>. They are numbered in wire order, counting each kind separately.
modeCOMBOautoWhich of H3's three tasks to run. t2va is prompt only; fl2va anchors a first and/or last frame in the clip; ref2va uses references with no fixed position. auto picks fl2va if anything is wired as a first or last frame, ref2va if anything else is wired, t2va otherwise. Force one when both kinds are wired — the model cannot take both at once. Forcing fl2va with nothing marked uses the first two pictures as the first and last frame.
keyframe_instructionCOMBOautoH3 expects a keyframe prompt to OPEN with a line saying where each picture lands in the clip — see VIDEO_PROMPT_WRITING_GUIDE_base_en section 2.1. auto writes it for you, using the snapped duration (ask for 130 frames and the correct mark is 5.88s, not 5.42s). Skipped if your prompt already has one. Turn off for a multi-shot prompt, which needs its own shot index.
audio_vaeoptVAEH3's audio VAE. Only needed when a reference carries audio — a dropped video's soundtrack, or an audio row.
h3_inputsoptNYNXZH3_INPUTFrom H3 Canvas and/or a chain of H3 Image / Video / Audio nodes — the assets and the canvas they are framed for. Unwired, this is plain text-to-video at H3's default 1344x768, 124 frames.

Outputs (3)

NameTypeDescription
positiveCONDITIONING
LATENTLATENT
reportSTRINGWhich task ran, the canvas it ran at, and anything set aside and why.