Nodes/MiniMax H3 Audio T8/MiniMax H3 Keyframe Plan / 中间关键帧计划 (Advanced)
ComfyUI Node

MiniMax H3 Keyframe Plan / 中间关键帧计划 (Advanced)

Pin a middle keyframe, pick a spot on the timeline, and let H3 interpolate around it

By T8mars·Created 20 days ago·Updated a day ago· 807
MiniMax H3 Keyframe Plan / 中间关键帧计划 (Advanced)
  • image
  • previous_plan
  • keyframe_plan
position_modeframe
position62.00
visual_noise_aug0.999
resize_modecenter_crop
enabledtrue

H3 gives you first-frame and last-frame control, but a lot of shots need a beat in the middle - a character turning to camera, a reveal at 40% through the clip. This node is how you add that: it takes one image, an explicit position on the timeline, and a raw noise-augmentation value, and packages them into a keyframe plan that the pack's multi-keyframe machinery can chain together.

It's in T8/MiniMax H3/Conditioning/Experimental and it's one of the friendlier nodes in the pack, because its one genuinely confusing input - visual_noise_aug - comes with the exact numbers you should use. No calibration guessing required.

How it works

You give it image (batch item 0 is used if you feed a batch), a position_mode, and a position. The position resolves into an absolute 24fps frame, seconds, or a 0–100 percent depending on the mode, and it must land strictly between the first and last frames - H3's timeline, not past the edge. The node then wraps that image with visual_noise_aug, the raw per-frame H3 visual noise-augmentation value that tells the model how strongly to hold the keyframe.

The tooltip on visual_noise_aug is doing real work: 0.999 is the "hold this image" starting point, and anything ≤ 0.950 is aggressive - meaning the keyframe loosens its grip and H3 wanders further from it. This is not a linear "strength" dial; it's a raw conditioning value, so don't try to read it as "0.9 = 90%." Start at 0.999 and only drop when you want the keyframe to be approximate.

Chain the thing with previous_plan: connect a prior Advanced Keyframe Plan and you're building a timeline of middle keyframes, each positioned independently. Leave it unconnected and you get a single-keyframe plan.

The inputs that matter

  • position_mode - frame, seconds, or percent. percent is the nicest to reason about: explicit 0–100, no 0..1 ambiguity.
  • position (default 62) - where the keyframe sits. Must resolve strictly between first and last, or the plan fails.
  • visual_noise_aug (default 0.999) - the one you'll touch. Below ~0.95 is aggressive.
  • resize_mode - center_crop by default, for getting your keyframe image to match the canvas.
  • enabled - flip false to drop this keyframe without deleting the node.

Outputs

keyframe_plan - a single output of the pack's H3_T8_KEYFRAME_PLAN type. It doesn't return the image back at you; it returns the plan, which downstream multi-keyframe nodes read. If you expected the image to come out the other side, that's your first confusion with this node - the plan carries the image, not the wire.

Installing it

Same pack, same recipe: ComfyUI Manager → search "MiniMax H3 Audio T8", or:

cd ComfyUI/custom_nodes
git clone https://github.com/T8mars/comfyui-minimax-h3-audio-T8

restart. No extra pip dependencies, no model downloads - you supply the H3 model, CLIP and VAEs.

Common issues

"Position must resolve strictly between first and last." You placed the keyframe at frame 0, the last frame, or past the clip length. Pick a middle value; that's what it's for.

The keyframe barely affects the shot. That's visual_noise_aug doing its job at 0.999 only if the model respects it; if you've dropped it below 0.95 you've explicitly told H3 the keyframe is a suggestion. Also check enabled - a plan built with the node bypassed isn't holding anything.

CategoryT8/MiniMax H3/Conditioning/Experimental

Inputs (7)

NameTypeDefaultDescription
imageIMAGEOne middle timeline keyframe; batch item 0 is used.
position_modeCOMBOframepercent uses an explicit 0..100 scale; no 0..1 ambiguity.
positionFLOAT62.000–3600Absolute 24fps frame, seconds, or 0..100 percent according to position_mode. It must resolve strictly between first and last.
visual_noise_augFLOAT0.9990–1Raw H3 conditioning value, not a calibrated linear strength. Start with 0.999; values <=0.950 are aggressive.
resize_modeCOMBOcenter_crop2 options: center_crop, stretch
enabledBOOLEANtrue
previous_planoptH3_T8_KEYFRAME_PLANConnect the previous Advanced Keyframe Plan to build a timeline.

Outputs (1)

NameTypeDescription
keyframe_planH3_T8_KEYFRAME_PLAN