MiniMax-H3 Turbo LoRA β 4-step audio-video generation (early preview)
A LoRA for MiniMax-H3 that renders joint video + synchronized stereo audio in 4 sampling steps instead of the usual ~20 β roughly a 5Γ speedup in sampling wall-clock.
β οΈ Early prototype β the weights and the tooling. These weights are an early, under-trained checkpoint (not production quality), and the ComfyUI nodes below are prototype code: functionality and compatibility are not guaranteed. It is already a clear step up from the base model at 4 steps β sharper detail, cleaner and better-synced audio β but treat everything here as a work-in-progress taste, not a finished product. If something breaks, please open an issue on the node repo.
Use it in ComfyUI (recommended)
Custom nodes: Larryvrh/ComfyUI-MiniMax-H3-Turbo β or search "MiniMax-H3 Turbo" in ComfyUI-Manager.
- Install the nodes (Manager, or
git cloneintoComfyUI/custom_nodes). - Download a
.safetensorsfrom this repo intoComfyUI/models/loras/. - Start from the official MiniMax-H3 workflow
(text-to-video or image-to-video) and make two changes:
- insert MiniMax-H3 Turbo LoRA between the model loader and the sampler;
- replace the sampler feeding
SamplerCustomAdvancedwith MiniMax-H3 Turbo Sampler (4-step), and set the scheduler to 4 steps (simple).
Everything else stays as in the official workflow, so both t2v and i2v work. A
ready-made t2v workflow is included here (minimax_h3_t2v_turbo.json) and in the
node repo
β drag it into ComfyUI. The custom sampler is required: MiniMax-H3 runs video and
audio on two different flow schedules, and a stock sampler over-steps the audio
at 4 steps and it breaks.
- Steps: 4 works, but at this early checkpoint the model is under-trained,
so the comfort zone for sharpness is 6β8 steps, not 4 β 4 comes out
noticeably softer. Any count β₯ 4 is valid and more steps look better.
Keep the scheduler on
simple. - Base model: use a non-pruned base (the
bf16or fullint8_convrotDiT). The pruned variants (pruned_int8,pruned_fp8) use a different time-conditioning layer and are not compatible with this LoRA.
Weights
All bf16, ~744 MB, applied as a standard low-rank update
(W_eff = W + lora_B @ lora_A, alpha = rank so no extra scaling):
| file | ~steps | notes |
|---|---|---|
minimax_h3_turbo_4step_ckpt500.safetensors |
~500 | recommended default β newest, sharpest (non-EMA) |
minimax_h3_turbo_4step_ema_ckpt500.safetensors |
~500 | time-averaged variant β smoother, but at this early checkpoint it can show heavy ghosting / motion smear; prefer the non-EMA file above |
minimax_h3_turbo_4step.safetensors |
~200 | initial release, non-EMA |
minimax_h3_turbo_4step_ema.safetensors |
~200 | initial release, time-averaged (superseded) |
Training is ongoing; newer checkpoints will land here over time.
Standalone (no ComfyUI graph)
generate.py is a single self-contained file β loads the base DiT + a LoRA,
encodes the prompt, runs the 4-step dual-schedule sampler, decodes and muxes an
mp4. It still needs a ComfyUI checkout for the H3 model / VAE / text-encoder
definitions:
# ComfyUI (pinned to the commit these weights were validated against)
git clone https://github.com/comfyanonymous/ComfyUI
cd ComfyUI && git checkout 14b05228cef127ce529bc0c08660770d4af3e9a8
pip install -r requirements.txt && cd ..
pip install -r requirements.txt # this repo: torch, safetensors, imageio-ffmpeg
# base weights from Comfy-Org/MiniMax-H3 into a models/ tree, then:
python generate.py \
--comfyui ./ComfyUI \
--base models/diffusion_models/minimax_h3_fl2va_bf16.safetensors \
--lora minimax_h3_turbo_4step_ckpt500.safetensors \
--te models/text_encoders/qwen3vl_32b_minimax_h3_int8_convrot.safetensors \
--video-vae models/vae/minimax_h3_video_vae_fp16.safetensors \
--audio-vae models/vae/minimax_h3_audio_vae_fp32.safetensors \
--prompt "A corgi in a chef hat flipping a pancake, sizzling sounds and a cheerful bark." \
--width 1344 --height 768 --frames 124 --out corgi.mp4
Notes
- Resolution / duration: width/height are multiples of 32; the short edge is
typically 768. Frame count is at 24 fps and snaps to the model's 17Β·k+5 grid
(124 β 5 s). Validated range
124β362 frames (5β15 s). - VRAM: the base model is large (~33 B); an 80 GB GPU is comfortable
(
--offload-adalnin the standalone script trades ~13 GB of VRAM for CPU RAM). - Audio: 32 kHz stereo, aligned to the video; the two streams ride different flow schedules and are integrated each on its own clock.