Downloads · 30 days
4.8K
60% of all-time downloads
joeygambino/MiniMax-H3-comfy-native-fl2va
MiniMax-H3-comfy-native-fl2va is a text-to-video model from joeygambino. Use it when you need video from a text prompt. It is set up for diffusion-single-file. The card lists the license as apache-2.0.
The fl2va half of the comfy-native set. If you want ref2va, it is over here — same formats, same method, different job.
Downloads · 30 days
4.8K
60% of all-time downloads
All-time downloads
7.9K
Public
Repo size
88.6 GB
Likes
2
Public
Click a slice to open those files.
.safetensors88.6 GB · 100%
From the Hugging Face model README
The fl2va half of the comfy-native set. If you want ref2va, it is
over here —
same formats, same method, different job.
Stock ComfyUI 0.32+ loads these directly. No ComfyUI-GGUF, no custom loader
node, no dequantise-on-the-fly. ComfyUI carries its own quantisation system
(comfy/quant_ops.py plus the comfy_kitchen kernels) and these files use it,
so the kernels run in the quantised domain instead of unpacking to bf16 first.
fl2va is the first/last-frame variant. It has no reference rows, so voice
anchoring, the identity bank and reference images do nothing on it. In exchange
it does the one thing ref2va cannot:
it lands on a supplied frame.
Measured against the same target frame:
fl2va — 26.35 dBref2va + keyframe, turbo 6 steps — 16.15 dBref2va + keyframe, stock 20 steps — 16.81 dBThe stock-20-step control rules out the sampler. The checkpoints genuinely
differ, by about 10 dB. ref2va treats a keyframe as a suggestion; fl2va
treats it as the task.
It can also take a first and a last frame and plan a camera move between
them, which ref2va has no mechanism for at all.
So: ref2va when a face or a voice has to persist across shots, fl2va when
a shot has to start exactly where the last one ended. Stepping through a scene
one shot at a time — render, look at it, feed its last frame to the next — is
the case fl2va is built for.
Note this is not a size decision. fl2va and ref2va are byte-identical in size at every quantisation. "Lighter" only ever meant fewer tokens per sampling step, because there are no reference rows riding along.
MiniMax-H3-fl2va-pruned-comfy-nvfp4.safetensors 11.67 GB 4-bit
MiniMax-H3-fl2va-pruned-comfy-w4a8.safetensors 11.68 GB 4-bit
MiniMax-H3-fl2va-pruned-comfy-int8.safetensors 19.53 GB 8-bit
MiniMax-H3-fl2va-pruned-comfy-fp8.safetensors 19.52 GB 8-bit
MiniMax-H3-fl2va-pruned-comfy-mxfp8.safetensors 20.08 GB 8-bit
A file that fits can still run emulated, and nothing in the UI tells you
which you got. ComfyUI prints it at startup — look for the line beginning
Native ops: and check your format is in it.
Emulation is hardware, not a ComfyUI version problem. NVFP4 and microscaling
FP8 are Blackwell tensor-core features; float8_e4m3fn wants Ada or newer. An
Ampere card emulates all three no matter how current ComfyUI is.
nvfp4. Fastest thing here.w4a8. Measured by a user on a 4090 at 17.4 s/it
against 31.0 for fp8 on the same settings — because fp8 at 21 GB does not fit
beside the activation pool on 24 GB and streams weights over PCIe. Native ops
you cannot reach are worth nothing.int8. The 4-bit formats will load and run slowly.Corrected 2026-08-15. This section used to say the formats were all the same quality and that you should take the smallest file your card runs natively. A user measured otherwise and they were right, so here is the accurate version.
What we tested: on the ref2va set, the same scene through w4a8 and int8 at
704x1280 and 20 steps, both reviewed as video. They showed the same defect
classes - garbled text on instrument dials, reflective safety-tape edges that
warp during movement, limb distortion on fast motion, stiff lip sync. That part
still holds, and it is worth knowing: those are characteristics of the base
model at these shapes, not quantisation damage. If you see them, check against a
GGUF or the unquantised model before blaming the quant.
Where that went wrong: "the same defect classes" is not "the same quality", and the review was done by an automated video reviewer that is demonstrably blind to fine texture differences. It was the wrong instrument for the question.
What a user measured by eye, on a 5060 Ti at 0.5 MP, 12 steps, res_multistep/simple:
int8_convrot (8-bit, ~19.5 GB) - good quality, 193sTwo independent 4-bit builds landing on the same verdict is a real result, and ~3% on wall clock is not a trade worth making for it.
So: if an 8-bit build fits your card natively, take it. Reach for 4-bit when 8-bit does not fit, when it would stream weights over PCIe, or when you are at a large enough workload that the format actually shows up in the wall clock - at 0.5 MP over 5 seconds it does not, because load, text encode and VAE dominate.
The one quality line that was always real: 4-bit activations genuinely
damage this model, which is why there is no w4a4 here. 4-bit weights are
usable - just not free.
Honest answer, and it differs from the ref2va set: these were forward-gated, not render-tested. Every build was run through a GPU forward pass on both an attention layer and a feed-forward layer before publication, and all five passed. That catches a format that cannot execute; it does not catch one that executes and looks wrong.
What that inherits from the ref2va set, which was rendered at matched seed and shape:
Same architecture, same 200-layer set, same quantiser, same pruned lineage — so those carry. If you render a fl2va build and it disagrees with any of this, I want to hear about it.
convrot_w4a4 — renders without error and the output is visibly degraded.
It quantises activations to 4 bits; every file here keeps activations at 8.
Instrument text becomes scribble, hi-vis banding dissolves, hands smear.
Caught by render on the ref2va set at seed 4040 against four other builds. It
saves 1.2 GB against w4a8 and costs all of it.float8_e5m2 — loads cleanly, then throws at the first matmul:
"Multiplication of two Float8_e5m2 matrices is not supported". Same on
LTX-2.5. It would ship as a file that appears fine until you sample.Neither was built for fl2va. Both failures are properties of the format rather than of these particular weights, so building 32 GB to quarantine it would have been busywork.
H3's hidden width is 2688, and K-quants need weight rows divisible by 256. 2688 is not, so the whole K-ladder is unavailable for the DiT — which is why the GGUFs of it are Q4_0/Q5_1/Q8_0 and not Q4_K_M. (The encoder is a stock Qwen3-VL and its rows do divide, so that repo has real K-quants. The two are easy to confuse.)
The comfy-native formats have no such constraint, which is part of why this set exists.
The layer SET is mirrored from Comfy-Org's own
minimax_h3_fl2va_pruned_int8_convrot rather than guessed: exactly 200
Linears, being attn.qkv_proj, attn.out_proj, mlp.fc1 and mlp.fc2
across 50 blocks. Everything else stays bf16/fp16 — adaLN, the timestep
embedders, every norm and bias, token_refiner, the patch projections and the
final layer. Those steer every block and rounding them is how a quantised DiT
dies.
Built from the pruned bf16 lineage. That matters arithmetically: on the unpruned lineage adaLN is 38% of the file, and 4-bit lands at 19.9 GB — which the existing GGUF Q4_0 already achieves. Pruned 4-bit lands near 11.7 GB.
Comfy-Org/MiniMax-H3. Two separate VAEs, video
and audio.fl2va ignores voice_ref, self_anchor_voice and the identity bank
entirely. If your workflow depends on those, you want ref2va.convrot_w4a4 (4-bit activations
visibly degrade H3) and float8_e5m2 (loads, then throws at the first
matmul — e5m2 cannot matmul in PyTorch). Both were cut on ref2va evidence
that is not weight-specific, so neither was built here.Apache-2.0, following the base model.