MiniMax H3 — ComfyUI Workflows
Drag-and-drop ComfyUI workflows for MiniMax H3, the omni-modal video model that generates video with native stereo audio (voice, SFX, room tone — all in one pass). Shared by @BennyDaBall_OG.
Workflows
| File | What it does |
|---|---|
OpenH3_FaceRegion_Prompt_to_2K_BennyDaBall.json |
Prompt → 768p H3 draft → 2560x1440 regenerate that keeps the faces and the lip sync, in one queue |
MiniMax_H3_Turbo_v4_8step_T2VA_BennyDaBall.json |
Text → video+audio with the Turbo v4 LoRA — 8 steps instead of 20, ~1.9× faster, audio stays clean |
Open-H3 Face Region · prompt to 2K
NVIDIA's Open-H3-Regenerate-2K re-draws an upscaled H3 clip from 91% noise. That adds a lot of detail, but it recasts the actors. This workflow adds an automatic face mask: faces start the 2K pass at 50% noise while everything else still gets NVIDIA's full regenerate, and the draft's own audio is held clean so the mouths keep talking.
My numbers (talking close-up, same draft and seeds, face match = ArcFace vs the 768p draft, lip sync = SyncNet LSE-C):
| Setting | Face match | Lip sync (draft 8.22) | Detail vs plain upscale |
|---|---|---|---|
| NVIDIA default (0.909 everywhere) | 0.52 | 8.58 | 15.5x |
| My first try (0.7 everywhere, 2 steps) | 0.85 | 8.14 | 4.9x |
| This workflow | 0.91 | 8.27 | 10.8x |
The recipe
| Setting | Value |
|---|---|
| Draft | stock H3 T2VA, 1344×768, 124 frames, 20 steps res_multistep |
| Upscale | LBH 3D latent upscaler to 2560×1440 |
| Face mask | Open-H3 Face Region Map (OpenCV YuNet, CPU, a few seconds): face_strength 0.55 = faces start at 0.50; extra_boxes protects a pet or prop |
| 2K pass | NVIDIA release grid, 3 Euler steps from 0.909, CFG-free (BasicGuider), draft audio held clean |
| LoRA | Kijai's Open-H3-Regenerate-2K refiner only (r384; the 155 MB r16 matched it in my tests) @ 1.0, no Turbo or Sharp |
| VAE | H3 video VAE INT8 for encode and decode |
| Time | about 7 min cold on an RTX 5090 for draft + 2K (measured 410 s). Fast mode: un-bypass the Sol sparse attention node and set the 2K steps to 2 (~70 s for the 2K pass, same face match, a bit less detail) |
Custom nodes (install with ComfyUI Manager or git clone into custom_nodes):
- ComfyUI-Open-H3-FaceRegion: the face mask + region noise nodes (mine)
- rdh9616/ComfyUI-Open-H3-Regenerate: draft prep, upscale, refine, sigmas
- LBH-123-AI/Comfyui_Minimax_h3_latent_Upscaler
Extra models (also linked from the loader nodes):
| File | Folder |
|---|---|
minimax_h3_open_regenerate_2k_refiner_rank_384_bf16.safetensors (5.9 GB, or the 155 MB r16) |
models/loras |
minimax_h3_latent_upscaler_3d_conv_v1_bf16.safetensors |
models/latent_upscale_models |
minimax_h3_video_vae_int8_convrot.safetensors |
models/vae |
Plus the H3 int8 model, text encoder and audio VAE from the table below.
Honest take: only the masked faces (and any boxes you add) are protected, so background props can still change. Small faces in wide shots gain less than close-ups.
Turbo v4 · 8-step T2VA
100% core ComfyUI nodes — no custom node packs. Verified with a same-seed A/B against the stock 20-step recipe: same choreography, healthy audio (peak ≈ −9 dB, zero clipping).
The recipe
| Setting | Value |
|---|---|
| LoRA | minimax_h3_turbo_v4_step600_ema_pruned_comfyui @ 1.0 (built-in LoraLoaderModelOnly) |
| Steps / sampler / scheduler | 8 · euler · beta (no sigma-shift node needed) |
| Guidance | CFG-free (BasicGuider) — write a Negative: line inside the prompt itself |
| Resolution | 1344×768 @ 24 fps |
| Length | frames on a 17k+5 grid: 124 ≈ 5 s, 243 ≈ 10 s, 362 ≈ 15 s (model max) |
The bundled demo prompt ships with a fixed seed so your first render reproduces the demo clip — flip the seed widget to randomize for new takes.
Getting started
- Update ComfyUI to ≥ 0.30 (MiniMax H3 nodes are built in).
- Drag the
.jsononto the ComfyUI canvas. - ComfyUI will offer to download any missing models automatically (every loader node carries its download URL). Manual links below.
- Queue. First run: the console should show zero
lora key not loadedwarnings.
Models
| File | Size | Folder |
|---|---|---|
minimax_h3_fl2va_pruned_int8_convrot.safetensors |
19.5 GB | models/diffusion_models |
qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors |
14.6 GB | models/text_encoders |
minimax_h3_video_vae_fp16.safetensors |
1.4 GB | models/vae |
minimax_h3_audio_vae_fp32.safetensors |
0.4 GB | models/vae |
minimax_h3_turbo_v4_step600_ema_pruned_comfyui.safetensors |
620 MB | models/loras |
Tested / not tested
- Verified on 5-second clips at 1344×768. Higher res (1920×1088) and longer clips are untested with this LoRA — earlier turbo versions fell apart there, so treat that as experimental.
- Few-step audio blowout is the classic turbo failure mode; this v4 @ 8 steps is the combo that passed. If you drop steps further, check your audio peaks.
Prompt pattern that works
Style contract → timed beats (0.0-0.6s: ...) → camera lock line → an audio timeline starting with room tone at 0.0s → Negative: line. Dialogue inside <d>[English] ... </d> is spoken verbatim with lip-sync. Give the first spoken line ≥ 1.2 s of lead-in and anchor t=0 with room tone. The demo prompt in the workflow shows the full pattern.
Credits
- MiniMax H3 by MiniMax · ComfyUI-repackaged weights by Comfy-Org
- Turbo LoRA trained by larryvrh (v4_step600 EMA) · ComfyUI convert by drbaph
- Open-H3-Regenerate-2K by NVIDIA (Efficient-Large-Model) · refiner LoRA slices by Kijai · latent upscaler by LBH-123-AI · regenerate nodes by rdh9616 · YuNet face detector by Shiqi Yu et al. (opencv_zoo, MIT)
- Workflow + testing by @BennyDaBall_OG
License note: this repo covers the workflow files only. The H3 model weights and the LoRA carry their own licenses — check the linked repos before commercial use.