# Image comparison gallery All comparison pictures are actual recorded inference outputs. Each stack contains labeled full frames, identical 1:1 crops and absolute RGB differences amplified eight times. Metrics apply to full-resolution images, not previews. | Comparison | Viewer | Image stack | Native detail crops | |---|---|---|---| | 2K product: BF16 tuning, Q8, Q4, three-pass preview | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product/details.png) | | 2K portrait: native BF16 vs Q8 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait/details.png) | | Same final latent: VAE batches 1, 4, 8, 16 | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/vae/details.png) | | Saved CUDA BF16 vs MLX, product | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/product-cuda/details.png) | | Saved CUDA BF16 vs MLX, portrait | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/portrait-cuda/details.png) | | Saved CUDA BF16 vs MLX, native 4K | [Open](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/index.html) | [Frames](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/stack.png) | [Details](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/native-4k-cuda/details.png) | [The editing demonstration](https://huggingface.co/devin-lai/MiniMax-H3-Image-mlx-examples/blob/v0.4.0/comparisons/edit-example/before-after.png) places the input reference beside the native MLX emerald-glass edit. It is a functional example, not a pixel-similarity comparison. The CUDA comparison uses the original saved RTX 5090 BF16 run with upstream `quality=lossless`. Its hardware and decoder quality setting differ from the MLX native tile recipe. It provides visual context; it does not isolate port error or establish a same-hardware speedup. The default MLX BF16 output is the reference for the quantization/tuning comparisons. Q8, Q4, fused kernels and fewer steps change its pixels. Read the [experiment report](../reports/RESULTS.md) before selecting a profile. Full-resolution Mac outputs and trace tensors are retained locally under `outputs/suite/` (ignored by Git). Source hashes, configuration, memory and timing records are exported under `reports/inference/` and each gallery's `metrics.json`. Original model weights are not included.