An i2v / t2v MiniMax H3 workflow tuned for maximum speed on a single 24 GB card, with native stereo audio in the same pass. On our RTX 4090 a 10 s clip that took ~27 min on the dense hi-res pipeline renders in ~6 min with this stack (same seed; the hi-res pass is the optional extra below). The Turbo LoRA alone already measured x1.9 end-to-end.
What is inside
- 10Eros-Max base (INT8) - NSFW-focused finetune of MiniMax H3 by cicalooo, int8 convrot
skip_edgesvariant (first/last blocks kept in BF16, the quality-safe option). Same loader as the official base: swap one filename to go back SFW. - 4-step Turbo distill LoRA (larryvrh,
v4_step600_ema, the strongest checkpoint of that line) + the dedicated dual-clock sampler: video and audio each keep their own shift (12/3), so 4-6 steps do not wreck the audio. - Sparse attention (Zironic's H3-Optimizations, Advanced node): author-measured 1.57-1.69x on 243-frame clips, Kitchen INT8 backend, zero extra dependencies.
- SageAttention patch (KJNodes): another ~20% off sampling in our A/B.
Downloads - models
Put each file in the listed ComfyUI folder.
- models/diffusion_models (pick one base):
10Eros-Max INT8 skip_edges (21.7 GB, gated repo: log in to HuggingFace and accept the terms; file10Eros_Max_h3_fl2va_beta2_pruned_int8_convrot_skip_edges.safetensors)
or the official INT8 base (21 GB, SFW drop-in) - models/loras: minimax_h3_turbo_v4_step600_ema.safetensors (780 MB)
- models/text_encoders: qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors (15.7 GB)
- models/vae: video VAE fp16 (5.2 GB) + audio VAE fp32 (0.6 GB)
Downloads - custom nodes
- ComfyUI-MiniMax-H3-Turbo (larryvrh) - the Turbo LoRA loader + sampler. Keep THIS loader: on the quantized base the LoRA must run in bypass mode and re-inject the adaln keys the pruned base needs. A generic LoRA loader either silently does nothing or crawls at minutes per step.
- H3-Optimizations (Zironic) - H3SparseAttentionAdvanced.
- ComfyUI-KJNodes (kijai) - SageAttention patch node. Needs the
sageattentionpip package; cannot install it? Set the node todisabled, you only lose ~20%.
Requirements
- ComfyUI 0.30+ (native INT8 convrot support).
- Tested on a 24 GB card (RTX 4090, 23.3/24 GB used at 0.3 MP). The NVFP4 text encoder is emulated on Ada: works, just slower at encode time.
- Frame count must satisfy
count mod 17 == 5: 56, 73, 90, ... 243. 56 frames = 2.3 s at 24 fps. - Stay at or under 0.5 MP; go big with the latent hi-res pass below instead.
Settings that matter
- Steps 6 shipped (4 = fastest and the author's minimum; 6-8 looks noticeably better; above 8 it over-sharpens).
- Scheduler simple with the Turbo LoRA (switch to beta + ~20 steps if you remove it; node 17 is left in the graph to rewire).
- Sparse level shipped at the author defaults (budget 0.3, edges [email protected]). Honest note: sparse attention is not free - on complex prompts adherence can drop, because with 4-6 steps the sparsity also touches the composition steps. Fix: raise to budget 0.5 / edges 0.8, or unplug node 810 (guider back to node 600) and keep the rest of the stack.
- Prompt recipe H3 responds to: style, then
<Picture 1>+ subject, the action, ONE camera move, then anAudio:block (voices, sfx, music - the audio is generated from your prompt in the same pass). - t2v: the first_frame input of the MiniMax node is optional - drop the image and prompt only.
Going further (optional)
- Comfyui-MMH3-UltimateUpscale (bbaudio-2025): upscales the nested video+audio latent BEFORE decode - no tile seams, audio untouched. This is the stage our 27-to-6-min number runs sparse.
- Heretic NVFP4 text encoder (sakamakismile): uncensored drop-in replacement for the official encoder (same folder, swap
clip_namein node 13) if it refuses your prompts.
Credits
MiniMax (H3 open weights), Comfy-Org (ComfyUI repackage), larryvrh (Turbo LoRA + nodes), Zironic (H3-Optimizations), cicalooo (10Eros-Max), kijai (KJNodes), bbaudio-2025 (MMH3 UltimateUpscale), sakamakismile (Heretic encoder). This workflow just wires their work together - go like their repos.
Description
Fixes a silent regression. H3-Optimizations 0.2.16 (released 2026-08-27) added a guard that refuses to compose sparse attention with an attention override it does not own. v1 fed the sparse node from the SageAttention patch (601 -> 600 -> 810), so on 0.2.16+ sparse attention was silently DISABLED - no error, no failed run, just this console warning and none of the speedup:
[H3 Optimizations] SPARSE ATTENTION FELL BACK to existing. Reason: preserved an unknown optimized-attention override with full-Q single-call semantics; sparse attention is disabled because the explicit external consumer does not expose an H3 sparse composition contract
v2 wires the sparse node straight to the Turbo LoRA (601 -> 810). You lose nothing: when sparse attention is active it owns attention anyway, so Sage was already being replaced on older versions too. Node 600 stays in the file, fed by 601, as a spare for the no-sparse fallback documented in the README.
Also fixed: the 10Eros download link. v1 pointed at cicalooo/10Eros-Max, which is gated and returns 401. The INT8 convrot weights live in the ungated cicalooo/10Eros-Max-h3-int8-convrot repo. Every link in the README was re-checked.
Verified on a real run: the pack now logs attention=sparse_kitchen_int8 with no fallback. Same defaults as v1 (6 steps, scheduler simple, sparse budget 0.3 / edges [email protected], 0.3 MP, 56 frames). Thanks to Velant and yajukun for the reports.