FastH3 OmniRef 8-step: mixed W4A8 / W6A8 GPTQ for ComfyUI (experimental)

Low-bit conversions of the FastH3 OmniRef 8-step student (video + audio generation from a prompt and optional image, video and audio references) for native ComfyUI.

Source checkpoint: fasth3_omniref_8step_pruned_bf16.safetensors from FastVideo/FastH3-OmniRef-Comfy.

Two versions with the same layout and size, differing only in calibration:

  • v1: calibrated with dense attention.
  • v2: calibrated with Video Sparse Attention (VSA) enabled, the sparse attention path the model was trained for. Almost every quantized layer (248 of 258) got GPTQ, including all VSA gate layers.

Experimental. GPU output quality has not been checked against the bf16 or INT8 files on real generations. Compare against them before relying on these files.

Files

file size format calibration
diffusion_models/fasth3_omniref_8step_w4a8gptqmixed.safetensors (v1) 13.70 GiB (β‰ˆ 14.7 GB) mixed W4A8 / W6A8 + INT8, GPTQ dense attention, 3 prompts
diffusion_models/fasth3_omniref_8step_w4a8gptqmixed2.safetensors (v2) 13.70 GiB (β‰ˆ 14.7 GB) mixed W4A8 / W6A8 + INT8, GPTQ VSA, 6 prompts

For comparison: bf16 is 44.2 GB and Comfy-Org's INT8 ConvRot is 22.2 GB. These files are about 67 % smaller than bf16 and 34 % smaller than INT8.

Which to use: v2 if you run the Model Sparse Attention (VSA) node; v1 for dense attention.

The text encoder and VAEs are not included. Use the ones from FastVideo/FastH3-OmniRef-Comfy:

ComfyUI/models/
β”œβ”€β”€ diffusion_models/
β”‚   β”œβ”€β”€ fasth3_omniref_8step_w4a8gptqmixed.safetensors    (v1)
β”‚   └── fasth3_omniref_8step_w4a8gptqmixed2.safetensors   (v2, VSA)
β”œβ”€β”€ text_encoders/
β”‚   └── qwen3vl_32b_minimax_h3_int8_convrot.safetensors   (or bf16 / nvfp4_awq)
└── vae/
    β”œβ”€β”€ minimax_h3_audio_vae_fp32.safetensors
    └── minimax_h3_video_vae_fp16.safetensors              (or int8_convrot)

Usage

Load with ComfyUI's Load Diffusion Model node. The quantization settings are stored in the file's native _quantization_metadata, so no custom loader is needed.

Use the source model's recipe:

  • 8 forwards, guidance 1;
  • video shift 12, audio shift 3;
  • the native MiniMaxH3ReferenceToVideo node for references (<Picture 1>, <Video 1>, <Audio 1> tags in the prompt).

v2 with VSA: add the Model Sparse Attention node after ModelSamplingMiniMaxH3, with the settings v2 was calibrated with:

setting value
method vsa
keep_percent 10
start_percent / end_percent 0.00 / 1.00
min_tokens 12288
extra_tokens 256
sink_condition exact_kv_and_rows

Requirements: ComfyUI with MiniMax H3 support and comfy-kitchen β‰₯ 0.2.37 (W6A8 support), ComfyUI v0.38.0 or newer.

Conversion details

Converted with the Video GPTQ node of ComfyUI-INT8-Fast (fork). Both versions use the same layout.

What was compressed:

part layers format
transformer blocks 0–33 (attention qkv / out / gate, MLP fc1 / fc2) 170 W4A8: 4-bit codebook weights, groups of 16
transformer blocks 34–49 (the last 16 of 50) 80 W6A8: 6-bit weights, groups of 16
token refiner (2 blocks) 8 INT8 ConvRot, as in Comfy-Org's INT8 recipe
32 output heads, AdaLN curve and modulation, patch projections, condition projection, norms β€” kept at source precision (bf16 / fp32)

The output heads use the native first-head-plus-offset layout, so they're deliberately left unquantized.

How the rounding was done:

  • All quantized layers use ConvRot (Hadamard rotation, group 256) and dynamic 8-bit activations at runtime.
  • Weights were optimized with GPTQ (arXiv:2210.17323), act-order on, dampening 0.03, a 4096-token sample per call.
  • Held-out check: alternate calls form a validation set, and any layer where GPTQ did worse than plain rounding keeps plain rounding.

