Five coordinated views from one reference image in ComfyUI — Contact-Sheet diffusion for MiniMax-H3 (pairs with the H3 Turnaround LoRA)
Python
5
7 commits
updated Aug 15, 2026
Five coordinated views of one subject from one reference image, inside ComfyUI — Contact-Sheet diffusion for MiniMax-H3. Pair with a Turnaround LoRA from matlod/minimax-h3-turnaround.
Two nodes; everything else in the graph is stock:
UNETLoader -> LoraLoaderModelOnly (stock!) -> BasicGuider ---------\
CLIPLoader (type: minimax) ---\ v
VAELoader (video) ------------+--> H3ContactSheet ---> SamplerCustomAdvanced
(cond + latent) |
VAELoader (video) --> H3ContactSheetDecode <--- denoised latent ----/
-> 5 views (IMAGE batch) + 1 strip (IMAGE)
<Picture 1>; keep that tag in your prompt.[v0..v4]
strip.cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-H3-ContactSheet
# restart ComfyUI
Models: the MiniMax-H3 ref2va DiT (pruned int8 works), the Qwen3-VL
minimax text encoder, the H3 video VAE, and a Turnaround LoRA — the LoRA
loads through the stock LoraLoaderModelOnly (key format verified).
Sampler settings that match the LoRA's training: res_multistep /
simple, 28 steps, denoise 1.0, LoRA strength 1.0 (0.7 favors scene
fidelity over rotation).
Sizes 512 / 1024 / 2048 per view all work. Measured through this node on an RTX PRO 6000 (450 W cap, --gpu-only so everything stays in VRAM): 2048 sheet in 175 s (~20% faster than the reference sampler), peak ~54 GiB VRAM; 512 sheets in ~25 s warm. Output verified artifact-free at 2048 (flat-region crops).
Smaller GPUs: those numbers are NOT a requirement. Stock ComfyUI offloads/streams weights to system RAM on smaller cards, exactly as with any big model — if your setup runs MiniMax-H3 video generation at all, it runs this node (a sheet is computationally a ~17-frame clip). Expect slower steps and a hefty system-RAM footprint (~50 GB weights mirror), as usual for H3 on consumer cards.
example_api_workflow.py submits a complete graph over the ComfyUI API if
you'd rather script it.
Early versions decoded each slot as a raw single-latent-frame — a shape that is off the VAE's 17k+5 frame grid and decodes with heavy artifacts in ComfyUI (roundtrip error 31.4 tiled / 93.7 untiled, vs 3.9 on-grid; Comfy-Org/ComfyUI#15416). The node now duplicates each slot token to a legal 2-token clip and keeps pixel frame 0 — output is visually indistinguishable from the reference sampler. Nothing to configure; noted here for anyone building their own per-slot decode.
minimax_refs conditioning interface
(comfy_extras/nodes_minimax_h3.py). Tested against master
a464ac33 — if sheets degrade after a ComfyUI update, pin near that
commit and file an issue here.7 commits
Python
100.0%
Five coordinated views from one reference image in ComfyUI — Contact-Sheet diffusion for MiniMax-H3 (pairs with the H3 Turnaround LoRA)
Python
5
7 commits
updated Aug 15, 2026
Five coordinated views of one subject from one reference image, inside ComfyUI — Contact-Sheet diffusion for MiniMax-H3. Pair with a Turnaround LoRA from matlod/minimax-h3-turnaround.
Two nodes; everything else in the graph is stock:
UNETLoader -> LoraLoaderModelOnly (stock!) -> BasicGuider ---------\
CLIPLoader (type: minimax) ---\ v
VAELoader (video) ------------+--> H3ContactSheet ---> SamplerCustomAdvanced
(cond + latent) |
VAELoader (video) --> H3ContactSheetDecode <--- denoised latent ----/
-> 5 views (IMAGE batch) + 1 strip (IMAGE)
<Picture 1>; keep that tag in your prompt.[v0..v4]
strip.cd ComfyUI/custom_nodes
git clone https://github.com/matlowai/ComfyUI-H3-ContactSheet
# restart ComfyUI
Models: the MiniMax-H3 ref2va DiT (pruned int8 works), the Qwen3-VL
minimax text encoder, the H3 video VAE, and a Turnaround LoRA — the LoRA
loads through the stock LoraLoaderModelOnly (key format verified).
Sampler settings that match the LoRA's training: res_multistep /
simple, 28 steps, denoise 1.0, LoRA strength 1.0 (0.7 favors scene
fidelity over rotation).
Sizes 512 / 1024 / 2048 per view all work. Measured through this node on an RTX PRO 6000 (450 W cap, --gpu-only so everything stays in VRAM): 2048 sheet in 175 s (~20% faster than the reference sampler), peak ~54 GiB VRAM; 512 sheets in ~25 s warm. Output verified artifact-free at 2048 (flat-region crops).
Smaller GPUs: those numbers are NOT a requirement. Stock ComfyUI offloads/streams weights to system RAM on smaller cards, exactly as with any big model — if your setup runs MiniMax-H3 video generation at all, it runs this node (a sheet is computationally a ~17-frame clip). Expect slower steps and a hefty system-RAM footprint (~50 GB weights mirror), as usual for H3 on consumer cards.
example_api_workflow.py submits a complete graph over the ComfyUI API if
you'd rather script it.
Early versions decoded each slot as a raw single-latent-frame — a shape that is off the VAE's 17k+5 frame grid and decodes with heavy artifacts in ComfyUI (roundtrip error 31.4 tiled / 93.7 untiled, vs 3.9 on-grid; Comfy-Org/ComfyUI#15416). The node now duplicates each slot token to a legal 2-token clip and keeps pixel frame 0 — output is visually indistinguishable from the reference sampler. Nothing to configure; noted here for anyone building their own per-slot decode.
minimax_refs conditioning interface
(comfy_extras/nodes_minimax_h3.py). Tested against master
a464ac33 — if sheets degrade after a ComfyUI update, pin near that
commit and file an issue here.7 commits
Python
100.0%