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 in LICENSE. 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 ROCMFPX and ROCMFP4 files need stable-diffusion.cpp built on the ROCmFPX fork of ggml with the small patch in this repo (sdcpp-rocmfpx.patch). The Q6_K and Q5_K files are stock llama.cpp weight types and load in stable-diffusion.cpp from commit 32d516c (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

  1. Source: Comfy-Org's minimax_h3_image_pruned_bf16.safetensors (revision 892de7c), 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.
  2. 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.
  3. 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.
  4. 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

See LICENSE and NOTICE.

Downloads last month
-
GGUF
Model size
20B params
Architecture
Hardware compatibility
Log In to add your hardware

4-bit

6-bit

8-bit

Inference Providers NEW
This model isn't deployed by any Inference Provider. ๐Ÿ™‹ Ask for provider support

Model tree for Harsha001/MiniMax-H3-Image-ROCmFPX

Quantized
(27)
this model