Calibration:

v1 v2
attention during calibration dense VSA (settings above)
prompts 3 text-to-video-with-audio prompts 6 prompts: dialogue in two languages, on-screen text, live music, nature and weather, fast motion
steps / shift 8 / 12 8 / 12
resolution β€” 1344Γ—768, 73 frames
passes 4, sequential 4, sequential

Per-layer results:

v1 v2
GPTQ 198 layers 248 layers (including all 50 VSA gate layers, to_gate_compress)
plain rounding, kept by the held-out check 2 (token refiner) 2 (token refiner)
plain rounding, not reached by calibration 58 (blocks 0–1 and every to_gate_compress) 8 (attention and MLP of blocks 0–1)

Measured error

Per layer: GPTQ lowered the average layer output error compared with plain rounding on the same layout:

  • v1: 4.35 % β†’ 1.74 % (about 60 % less);
  • v2: 3.60 % β†’ 1.46 % (about 59 % less).

End-to-end prediction error vs bf16, per sampling step. Both models get the same input at each step; one prompt, one call per step. v1 is measured with dense attention against bf16; v2 with VSA on against bf16 + VSA.

step noise level (Οƒ) v1 error (rel-RMSE) v1 direction match (cos) v2 error (rel-RMSE) v2 direction match (cos)
1 1.000 8.3 % 99.66 % 10.9 % 99.41 %
2 0.988 16.0 % 98.73 % 23.2 % 97.32 %
3 0.973 20.1 % 97.97 % 19.6 % 98.07 %
4 0.952 13.9 % 99.03 % 13.2 % 99.13 %
5 0.923 11.2 % 99.37 % 11.8 % 99.30 %
6 0.878 7.1 % 99.75 % 9.3 % 99.57 %
7 0.800 4.9 % 99.88 % 6.9 % 99.76 %
8 0.632 2.5 % 99.97 % 3.6 % 99.94 %

The error peaks in the early high-noise steps, where layout and motion are decided, and falls quickly as detail is refined. Expect fine detail close to bf16 and possible differences in composition and motion. These numbers come from a single prompt and one model call per step, so treat them as indicative.

v1 and v2 measure different attention paths, so their columns aren't a quality comparison. With VSA, small rounding differences can change which video regions are attended to, which raises the measured error a little at the same weight quality. v2's lower per-layer error and full calibration of the VSA gate layers make it the better match for VSA inference.

layout model method bits/weight file size output relL2 vs bf16 (8-step avg)
bf16 (source) FastH3 OmniRef 8-step β€” 16 41.2 GiB (44.2 GB) 0 (reference)
INT8 ConvRot (Comfy-Org) FastH3 OmniRef 8-step RTN 8 20.7 GiB (22.2 GB) not measured
v1: W6A8 blocks 34–49, rest W4A8 (g16), token refiner INT8 FastH3 OmniRef 8-step GPTQ (dense calibration) β‰ˆ 5.14 13.70 GiB (14.7 GB) 0.105 (dense attention)
v2: W6A8 blocks 34–49, rest W4A8 (g16), token refiner INT8 FastH3 OmniRef 8-step GPTQ (VSA calibration) β‰ˆ 5.14 13.70 GiB (14.7 GB) 0.123 (VSA, vs bf16 + VSA)

Limitations

  • Experimental conversions; end-to-end video and audio quality has not been validated.
  • Calibration used the converter's plain euler sampler rather than the model's native 8-step PDD grid.
  • v1: calibrated on only 3 prompts with dense attention. Blocks 0–1 and the attention gate layers were not reached by calibration and use plain rounding.
  • v2: calibrated for VSA at the settings above. Dense attention should also work, but it wasn't the calibration target. The attention and MLP layers of blocks 0–1 use plain rounding.
  • No plain-rounding (RTN) or INT8 baseline was measured with the same settings, so the error numbers have no direct comparison yet.

License

The model weights are subject to the MiniMax-H3 Community License. See the source repositories for the original model and conversion tooling licenses.

Downloads last month
1,549
Inference Providers NEW
This model isn't deployed by any Inference Provider. πŸ™‹ Ask for provider support

Model tree for tsolful/FastH3-Omni-Comfy-INT4mixed-INT6GPTQ

Paper for tsolful/FastH3-Omni-Comfy-INT4mixed-INT6GPTQ