Confirm your location and accept the MiniMax-H3-Image Community License
This repository is publicly accessible, but you have to accept the conditions to access its files and content.
The MiniMax-H3-Image Community License Agreement grants rights only outside the Excluded Territories: the European Union, the United Kingdom, the Republic of Korea and the United States of America. Use, reproduction, distribution and outputs inside those territories are not licensed.
Log in or Sign Up to review the conditions and access this model content.
MiniMax-H3-Image, ROCmFPX GGUF
Powered by MiniMax-H3-Image.
Quantized files of MiniMax-H3-Image, MiniMax's text-to-image and image-editing model (6-step distilled, no CFG), for stable-diffusion.cpp. Each file is the diffusion transformer only. The text encoder and the VAE are the usual downloads (see Run).
Licence and territory. MiniMax-H3-Image is distributed under the MiniMax-H3-Image Community License Agreement (
LICENSE,NOTICE). It grants rights only outside the European Union, the United Kingdom, the Republic of Korea and the United States of America. Do not download, use or share these files, or anything generated with them, in those territories. Use must also follow the Acceptable Use Policy inLICENSE. Annualized revenue above 1 million USD or offering the model as a hosted service needs MiniMax's prior written permission.Not made, sponsored or endorsed by MiniMax.
These files have not been tested on AMD hardware yet. Please report speed and quality in the Community tab.
The
ROCMFPXandROCMFP4files need stable-diffusion.cpp built on the ROCmFPX fork of ggml with the small patch in this repo (sdcpp-rocmfpx.patch). TheQ6_KandQ5_Kfiles are stock llama.cpp weight types and load in stable-diffusion.cpp from commit32d516c(MiniMax-H3-Image support) on.
Files
| File | Size | LPIPS | PSNR | SSIM | |
|---|---|---|---|---|---|
MiniMax-H3-Image-Q8_0_ROCMFPX.gguf |
20.8 GB | 0.032 | 31.05 | 0.957 | 8-bit, closest to BF16 |
MiniMax-H3-Image-Q6_K.gguf |
16.6 GB | 0.060 | 25.48 | 0.916 | 6-bit, stock type, our importance matrix |
MiniMax-H3-Image-Q5_K.gguf |
13.9 GB | 0.113 | 22.30 | 0.847 | 5-bit, stock type, our importance matrix |
MiniMax-H3-Image-Q4_0_ROCMFP4.gguf |
11.4 GB | 0.193 | 19.52 | 0.757 | 4-bit, smallest |
Compared with GGUFs already on the Hub and with stock files, measured the same way:
| Not published | Size | LPIPS | PSNR | SSIM |
|---|---|---|---|---|
| Hearthscale Q8_0 | 21.4 GB | 0.041 | 30.34 | 0.945 |
| Stock Q8_0 (stable-diffusion.cpp convert) | 21.4 GB | 0.043 | 30.07 | 0.940 |
| ROCmFPX 6-bit | 16.4 GB | 0.085 | 24.43 | 0.883 |
| Stock Q6_K without importance matrix | 16.6 GB | 0.080 | 24.25 | 0.891 |
| Hearthscale Q5_K_M | 13.9 GB | 0.124 | 21.65 | 0.834 |
| Hearthscale Q4_K_M | 11.4 GB | 0.202 | 18.54 | 0.740 |
| Stock Q4_K, our importance matrix | 11.4 GB | 0.218 | 18.46 | 0.730 |
At every size the files here are closer to BF16 than the Hub GGUFs of the same size. The ROCmFPX 8-bit file is also
0.6 GB smaller than a Q8_0. At 6-bit the stock Q6_K with our importance matrix beat the ROCmFPX 6-bit type, so the
Q6_K is the one here. Abiray's GGUFs could not be compared: they store the output head in a ComfyUI-specific layout
that stable-diffusion.cpp does not load.
How this was measured: 12 prompts (portrait, text on signs, watercolor, still life, animals, aerial, night market and others) at 512x512, seed 1, 6 Euler steps with the MiniMax-H3-Image sigma schedule, rendered with stable-diffusion.cpp on an NVIDIA GB10 GPU after expanding each file to F16, and compared image by image with the same render from the BF16 model. LPIPS is how different two images look to a neural network (lower is better); PSNR and SSIM compare the pixels (higher is better). A 6-step model turns small weight differences into small changes of composition, so these numbers measure how far each file drifts from BF16 rather than how good its images look.
Running the real files on a CPU. The scores above use F16 expansions of the files, so they measure the weights. To check the runtime path too, the real 8-bit and 4-bit files rendered 2 of the prompts on the test machine's ARM CPU:
| File | LPIPS, CPU, real file | LPIPS, same 2 prompts, F16 expansion |
|---|---|---|
Q8_0_ROCMFPX |
0.097 | 0.054 |
| Stock Q8_0 | 0.050 | 0.049 |
Q4_0_ROCMFP4 |
0.199 | 0.185 |
| Stock Q4_K | 0.188 | 0.184 |
On the CPU, the ROCmFPX files drifted further from BF16 than their F16 expansions did, while the stock files did not.
The cause has not been found yet. The CPU dot products themselves are exact integer sums, like stock Q8_0. So if you
run on a CPU, the Q6_K and Q5_K files here, or a stock Q8_0, are the safer choice for now. The ROCmFPX files are
meant for AMD GPUs, where they run on different kernels that have not been tested with this model yet. Two prompts is
a small sample.
How these were made
- Source: Comfy-Org's
minimax_h3_image_pruned_bf16.safetensors(revision892de7c), the file stable-diffusion.cpp's docs use. In it, MiniMax's timestep adaLN network is replaced by a small precomputed table and the six PDD output heads are fused, which is why it is 40 GB instead of the original 66 GB. The Hub GGUFs above are made from the same file. - Importance matrix. 20 renders of 16 calibration prompts (none of them the test prompts) with the BF16 model,
recording the inputs of every linear layer. stable-diffusion.cpp writes the matrix with a
model.diffusion_model.prefix that its own converter does not look up for a stand-alone diffusion file, so without renaming the entries it is silently ignored. The entries were renamed so that the matrix is actually used. - Tensor scales (ROCmFPX files only). ROCmFPX block scales have a lower limit, and many MiniMax-H3-Image weights
are small enough to hit it. Each attention and feed-forward matrix is multiplied by a power of two before it is
quantized, and the inverse is stored as
<name>.weight_scale, which stable-diffusion.cpp already applies after the matrix multiplication. sd-cli -M convert --type <type> --imat-in <matrix>. The 208 attention and feed-forward matrices take the named type. Norms and the small input/output projections stay in F32, the text projection in Q8_0, and the rest as in the source.
Run
git clone https://github.com/HarshaVardhan3002/ROCmFPX
git clone https://github.com/leejet/stable-diffusion.cpp && cd stable-diffusion.cpp
git checkout 32d516c && git submodule update --init --recursive
git apply ../sdcpp-rocmfpx.patch
cmake -B build -DCMAKE_BUILD_TYPE=Release -DSD_USE_UPSTREAM_GGML=ON -DSD_GGML_SOURCE_DIR=$PWD/../ROCmFPX/ggml -DGGML_VULKAN=ON
cmake --build build -j --target sd-cli
Text encoder qwen3vl_32b_minimax_h3-Q4_K_M.gguf and VAE
minimax_h3_image_vae_fp16.safetensors:
build/bin/sd-cli -M img_gen --diffusion-model MiniMax-H3-Image-Q8_0_ROCMFPX.gguf \
--llm qwen3vl_32b_minimax_h3-Q4_K_M.gguf --vae minimax_h3_image_vae_fp16.safetensors \
--cfg-scale 1.0 --sampling-method euler --steps 6 --sigmas minimax-h3-image -W 1024 -H 1024 -o out.png \
-p "A shop sign that reads 'OPEN LATE' above a small blue door, rainy street, reflections on wet cobblestones."
See stable-diffusion.cpp's MiniMax-H3-Image guide for image editing.
Credits and license
- Model: MiniMaxAI/MiniMax-H3-Image, MiniMax-H3-Image Community License Agreement.
- Pruned BF16 file: Comfy-Org/MiniMax-H3-Image.
- Runtime: stable-diffusion.cpp by leejet.
See LICENSE and NOTICE.
- Downloads last month
- -
4-bit
6-bit
8-bit