MiniMax H3 Attach Keyframe to Shot (Plan v2)
Pin one exact image to one exact shot
- h3_plan
- shot_handle
- image
- h3_plan
- shot_handle
- h3_image
- attachment_preview
The difference between "a shot that opens on this exact frame" and "a shot vaguely inspired by this picture" is the whole game in H3 keyframing. Attach Keyframe to Shot (Plan v2) is the node that makes the first one reliable: it registers one supplied image as the concrete keyframe and composition anchor for exactly one Shot, then lets the compiler assign the shot scope and prompt placement automatically.
This is a per-shot attachment, which is its reason to exist. A global Image Reference lives at the project level and applies however the compiler routes it. A keyframe here is bound to a specific shot through the shot_handle you got from that Shot node - so there's no ambiguity about which shot the image is anchoring, and no shot numbers you can mistype.
Inputs that matter
shot_handle- connect from the exact Shot being composed. This is what makes the binding precise.image- exactly one keyframe image. It becomes a nativeref_imageroute and is cited only in the selected Shot.keyframe_position- where the image sits in the shot: Shot opening frame, Internal composition keyframe, or Shot ending frame. For an internal keyframe, describe its timing in the Shot prose, because the model needs to know when in the shot that frame applies.description- only the concrete visual facts the keyframe anchors. Resist the urge to write the whole scene here; the Shot node holds the chronology.reference_name- a human-readable name (default "shot keyframe") for previews and reports.
Outputs
h3_plan- continue to another attachment or the next Shot.shot_handle- the same handle, forwarded, so you can attach more things to the same shot (like a motion reference).h3_image- the keyframe image carried by the compiled Plan.attachment_preview- resolved Shot number, provisional Picture label, and native route. Worth one glance to confirm the image landed where you think it did.
Install
cd ComfyUI/custom_nodes
git clone https://github.com/ethanfel/ComfyUI-MiniMax-H3-Guide
Restart, browse MiniMax H3 → Plan v2/Shot Composition. No extra dependencies; the pack's whole Plan v2 family shares the same install.
Gotchas
- The handle has to come from the matching Shot. Connect a handle from Shot 2 while building Shot 1's keyframe and the compiler will bind it to Shot 2 - which is probably not what you meant. The chain enforces ordering but it can't read your mind about which shot you intended.
- Internal keyframes need timing. "Internal composition keyframe" without any timing in the Shot prose leaves the model guessing. Say when.
- Don't confuse this with endpoint frames. Exact first/last frame of the whole video belongs in Image Reference as "Exact first frame"/"Exact last frame." This node is for anchoring a shot, which is a narrower and more specific job.
The pack's "Animate Keyframe with Motion Reference" workflow is the reference implementation of this pattern - opening keyframe in, motion reference attached to the same shot, and H3 retargets the motion onto your composition. That workflow is marked Ready in the repo, so it's a good first thing to load if this node is your entry point.
Inputs (6)
| Name | Type | Default | Description |
|---|---|---|---|
| h3_plan | MINIMAX_H3_PLAN_V2 | Connect the Plan output from the matching Shot or its preceding Shot attachment. | |
| shot_handle | MINIMAX_H3_SHOT_HANDLE_V2 | Connect shot_handle from the exact Shot being composed. | |
| image | IMAGE | Exactly one keyframe image. It becomes a native ref_image route and is cited only in the selected Shot. | |
| reference_name | STRING | shot keyframe | Human-readable name used in previews and reports. |
| description | STRING | Describe only the concrete visual facts that the keyframe anchors. | |
| keyframe_position | COMBO | Shot opening frame | Choose whether this exact image is the Shot's opening frame, an internal composition keyframe, or its ending frame. For an internal keyframe, describe its timing in the Shot prose. |
Outputs (4)
| Name | Type | Description |
|---|---|---|
| h3_plan | MINIMAX_H3_PLAN_V2 | Continue to another attachment or the next Shot. |
| shot_handle | MINIMAX_H3_SHOT_HANDLE_V2 | The same Shot handle, forwarded for another attachment. |
| h3_image | IMAGE | Exact connected keyframe image carried by the compiled Plan. |
| attachment_preview | STRING | Resolved Shot number, provisional Picture label, and native route. |