One node. Write a shot plan, drop in your reference stills, queue once.
Hand Tie Clips renders a multi-hop MiniMax H3 Reference-to-Video chain with
audio. Each hop is one continuous clip, and consecutive hops are joined by
pinning the previous hop's final frames and audio tail into the next hop's
conditioning — so a 30-second scene comes out of one queue instead of six
manual runs stitched together in an editor.
# Read this before you download #
This workflow ships the turbo stack — the LoRA loader, the AdaLN fix, sparse
attention and the low-VRAM path. That stack is why it runs at 4–8 steps instead
of 14, and it means the graph needs three node packs, not one. Without them
it opens with red missing-node boxes.
### Node packs ###
| [ComfyUI-Hand-Tie-Clips](https://github.com/dntpi/ComfyUI-Hand-Tie-Clips) | this workflow's node — the chain, the seam report, the chain preview |
| [ComfyUI-PlagueKind-Nodes](https://github.com/PlagueKind/ComfyUI-PlagueKind-Nodes) | the turbo LoRA loader, AdaLN LoRA fix, sparse attention |
| [ComfyUI-KJNodes](https://github.com/kijai/ComfyUI-KJNodes) | low-VRAM attention, latent preview override |
| [ComfyUI-H3-Motion-Context](https://github.com/NikoDemon80/ComfyUI-H3-Motion-Context) | optional but recommended. Hops after the first are guided by the previous hop's sampler latent through it. Without it the node falls back to stock MiniMaxH3AddGuide — still works, still chains, different join. |
Install Hand Tie Clips itself with:
cd ComfyUI/custom_nodes
git clone https://github.com/dntpi/ComfyUI-Hand-Tie-Clips.git
Then restart ComfyUI and hard-refresh the browser (Ctrl+Shift+R). A stale
browser cache is the single most common reason the node mounts with no UI.
There are no Python dependencies to install — everything it imports already
ships with ComfyUI. A zip is attached for anyone who would rather not clone,
but git clone is the better path: updating later is just git pull.
### Models ###
These are the filenames my loaders point at. **If your H3 weights are named
differently, just repoint the loaders** — nothing here is hardcoded.
UNET minimax_h3_hybrid_fl2va_ref2va_b30-49-int8.safetensors
CLIP qwen3vl_32b_minimax_h3_int8_convrot.safetensors (type: minimax)
VAE minimax_h3_video_vae_int8_convrot.safetensors
VAE minimax_h3_audio_vae_fp32.safetensors
LoRA minimax_h3_ref2v_turbo_4step_v0.1_comfyui_bf16.safetensors
TAE taeh3.safetensors (preview only)
You need a ref2va or hybrid ref2va checkpoint — plain fl2va has no
reference rows and will not work.
## What it's for##
- Scenes longer than a single H3 generation
- Keeping a character's face, wardrobe and voice consistent across hops
- Re-rolling one hop without re-rendering the rest
## What's in it ##
| shot_plan | your script as JSON — one shot per hop, so the shot count is the hop count |
| directives | join / camera / framing / pace / tail per shot, compiled to vetted prose |
| ref_plan | stable @tags for reference stills, grouped into subjects |
| cache_hops | lossless per-hop cache — edit hop 5 of 8 and only 5–8 re-render |
| seam report | measures the brightness step at every join, in /255 |
| tone compensation | corrects cumulative brightness drift across a long chain |
## Getting started
Once the packs above are installed, open the attached
HandTieClips_Starter.json. It ships with no reference images on purpose,
so it runs before you've supplied any pictures. The canvas carries its own
documentation as note cards.
prompt_pack/ in the pack folder turns any chat model into a plan writer: paste
SYSTEM_PROMPT.md into LM Studio's system prompt box, describe your scene in
plain language, and paste the two JSON blocks it returns straight into the node.
## Honest limits
- Built and tuned for the turbo regime — 4 to 8 steps, not 14.
- A 5-second hop drops the airlock on a continuous join. Validate seams at 8s or 15s.
- Written for MiniMax H3 specifically. It is not a general video-chaining tool.
Full docs, prompting guide and engineering log:
https://github.com/dntpi/ComfyUI-Hand-Tie-Clips
## Writing the plan (optional, but this is the good part)##
shot_plan and ref_plan are ordinary JSON, so you can type them yourself and
the node will tell you exactly what it doesn't like. But the pack ships
prompt_pack/ to turn any decent chat model into a plan writer:
1. Open LM Studio (or any local/hosted chat model), paste the contents of
prompt_pack/SYSTEM_PROMPT.md into the system prompt box.
2. Describe your scene in plain language — *"three 10-second clips, a cook in a
kitchen, she finishes plating and walks out into the hallway."*
3. Paste the two JSON blocks it returns straight into the node.
It's worth doing even if you're comfortable with the JSON. The format has two
rules that are easy to get wrong by hand and annoying to debug: a reference
@tag has to match its register entry character for character, and beats must
describe what is happening rather than what stops happening — H3 renders the
negation. The prompt doc encodes both.
Tested against Qwen and Gemma-class local models; nothing exotic required.
Description
V1.01
SMALL BUGFIXES, UPDATE TO 1.01 IF YOU HAVEN'T. (mostly to do with the LM integration and some reference file duplication in the input folder)
Hand Tie Clips v1.0 — talking video that keeps going past one clip.
MiniMax H3 gives you one short clip with sound. This node chains several into one continuous take — same face, same room, dialogue carrying across the joins — from a single queue.
▎ New in 1.0
LM Studio integration
You don't have to write the plan. Describe your scene in a sentence, press Write plan, and it fills in the script and your reference settings, reading the photos you've dropped in rather than guessing from filenames. Treat it as a good first draft — worth a read before you queue, and much faster than starting cold.
Soundtrack input
A music bed. Drop in a track and it sits under the whole chain, ducking automatically under the dialogue. Loop or play once, with fades.
Trim bars on every audio and video input. Drag to choose the section you want. This one matters: H3 encodes your whole voice file no matter how long it is, so a three-minute take is a tax on every second of every clip.
The writer model stays warm between plans and is evicted the moment you queue a render, so it doesn't compete with the sampler for VRAM.
Also fixed: no more invented dialogue over the opening seconds of a clip, non-English lines timed correctly, and reference images keeping the size you set.
Search Hand Tie Clips in ComfyUI Manager.