Turn 8-second MiniMax H3 clips into 1-minute+ multi-shot films — same face, same voice, synced dialogue, solo shot retakes, and 2 MP guided upscaling — all from one ComfyUI node.
🕹️ Try the Interactive Node UI in Your Browser (click through Script, Refs, Timeline, Swap & ⚙ RUN before installing)
📦 GitHub Repository · Hugging Face Mirror
🎬 What You Can Do
SimpleMode (Standard MMH3ref2va/t2va+ Realism Boost): Paste standard 6-field MiniMax H3ref2va/t2vaprompts (passed through verbatim!) or plain prose for single-clip generations (chains = 1) with the visualREFSrail,realism_boost: on(steps = 6→ 2 base + 10 realism LoRA steps) +audio_refine: on(5 steps), and 2 MP Guided Upsampling!ShotsMode (Multi-Hop Chains): Write one short beat per card (5 s – 15 s each) with camera, framing, pace, and join controls.Visual & Voice Reference Rail (
REFS): Drop up to 9 character/location stills and voice timbre clips straight onto the node with@tagsand per-hop schedules (noLoad Imagespaghetti).Lossless Retake Board (
TIMELINE): Every hop caches losslessly. Lock the shots you like, or click⏵on Shot 4 to re-roll only Shot 4 while Shots 1–3 load in 1 second.Standalone Guided
SWAP: One-hop character or head swap driven by a reference video's motion & audio (replace_person,head_swap,face_only,keep_person) with a wardrobe override box and auto-loaded Swap LoRAs.Built-In 2 MP Guided Upsampler: Enlarges the finished film in 3D latent chunks and runs a 2-step tiled redraw with the
h3upscale_v2_x2guide LoRA.Local AI Draft Assistant (
WRITE— WIP): Connect LM Studio / nInfer / llama.cpp to draft shot cards or bar-synced music video layouts from a 1-sentence brief.
🔗 Two Ways to Join Shots (pin_mech) & Honest Limits
motion_context(Default — Built-In): Native latent-slice + audio relay (no external custom node needed; credit to NikoDemon80).
Honest runway withhop_refine: full: Holds clean for ~5–6 continuous clips on Turbo and ~7–8 clips on non-Turbo before texture changes become visible. Plan a transition to a cut (anchor: "restart") every 4–5 clips to keep textures fresh across long multi-scene films.hand_tie(Single-Take Previs — Public Experimental): Renders one low-res single-take bridge previs first and ties each full-res hop's opening and closing 0.9 s to those clean windows so hops never copy texture from each other (10+ hops in one continuous take). Best for continuous walking/talking vlogs in one setting; pair withqwen3vl_4b_fp8_scaled.safetensorsinmodels/text_encoders/.
⚡ 60-Second Install
Zero Python/pip dependencies. In ComfyUI/custom_nodes/:
git clone https://github.com/dntpi/ComfyUI-Hand-Tie-Clips.gitRestart ComfyUI and hard-refresh your browser (
Ctrl+Shift+R).Drag
workflows/HandTieClips_Starter.jsononto ComfyUI.Drop your character photo onto Row 1 in REFS (e.g.
@maya), write your beats in SCRIPT, and press Queue.
Recommended Models & Companion Nodes:
Turbo DiT: Wuli MiniMax H3 8-Step Turbo + plain
minimax_h3_ref2vaonrefine_model/upsample_ditGuided Upscaler:
minimax_h3_latent_upscaler_3d_bf16.safetensors(models/latent_upscale_models/) +h3upscale_v2_x2.safetensors(models/loras/)Speed / Attention Nodes: ComfyUI-PlagueKind-Nodes & ComfyUI-KJNodes
💡 The 5 Golden Prompting Rules (H3 runs at CFG 1.0 — every word is additive)
Never name what you want to stop: Don't write "She stops talking" — write "She smiles with her lips closed. Gentle pool water lapping."
Silence must be written as a room tone: An empty soundtrack invents speech. Always name a narrowband sound ("low hum of the refrigerator", "soft breeze").
Don't re-describe the face on Shots 2+: Describe only the new action; the reference rail and join pin carry her look.
No ellipses (
...) inside dialogue: Connect clauses inside speech with a simple comma (,) so the audio branch never fills pause gaps with gibberish.Set the final shot's
tailtosettleorhold: So the film lands cleanly instead of starting a new gesture on the last frame.
Description
Hand Tie Clips 2.1.0 is out
Multi-hop MiniMax H3 from one node — this release adds a refine pass and an H3 Cache so the non-turbo base is actually usable. Refine pass for degradation prevention over a long chain - visible degradation will happen still, but very much further down the line in a same-frame-continuous clip. As always, dump the page into a LM if you need a summary and easier understanding of how things work.
What's new
hop_refine — optional second sampler pass per hop (ships off). Short, under-converged; blends back into the pin the next hop inherits. Defaults frozen: denoise 0.50, 2 steps, audio freeze. (this is the degradation fix)
H3 Cache — new node on the MODEL wire. Speeds up the plain (non-turbo) base. Based on silveroxides' block cache, improved and ported by PlagueKind, redistributed with permission.
Shipped workflows use 10 steps (was 7). Node default stays 14.
Prompt pack got a trust boundary so scene text can't rewrite hop count or rules.
Every new widget was appended — a 2.0 graph loads and renders the same.
Credits (H3 Cache)
silveroxides — original MiniMax-H3 block cache (ComfyUI-UtilsCollection)
PlagueKind — improvements, port, reference protection, production defaults (ComfyUI-H3-MiniMax-Cache)
Install / update
cd ComfyUI/custom_nodes/ComfyUI-Hand-Tie-Clips
git pull
Restart ComfyUI, hard-refresh the browser. Console should say editor ui v2.1.0 loaded.
GitHub: https://github.com/dntpi/ComfyUI-Hand-Tie-Clips
Full notes: CHANGELOG.md in the repo.