philmcc's picture
|
download
raw
6.24 kB
---
license: mit
base_model: MiniMaxAI/MiniMax-H3
tags:
- comfyui
- workflow
- video
- audio
- text-to-video
- minimax-h3
- multishot
---
# MiniMax-H3 Multishot Workflow
Chain multiple MiniMax-H3 shots into one continuous video **with audio** - in
one node. Each shot starts from the last frame of the previous one; the
duplicated seam frame and its 1/24s of audio are trimmed automatically.
The demo below was made **by this workflow**: 30 seconds, three chained shots
from one script, same presenter and same voice across both seams, rendered on
the Q5_1 GGUF.
<video controls src="https://huggingface.co/joeygambino/MiniMax-H3-Multishot-Workflow/resolve/main/H3_multishot_presenter_demo.mp4"></video>
## Update your node pack before using H3_Multishot_MEMORY.json
`H3MultishotMemorySampler` called `vae_decode_audio` without importing it, so it
raised a `NameError` at audio decode — **after** all sampling had finished,
destroying the completed render. It was broken in every released version until
now.
Fixed in [ComfyUI-H3-Multishot](https://github.com/jlucasmcrell/ComfyUI-H3-Multishot)
([issue #1](https://github.com/jlucasmcrell/ComfyUI-H3-Multishot/issues/1)).
Pull the latest node pack and restart ComfyUI fully — a browser refresh is not
enough. The workflow JSON itself never needed changing.
## Files
- **H3_Multishot_AIO.json** - easy mode: loaders > script box > one sampler
node > save. Write one prompt per shot with `---` between them, pick a
shot count (0 = one shot per prompt, 1-8 forces it), queue.
- **H3_Keyframes.json** - keyframes at **any** position, not just first/last.
Up to 6 anchor images placed by fraction (`0, 0.5, 1`) or absolute frame
index, in a single generation - so the audio is one continuous stream.
- **H3_Multishot_MEMORY.json** - long form (2-5 minutes). Keeps a persistent
identity anchor so drift cannot compound across many shots.
## Requirements
- ComfyUI **v0.30.0+** (native MiniMax H3 support)
- The node pack: [ComfyUI-H3-Multishot](https://github.com/jlucasmcrell/ComfyUI-H3-Multishot) (Manager > Install via Git URL;
includes the one-line ComfyUI-GGUF architecture patch)
- Models: [MiniMax-H3 GGUF quants](https://huggingface.co/joeygambino/MiniMax-H3-GGUF) (Q5_1 for 24-32 GB cards, Q4_0
for 16 GB) or the originals; text encoder + VAEs from
[Comfy-Org/MiniMax-H3](https://huggingface.co/Comfy-Org/MiniMax-H3)
## Notes
- `frames_per_shot` sits on H3's 17k+5 frame grid (243 = ~10.1s at 24 fps;
362 = ~15.1s, the trained max).
- End every shot on what the NEXT shot expects to see - the chain hands each
shot the previous final frame, and matching that bridge to the next shot's
framing is what makes seams invisible.
- Malformed JSON scripts fail loudly instead of rendering the raw text.
## v1.2 (2026-08-04)
- **Keyframes at any position.** Stock ComfyUI pins H3 keyframes to the first
and last frame and raises `only first/last keyframe anchors are supported`
for anything else. That is a positional-maths limit, not a model limit -
both stock cases are the same expression:
```
cond_t = text_len + FRAME_RESCALE * pixel_index
```
which is defined for every frame. Measured on an RTX 5090, 243 frames, one
anchor at pixel frame 121: the rendered frame closest to the anchor image was
frame **122** - off by one - reached by continuous motion with no cut, audio
unbroken through it. A three-anchor run landed frames **121 and 242 exactly**.
Applied in memory; it does not edit any ComfyUI file, self-tests against the
stock formula, and rolls back if first/last positions do not reproduce.
- **Move vs cut.** Anchor images with a plausible camera path between them make
H3 interpolate. Images with no possible path (a kitchen and a diner) make it
cut, then hold - stock first/last does the same with such a pair, so that is
the model, not the node. The cut case is still useful: a timed shot change
inside ONE generation, which keeps the audio continuous across it.
- Two new controls: **H3 Condition Strength** (exposes
`minimax_visual_cond_noise_aug` / `minimax_audio_cond_noise_aug`, read by
ComfyUI core but written by no stock node) and **H3 Reference Audio**, a
stereo guard - a mono reference clip crashes the sampler with an unhelpful
shape mismatch because the layout reserves two channels.
## v1.1 (2026-08-04)
- **Image-to-video.** The Multishot Sampler now takes an optional `start_image`.
Connect a `LoadImage` and shot 1 starts from that frame, then chains as usual.
Leave it unconnected for unchanged text-to-video behaviour - v1.0 graphs keep
working.
- **~4x faster on 32GB cards.** The text encoder is evicted before sampling.
The Qwen3-VL encoder (~16.5GB even at Q4) and the H3 DiT (~25GB) do not co-fit
on 32GB, so the DiT was loading *partially* and streaming ~19GB from system RAM
every step. Measured on an RTX 5090: **~60 min -> ~15 min** for the same render.
- **Text encoder GGUF + mmproj published:**
[joeygambino/MiniMax-H3-encoder-GGUF](https://huggingface.co/joeygambino/MiniMax-H3-encoder-GGUF).
The mmproj sidecar is **required for multi-shot**, not just for reference
images - shot chaining feeds the previous frame through the encoder's vision path.
- Render at H3's native resolution and upscale afterwards: native 1920x1088
measured *worse* than 960x544 in blind review and cost ~4x the time.
Node pack: [ComfyUI-H3-Multishot](https://github.com/jlucasmcrell/ComfyUI-H3-Multishot)
## On Civitai
* [MiniMax-H3 Multishot (this workflow)](https://civitai.com/models/2833322)
* [MiniMax-H3 GGUF - the DiT](https://civitai.com/models/2833352)
* [MiniMax-H3 Text Encoder GGUF](https://civitai.com/models/2834385)
## Support
Everything here is free and stays free. If it saved you a night of debugging,
tips keep the 5090 warm:
* [Buy me a coffee on Ko-fi](https://ko-fi.com/joeygambino)
* [Sponsor on GitHub](https://github.com/sponsors/jlucasmcrell)
* [Liberapay](https://liberapay.com/joeygambino) (recurring)

Xet Storage Details

Size:
6.24 kB
·
Xet hash:
0526ab0210c6a547ce3545043376c0011a6ab52ec559b1d545f2c132b5fb9fa4

Xet efficiently stores files, intelligently splitting them into unique chunks and accelerating uploads and downloads. More info.