MiniMax H3 Attach Motion to Shot (Plan v2)
Borrow a clip's motion without borrowing its face
- h3_plan
- shot_handle
- video_frames
- h3_plan
- shot_handle
- h3_video
- attachment_preview
Motion transfer is the feature that made people describe H3 as "like Kling" - you feed it a clip of someone doing a dance or a fight, and it makes your character perform the same movement. The trap in hand-written H3 prompts is that a video reference tends to leak everything: the person's face, the location, the lighting, the composition, all of it. Attach Motion to Shot (Plan v2) exists to extract only the motion.
It does this with a clever trick that's documented right in the node's description. The clip keeps its native Video route (so H3 actually gets the pixels), but it's compiled as a reusable action Subject, not a plain video reference. The guide requires that distinction for motion transfer, and the pack's compiler handles the split automatically: the motion becomes a Subject that an upstream character performs, while identity, setting, and composition are explicitly not copied from the clip.
Inputs that matter
shot_handle- from the exact Shot receiving the motion. This is a per-shot attachment, like Attach Keyframe.video_frames- a 2–15 second IMAGE frame batch (decoded video). It supplies motion/action only and gets prepared on H3's native frame grid.target_subject- the already-defined Subject that performs the referenced motion inside this Shot. If this field is empty or points at a non-existent Subject, you get a validation error - the target has to exist upstream.reference_name- human-readable name (default "shot motion").description- describe the motion/action evidence to transfer in this Shot. Be specific: "the leap and shoulder roll," not "movement."source_fps- the real FPS of your frame batch. Get this right or the motion timing drifts.
Outputs
h3_plan- continue to another attachment or the next Shot.shot_handle- forwarded so you can attach a keyframe and motion to the same Shot.h3_video- the prepared native-grid motion-reference frames.attachment_preview- resolved Shot, reusable action Subject, target Subject, source Video, duration, and route. The preview is your friend here: it shows exactly what the compiler decided to do with your clip.
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 beyond the usual native-H3 ComfyUI build.
Gotchas
- Motion references are per-shot. If you want the same movement in two shots, attach it twice (or via the appropriate reference binding). A single attachment binds to exactly one shot.
- Source timing is capped. Reference videos must be 2–15 seconds, and cumulative video references cap at 15 seconds per project. A motion clip beyond that gets rejected, not truncated silently.
- Don't expect the clip's style to come along. That's the feature, not a bug. If you want the lighting or location from the source clip, declare those separately as Image/Video references. The whole point of this node is that a motion clip supplies motion only.
The pack's "Animate Keyframe with Motion Reference" example workflow is the canonical setup and it's the one marked Ready in the repo - load it, swap in your keyframe and motion clip, and you're running the intended pattern without assembling it from scratch.
Inputs (7)
| 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 receiving the motion. | |
| video_frames | IMAGE | A 2–15 second IMAGE frame batch. The clip supplies motion/action only and is prepared on H3's native frame grid. | |
| target_subject | STRING | The already-defined Subject that performs the referenced motion inside this Shot. | |
| reference_name | STRING | shot motion | Human-readable name used in previews and reports. |
| description | STRING | Describe the motion/action evidence to transfer in this Shot. | |
| source_fps | FLOAT | 24.000.01–240 | Frame rate represented by the connected IMAGE batch. |
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_video | IMAGE | Prepared native-grid motion-reference frames carried by the compiled Plan. |
| attachment_preview | STRING | Resolved Shot, reusable action Subject, target Subject, source Video, duration, and route. |