MiniMax H3 Super Acceleration on Turing (sm_75)
NVIDIA's MiniMax H3 Super Acceleration pipeline β MiniMax-H3 drafts small, LTX-2.5 spends three steps refining it β running on a 2018 GPU. Everything here was developed and measured on a modified RTX 2080 Ti 22 GB (compute capability 7.5).
The configuration is NVIDIA's own Sol-H3 Spark line, unchanged: a 672Γ384 draft, 124 frames, four steps, three refine steps, out at 1344Γ768 and 5 seconds of 24 fps. Only the hardware is different.
The quantization formats on Blackwell do not carry back this far, and three of the failures on
the way are completely silent. TURING.md is the working document: what to change, why each
change is mandatory, and which explanations turned out to be wrong.
For an Ampere or newer card, use NVIDIA's own pipeline or the NVFP4 weights in coolthor/MiniMax-H3-pruned-NVFP4. None of this applies to you.
Measured
| seconds | |
|---|---|
| First run after restarting ComfyUI | 190 (twice, 190.1 both times) |
| Cold, weights read from disk | 178 |
| Warm, models resident, new seed | 165 (median of 3, 1.1 s spread) |
| Model loading, the cold/warm difference | 13 |
The first row is the one you will hit first: restarting ComfyUI throws away Triton's kernel cache, so SageAttention's six kernels recompile β about 12 s, paid once per ComfyUI process.
Output is 1344Γ768, 121 frames, 24 fps, 5.04 s, with audio. Draft is 672Γ384 at 4 steps; refine
is 3 steps at sigma 0.78, 0.643, 0.546, 0.
For scale: NVIDIA runs this same configuration on one DGX Spark in 56 s. The 6.852 s on the GB200 page belongs to a different line β a 896Γ512 draft β and that figure sums two separately measured stages with model loading and warmup excluded, so it is not a wall clock like the numbers above. The point of this repo is that the pipeline runs at all on a card from 2018.
Environment: Linux, ComfyUI 0.31.0, torch 2.6.0+cu124, triton 3.2.0, sageattention 1.0.6,
comfy-kitchen 0.2.28, --use-sage-attention --reserve-vram 2 --disable-pinned-memory,
128 GB system RAM, weights on ext4 NVMe measured at 2.3 GB/s.
β οΈ That version set is not incidental. comfy-kitchen 0.2.31 will not import under torch 2.6
(infer_schema rejects the list[int] annotation in backends/eager/na.py), and torch is what
sageattention 1.0.6 and triton 3.2.0 are pinned against. The findings here hold for the stack a
Turing card can actually run, which is this one.
Contents
| Path | |
|---|---|
TURING.md |
The working document. Five departures, five dead ends, all with the measurement behind them. |
workflows/minimax-h3-ltx-two-stage-turing-sm75.json |
31-node ComfyUI graph. Drag it in. Rebuilt 2026-09-16 without the Spectrum node β see below. |
custom_nodes/ComfyUI-LTXV-Turing-FP16/ |
Startup adapter. Adds fp16 to LTXV.supported_inference_dtypes, and only on sm_75. |
scripts/bf16_to_fp16.py |
bf16 β fp16 converter that preserves safetensors header metadata. ComfyUI's VAELoader needs it. |
diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors |
19.53 GiB. Stage 1. Native INT8 path on sm_75. |
text_encoders/qwen3vl_32b_heretic_convrot_w4a4.safetensors |
13.20 GiB. ConvRot W4A4 requantization of the Heretic conditioning encoder β 24.55 GiB down to 13.20, and it loads completely on a 22 GB card. |
loras/minimax_h3_fl2v_turbo_4step_v0.1_768p_sla_comfyui_bf16.safetensors |
1.82 GiB. The 4-step turbo LoRA the draft stage runs on. |
vae/minimax_h3_video_vae_fp16.safetensors |
4.85 GiB. H3 video VAE. |
vae/minimax_h3_audio_vae_fp32.safetensors |
0.56 GiB. H3 audio VAE. |
conditioning_cache/ltx_generic_refine.cond |
434 KiB. Precomputed refine conditioning for node 32. |
The LTX-2.5 side is not redistributed here. Get the GGUF refiner from
agosh/LTX-2.5-Comfy-GGUF and the VAEs from
Lightricks/LTX-2.5; TURING.md has the commands and
explains why the refiner has to be the GGUF build on this card.
Start here
hf auth login # both this repo and Lightricks/LTX-2.5 are gated
hf download coolthor/H3-Super-Acceleration-Turing --local-dir . TURING.md && cat TURING.md
Everything the workflow needs from the H3 side, in one call:
hf download coolthor/H3-Super-Acceleration-Turing --local-dir ComfyUI/models \
diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors \
text_encoders/qwen3vl_32b_heretic_convrot_w4a4.safetensors \
loras/minimax_h3_fl2v_turbo_4step_v0.1_768p_sla_comfyui_bf16.safetensors \
vae/minimax_h3_video_vae_fp16.safetensors \
vae/minimax_h3_audio_vae_fp32.safetensors \
conditioning_cache/ltx_generic_refine.cond
Licence
The H3 weights and everything derived from them are under the MiniMax-H3 community licence, which excludes the EU, the UK, South Korea and the United States. That restriction travels with the weights, which is why this repo is gated. The documentation, the workflow JSON, the startup adapter and the conversion script are mine and carry no such restriction β take them.
Removed 2026-09-16: the Spectrum node
Earlier revisions of this workflow carried SpectrumApplyMiniMaxH3, which meant installing
ComfyUI-Spectrum-MiniMax-H3 as a third node pack, and a sixth departure telling you to set
bootstrap_first_forecast: false on it. All three are gone.
The node was configured with warmup_steps = 5 and the draft runs 4 steps, so it never
finished warming up and never forecast anything. With debug on it says so itself:
actual_steps=4 forecast_steps=0 phase_counts=model:a4/f0
actual_transformer_calls=4 forecast_calls=0 bypassed_steps=0
This is not a speedup. Measured warm, n=3 each on this card: 165.0 s with it, 165.0 s without.
On an RTX 5090 (interleaved, n=6 pairs) 22.96 s against 22.37 s, a 0.59 s difference with a
per-arm standard deviation of 2.88 s β noise. It was removed because it costs you a node pack and
looks load-bearing when it is not. The graph went from 32 nodes to 31, and the departures in
TURING.md from six to five. TURING.md has the longer write-up.
Credit for spotting the mechanism goes to a reader.
Made by Thor Lin. Full benchmarks, setup notes and the runs that failed are on ai-muninn.com. More quantized models: huggingface.co/coolthor.
Provenance
This section documents release abaa5fba525bd5c35857bbc04f2a6516b816e4e8, inspected on 2026-11-14. Where the exact upstream commit used at build time is unknown, it is listed as not recorded rather than backfilled with today's upstream HEAD.
Source lineage
| Source repository | Revision used for this build | Role |
|---|---|---|
| Comfy-Org/MiniMax-H3 | not recorded | Documented H3 INT8-ConvRot/pruned repack lineage from local records |
| MiniMaxAI/MiniMax-H3 | not recorded | Original H3 model lineage |
| lightx2v/Minimax-h3-Turbo-SLA | not recorded | FL2V turbo LoRA lineage |
Build details
Tools and versions: H3 INT8-ConvRot packaging; Heretic encoder ConvRot W4A4 conversion; bf16_to_fp16.py helper. Build-time quantizer identities/versions and exact invocations not recovered. The cardβs ComfyUI/torch versions describe inference, not proof of quantizer version.
The package includes a pruned H3 INT8-ConvRot transformer, a Heretic Qwen3-VL-32B encoder requantized to ConvRot W4A4, a separate turbo LoRA and video/audio VAEs. The exact per-file upstream mapping remains incomplete. The LTX-2.5 refiner/VAEs are external workflow dependencies and are not redistributed in this repository.
The recovered coolthor records describe conversion and packaging, with no additional training or stored-weight merge documented. The upstream encoder is already abliterated, and a separately trained turbo LoRA is bundled for runtime use; neither is evidence that these are untouched original MiniMax weights.
Exact build command: not recorded in the recovered material. The method description above is not a complete executable reproduction recipe.
Weight file SHA-256 checksums
The values below are Hugging Face LFS object SHA-256 values for the pinned release above. The public tree endpoint masks LFS digests for this gated repository; the hashes below come from the public revision-specific model metadata endpoint. File sizes agree with the pinned tree, but a second public digest source was unavailable. They identify full file contents, not LFS pointer text or Git blob IDs. Calibration imatrices are included when present.
| File | Bytes | SHA-256 |
|---|---|---|
diffusion_models/minimax_h3_fl2va_pruned_int8_convrot.safetensors |
20970379616 | e889202c41dafb67b10d67b97f0d8541508036a6090af23425a5c2615d03c47a |
loras/minimax_h3_fl2v_turbo_4step_v0.1_768p_sla_comfyui_bf16.safetensors |
1956192992 | 5cae6df40a06ea825f85fc8876c9ea1c9692c833a9af07bb8b3bac9ce2a71bac |
text_encoders/qwen3vl_32b_heretic_convrot_w4a4.safetensors |
14173727809 | e2db771080b1d3983791c69dfe465650eed9c9e44b2839d5574d4d1a48c680ba |
vae/minimax_h3_audio_vae_fp32.safetensors |
605254808 | 8e505d95dd1561d47abd43d4238fd40d9bb1ae9e147ed0a4cba778d76ae4db48 |
vae/minimax_h3_video_vae_fp16.safetensors |
5207808496 | 7c1f131492e7eddacaac9069a61b81bdd39de5cc96561e677c5eab1cdce5e522 |
Verifying the files
Download the desired files from revision abaa5fba525bd5c35857bbc04f2a6516b816e4e8 and compare sha256sum <file> (Linux) or shasum -a 256 <file> (macOS) with the table. If cloning with Git LFS, hash the downloaded weight files, not the LFS pointer files. A matching hash confirms your files match this release; it does not prove the weights came only from the listed base model with no other changes.
Checking how the weights were derived requires the exact upstream commit, tool versions, recipe and any calibration or training data, then re-running the build and diffing the weights with a format-aware tool (or comparing file hashes where serialization is deterministic). Because of the gaps listed below, this build can't be reproduced exactly today. Quantized files are expected to differ numerically from BF16 sources, and a raw file hash cannot establish a base-to-quant weight diff. No quantization rerun or weight-diff audit was performed for this provenance review.
Known gaps: Build-time upstream commits for all bundled sources; Exact encoder/VAE source mapping; Build-time quantizer versions and commands.
Sources: existing model card and HF metadata.