CoolFace
Modelpublic

aptech0081/MiniMax-H3-Acc-LoRAs-ComfyUI

sourceHugging Faceapache-2.0updated 22d agoView on Hugging Face
73likes50kdownloads
Model Card

MiniMax-H3 Acc LoRAs — ComfyUI conversion

ComfyUI-key repackaging of the official [alibaba-pai/MiniMax-H3-Acc-LoRAs](https://huggingface.co/alibaba-pai/MiniMax-H3-Acc-LoRAs) 8-step PDD acceleration LoRAs for MiniMax-H3 — full audio+video generation in 8 (or 4) sampler steps, CFG-free.

These are not plain LoRAs. Each file carries a rank-64 trunk LoRA plus a Parallel Decoding Distillation head bank (32 per-interval final-layer projections per modality, PDD — arXiv:2607.26004). Loading them requires the companion custom node pack:

➡️ [Jalen-Brunson/ComfyUI-MiniMax-H3-PDD-Acc](https://github.com/Jalen-Brunson/ComfyUI-MiniMax-H3-PDD-Acc) (also loads the original alibaba-pai files directly — this repo just saves you the in-memory conversion and gives you inspectable standard LoRA keys).

Files

FileWhat it issha256
minimax_h3_fl2va_pdd_acc_8step_comfyui.safetensorsLoRA + head bank for FL2VA trunk1dce71b9…5cda0ea
minimax_h3_ref2va_pdd_acc_8step_comfyui.safetensorsLoRA + head bank for Ref2VA trunk5531fa0d…bdc78a1
minimax_h3_ref2va_pdd_acc_8step_baked_int8_convrot.safetensorsfull Ref2VA int8-convrot checkpoint, trunk LoRA pre-merged — for cards that can't fully load the model (see below)fe8e58d8…cd1e111e

Put the LoRA files in ComfyUI/models/pdd_acc/. Pair FL2VA with an fl2va UNET, Ref2VA with ref2va (bf16 or int8-convrot builds both work). The baked checkpoint goes in ComfyUI/models/diffusion_models/ instead.

Usage (recipe is mandatory)

UNETLoader → MiniMaxH3SigmaShift (12/3) → MiniMax H3 PDD Acc LoRA (Apply) → BasicGuider (CFG 1.0), sampler euler, sigmas = the Apply node's sigmas output (the trained PDD block boundaries) into SamplerCustomAdvanced. Strengths 1.0, nfe 8 (4 is also official). Remove other distill LoRAs (turbo); don't stack step-caching nodes. A ready-to-run workflow ships in the node pack's example_workflows/.

Baked Ref2VA trunk (for cards that can't fully load the model)

minimax_h3_ref2va_pdd_acc_8step_baked_int8_convrot.safetensors (34 GB) is Comfy-Org/MiniMax-H3's minimax_h3_ref2va_int8_convrot checkpoint with this repo's Ref2VA trunk LoRA pre-merged at strength 1.0 (dequantize → add → requantize with the same comfy-kitchen int8-convrot kernels ComfyUI itself uses; every tensor keeps its exact dtype, shape and byte length). The PDD head bank is not in this file — it stays runtime, so you still need the node pack and one of the LoRA files above.

Why it exists: ComfyUI merges LoRA patches into weights only for modules that fit in VRAM; offloaded modules get a per-forward lowvram patch — the LoRA (plus a dequantize) is re-applied on every step. On cards at the VRAM edge that fixed cost is large: ~2× s/it at 864×480 on a 32 GB RTX 5090 (node pack issue #4). Baking removes the patch term entirely — measured on a fully-offloaded H200: 2.44 → 2.06 s/it (lowvram patches: 258 → 0); the win grows as the card gets smaller. If your card fully loads the trunk, this file buys you nothing — use a LoRA file above on a stock trunk.

Usage: put it in ComfyUI/models/diffusion_models/, load it with a plain UNETLoader, and run the exact recipe above with the Apply node's `lora_strength` set to `0.0` (baked-trunk mode: trunk patching skipped; head bank / sigmas / guards unchanged — the node's info output confirms it). Point the Apply node at the Ref2VA LoRA file above (it still supplies the head bank and the trained sigmas). Everything else is identical: SigmaShift 12/3, the Apply node's sigmas → euler, CFG 1.0, nfe 8 (4 also official).

Caveats: the merge strength is frozen into the file — for another strength, the FL2VA trunk, or a bf16/pruned base, bake_pdd_trunk.py in the node pack bakes any base yourself (streaming write, a few GB of RAM). On an unbaked trunk, lora_strength 0.0 silently renders the un-distilled model with PDD heads — if unsure, check the file's safetensors metadata for pdd_acc_baked: true (full bake provenance — source shas, strength, date — is embedded there).

What was converted

Trunk LoRA renamed from diffusers to ComfyUI H3 keys (diffusion_model.*.lora_A/B.weight

  • .alpha, 258 modules):
  • to_q/to_k/to_vattn.qkv_proj: concatenated lora_A, block-diagonal lora_B, alpha ×3 (keeps the per-branch scale exactly 1.0)
  • ff.net.0.projmlp.fc1: SwiGLU [value;gate][gate;value] lora_B row half-swap
  • to_out.0attn.out_proj, ff.net.2mlp.fc2, adaln_proj.linear copied 1:1 (modulation layouts verified bit-identical between the two implementations)
  • token_refiner.refiner_blocks.Ntoken_refiner.blocks.N

The PDD head bank (proj_out [32,96,5376], audio_proj_out [32,32,5376] + biases) is kept byte-for-byte unchanged. Conversion is verified bit-identical to what the node pack computes in memory from the original files, and the converter CLI + 13-test suite live in the GitHub repo. Full provenance (source file sha256, transform description) is embedded in each file's safetensors metadata.

Credits

All training credit to alibaba-pai (Apache-2.0 release) and the PDD authors (Shaul et al.); base model by MiniMaxAI. This repo is a format conversion only.