Turn 8-second MiniMax H3 clips into 1-minute+ films — same face, same voice, synced dialogue, one-shot retakes, one continuous take with no joins, and 2 MP 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
🆕 New in 3.4.0: One Continuous Take (sand_tie)
A whole run of hops renders as ONE video. No joins to see; a take only cuts where you write
anchor: restart.🎬 2:03 one-take music video · 52 s two-person take, street → boardwalk → bench · 65 s walking selfie (upsampled)
Retake one hop and only that hop is redrawn; the rest of the take is kept.
tone_lockkeeps a long take from drifting brighter (0.5 / 0.75 / full).Song-locked takes (
master_audio_file) keep lip sync for the whole song.
🎬 What You Can Do
Simple Mode (Standard MMH3 ref2va / t2va + Realism Boost): Paste standard 6-field MiniMax H3 prompts (passed through verbatim!) or plain prose for single clips (
chains = 1) with the visual REFS rail,realism_boost: on(steps = 6→ 2 base + 10 realism LoRA steps) +audio_refine: on(5 steps), and 2 MP upsampling.Shots Mode (Multi-Hop Chains): One short beat per card (5 s – 15 s each) with camera, framing, pace and join controls.
Visual & Voice Reference Rail (REFS): Up to 9 character/location stills and voice clips right on the node, with @tags and per-hop schedules (no Load Image spaghetti).
Lossless Retake Board (TIMELINE): Every hop is cached. Lock the shots you like, or click ⏵ on Shot 4 to re-roll only Shot 4 while Shots 1–3 load in a second.
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 Upsampler: Enlarges the finished film with the H3 latent upscaler and a light 3-step Open-H3-Regenerate-2K redraw. Small, distant faces are redrawn as close-ups so they keep their person.
WRITE (Local AI Writer): Connect LM Studio / llama.cpp to draft shot cards, one-take timelines or music video layouts from a one-sentence brief. STANDARD writes a single checked H3 prompt.
🔗 Three Ways to Join Shots (pin_mech)
motion_context(Default — Built-In): Native latent-slice + audio relay (credit to NikoDemon80). Honest runway withhop_refine: full: ~5–6 clips on Turbo, ~7–8 on non-Turbo before texture changes show. Plan a cut (anchor: "restart") every 4–5 clips.sand_tie(New — One Continuous Take): Each take renders as one video, its hops overlapping windows. Best for long walks, songs and scenes that move through places. Needs a recent ComfyUI (MiniMax H3 context windows) andoverlap0.9 s.hand_tie(Experimental): Renders a low-res preview of the take first and ties every hop to it. Pair withqwen3vl_4b_fp8_scaled.safetensorsinmodels/text_encoders/.
⚡ 60-Second Install
Zero pip dependencies. Needs ComfyUI v0.38.0 or newer. In ComfyUI/custom_nodes/:
git clone https://github.com/sandpies/ComfyUI-Hand-Tie-Clips.git
Restart 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_ditUpsampler:
minimax_h3_latent_upscaler_3d_bf16.safetensors(models/latent_upscale_models/) +open_h3_regenerate_2k_r256pp_bf16.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 carry her look.
Only words inside the quotes: A laugh or sigh written inside a line is said out loud as a word. Write it outside: she laughs, then says, '…'
Set the final shot's tail to
settleorhold: So the film lands cleanly instead of starting a new gesture on the last frame.
🎞️ One-take tip: in a sand_tie take, every hop opens with the same camera sentence and the action goes on an At mm:ss-mm:ss, timeline. PROMPTING.md has the full rules; WRITE does it for you.
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.