Downloads · 30 days
206
14% of all-time downloads
1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8
MiniMax-H3-SVDQuant-fp4-pdd8 is a machine learning model from 1ronman1993. Use it for the machine learning task on the model card, and read the license before you ship it in a product. It is set up for minimax-h3. The card lists the license as apache-2.0.
A merged checkpoint for MiniMax-H3 (33B single-stream audio-video DiT, FL2VA) combining SVDQuant 4-bit quantization (rank 128) with the official PDD 8-step distillation (alibaba-pai/MiniMax-H3-Acc-LoRAs).
Downloads · 30 days
206
14% of all-time downloads
All-time downloads
1.5K
Public
Repo size
16.3 GB
Likes
3
Trending 1
Click a slice to open those files.
.safetensors16.3 GB · 100%
From the Hugging Face model README
A merged checkpoint for MiniMax-H3 (33B single-stream audio-video DiT, FL2VA) combining SVDQuant 4-bit quantization (rank 128) with the official PDD 8-step distillation (alibaba-pai/MiniMax-H3-Acc-LoRAs).
adaln_t_table + per-block [96768, 8] projections) instead of the raw
bf16 tables. The PDD AdaLN LoRA is rebased into curve space
(rebase_adaln_to_curve from the PDD package). This alone removes ~24GB from the checkpoint.Result: 14GB checkpoint — 30% smaller than the official int8 (20GB), 3.4x faster than bf16.
| Configuration | Time / video (warm) | Peak VRAM | Checkpoint size |
|---|---|---|---|
| bf16 pruned, 20 steps (reference) | 375s | 60GB+ | 38GB |
| Official int8 (Comfy-Org), 20 steps + sage | 231s | 42GB | 20GB |
| Official int8 + PDD 8-step + sage | 106s | 45.5GB | 20GB |
| This model (fp4 r128 + PDD 8-step baked + sage) | 111s | 41.0GB | 14GB |
| This model, ~34GB VRAM budget | 177s | 22.3GB | 14GB |
| This model, ~32GB VRAM budget (5090-class) | 129s | 31.1GB | 14GB |
| This model, ~18GB VRAM budget | 910s | 15.6GB | 14GB |
| This model, ~12GB VRAM budget | 1891s | 12.3GB | 14GB |
| Official int8 + PDD 8-step, ~32GB VRAM budget | 205s | 32.9GB ⚠️ | 20GB |
3.4x faster than the bf16 baseline. Constrained-budget rows are measured on the 96GB card with
ComfyUI's --reserve-vram capping the budget. With a 32GB (RTX 5090) budget this model runs in
129s at a 31.1GB peak, while the official int8 peaks at 32.9GB — beyond a 5090's physical 32GB,
so it forces deeper offload there. The model keeps working down to a 12GB budget via block
streaming, trading speed for memory.
Quality note: PDD 8-step distillation changes the sampling trajectory — the output is "another good video", not a frame-level approximation of the 20-step reference (LPIPS ~0.52 against bf16 is inherent to distillation, not quantization). Against the same-recipe int8+PDD baseline the LPIPS is ~0.37 with identical composition and no artifacts; the difference lives in fine texture detail.
| Configuration | Time / video | Peak VRAM | DiT residency |
|---|---|---|---|
| This model, plain (PDD 8-step baked) | 249 s | 22.7 GB | 14.6/14.6 GB fully resident by default |
| This model + KJ low-VRAM patches + budget override | 149 s (110 s warm) | 21.0 GB | fully resident |
The 32GB card fits the 14GB checkpoint by default; the extra 1.7× comes from the patch nodes (memory-frugal sage attention + head-chunked attention + chunked FFN), not from residency. The same recipe on the int4 sibling at 24GB (4090) is even more dramatic (838 s → 189 s) because only the 14GB checkpoint can stay fully resident there — see 1ronman1993/MiniMax-H3-SVDQuant-int4-pdd8.
Timing note: our benchmarks used a remote text-encoder service (TE ~3 s). With a local qwen3vl-32B nvfp4 TE on a 24GB card, add roughly +130 s on the first run (weight load + dequant encode; measured 8.6 s + 122 s on a 4090D) and ~10-40 s when the TE has to swap back in for a new prompt; repeated runs with the same prompt skip TE entirely via conditioning cache. All compared stacks share the same TE cost, so the speed ratios are unaffected.
Recipe (KJNodes experimental MiniMax patches, SVDQuant-compatible build bundled in this repo as
comfyui_kj_minimax_patches.py; if you also run full KJNodes, its upstream MiniMax nodes conflict
by name — use one or the other):
MiniMaxH3MemoryEfficientSageAttentionPatch → MiniMaxLowVRAMAttention (head_chunks 4) →
MiniMaxChunkFeedForward (chunks 2) → ModelMemoryUsageFactorOverride (0.06; measured on ComfyUI 0.34 —
if your build estimates differently, tune by the load_models_gpu log line: raise if you OOM, lower until
the DiT reports fully resident).
Wired-up workflow: minimax_h3_fp4_pdd8_workflow_24gb_api.json. Single-file plugin:
comfyui_kj_minimax_patches.py → drop into ComfyUI/custom_nodes/.
Same prompt, same seed (12345), 1344×768 × 141 frames. The int8+PDD and this model share the exact same 8-step recipe, so their columns are directly comparable; the bf16 column is the 20-step undistilled reference (different trajectory — see the quality note above).
Prompt 1: "A golden retriever runs across a sunlit beach, splashing through the shallow waves."
| bf16 · 20 steps (reference) | int8 + PDD 8-step (official) | fp4 + PDD 8-step (this model) |
|---|---|---|
| <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/dog_beach_bf16_20step.mp4" controls muted></video> | <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/dog_beach_int8_pdd8.mp4" controls muted></video> | <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/dog_beach_fp4_pdd8.mp4" controls muted></video> |
Prompt 2: "A steam locomotive crosses a stone viaduct over a misty valley at dawn, whistle echoing."
| bf16 · 20 steps (reference) | int8 + PDD 8-step (official) | fp4 + PDD 8-step (this model) |
|---|---|---|
| <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/train_viaduct_bf16_20step.mp4" controls muted></video> | <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/train_viaduct_int8_pdd8.mp4" controls muted></video> | <video src="https://huggingface.co/1ronman1993/MiniMax-H3-SVDQuant-fp4-pdd8/resolve/main/samples/train_viaduct_fp4_pdd8.mp4" controls muted></video> |
svdq-fp4_r128-minimax-h3-curveadaln-pdd8.safetensors — main model → ComfyUI/models/diffusion_models/minimax_h3_fl2va_pdd_acc_8step_comfyui.safetensors — PDD head bank → ComfyUI/models/pdd_acc/
(ComfyUI conversion of the alibaba-pai release; the PDD node switches distilled output heads per sigma)comfyui-nunchaku-minimax-h3.tar.gz — the ComfyUI-nunchaku plugin build with MiniMax-H3 support
(NunchakuMinimaxH3DiTLoader); unpack into ComfyUI/custom_nodes/ComfyUI-nunchaku/minimax_h3_fp4_pdd8_workflow_api.json — ComfyUI API-format workflow (plain)minimax_h3_fp4_pdd8_workflow_24gb_api.json — ComfyUI API-format workflow (24GB/32GB-optimized, see benchmarks)comfyui_kj_minimax_patches.py — SVDQuant-compatible KJNodes MiniMax patch nodes (standalone single-file plugin)ComfyUI ≥ 0.33 (post MiniMax-H3 carried-audio rework)
The bundled ComfyUI-nunchaku plugin (see above). It additionally requires the nunchaku Python
package with MiniMax-H3 support — this is not in upstream yet, so build it from the fork
(needs a CUDA toolkit with nvcc; ~10 min build):
git clone https://github.com/cage1993/nunchaku.git -b feat/minimax-h3
cd nunchaku && git submodule update --init --recursive
NUNCHAKU_INSTALL_MODE=FAST pip install -e . --no-build-isolation
Plugin python deps (pip install -r requirements.txt in the plugin folder) are only needed for
the plugin's other model families; for MiniMax-H3 alone, diffusers, transformers,
safetensors and accelerate suffice.
ComfyUI-MiniMax-H3-PDD-Acc (provides MiniMaxH3PDDAccApply / MiniMaxH3SigmaShift)
Remaining components from Comfy-Org/MiniMax-H3:
text_encoders/qwen3vl_32b_minimax_h3_nvfp4_awq.safetensors → ComfyUI/models/text_encoders/vae/minimax_h3_video_vae_fp16.safetensors and vae/minimax_h3_audio_vae_fp32.safetensors → ComfyUI/models/vae/sageattention (used by the patch nodes in the 24GB/32GB recipe)
euler + sigmas from the MiniMaxH3PDDAccApply node output (8 steps), CFG = 1.0MiniMaxH3SigmaShift: shift_video = 12, shift_audio = 3MiniMaxH3PDDAccApply: lora_strength = 0 (trunk LoRA already baked into this checkpoint), head_strength = 1.0, nfe = 8comfyui_kj_minimax_patches.py vendors nodes from kijai/ComfyUI-KJNodes, Apache-2.0