MOSS-Image-Base GGUF
Project page: https://openmoss.ai/MOSS-Image/
Unofficial GGUF conversions of OpenMOSS-Team/MOSS-Image-Base, the 5B base text-to-image diffusion transformer in the MOSS-Image family.
These files contain the diffusion transformer (DiT) only. They still require a Qwen3.5-9B text encoder, the official MOSS tokenizer, and the MOSS / FLUX.2 VAE. They are image-model GGUFs for compatible diffusion runtimes—not text LLMs for Ollama, LM Studio, or llama.cpp text generation.
Which checkpoint should I use? For normal stock MOSS GGUF generation, use MOSS-Image-SFT-GGUF. Use these Base GGUFs primarily to test MOSS LoRAs that were trained for MOSS-Image-Base. The untuned Base checkpoint can produce substantially rougher stock output than SFT.
Files
| File | Size | Transformer tensor types | SHA-256 |
|---|---|---|---|
MOSS-Image-Base-Q8_0.gguf |
5.314 GiB | 252 Q8_0, 210 BF16, 1 F32 | E04C996ED9601C213F19E3F9872DCE80E7A976089C545219C3983F2E5F7E81E7 |
MOSS-Image-Base-Q4_K_S.gguf |
3.226 GiB | 206 Q4_K, 46 Q5_K, 210 BF16, 1 F32 | 2211EF60B17C9DF0306D483737454B1DC7821B7CEDD330AD2E7C3C0D9EF28247 |
Both are GGUF v3 files with 463 tensors and general.architecture=moss_image metadata. Checksums are also provided in SHA256SUMS.
Q4_K_S is mixed precision rather than uniformly Q4. All 42 ffn_down matrices and four early value-projection matrices remain Q5_K; the other main transformer projections are Q4_K. Embedders, normalization, modulation, time-conditioning, and output tensors retain their source precision.
Required components
Use components compatible with the same MOSS-Image pipeline:
- Text encoder: the bundled
text_encoder/model.safetensors.index.jsonfrom the official checkpoint was used for validation. A compatible Qwen3.5-9B GGUF can reduce encoder memory. - Tokenizer:
tokenizer/tokenizer.jsonfrom the official MOSS checkpoint. Pass it explicitly because MOSS uses a different vocabulary from the tokenizer embedded in general Qwen GGUFs. - VAE:
vae/diffusion_pytorch_model.safetensors, the official MOSS / FLUX.2 VAE.
The encoder, tokenizer, and VAE are intentionally not duplicated here.
stable-diffusion.cpp
MOSS-Image support is available in stable-diffusion.cpp. This basic command is a compatibility smoke test for the Base checkpoint; use the SFT GGUF for ordinary generation without a Base-targeted LoRA.
sd-cli.exe `
--diffusion-model MOSS-Image-Base-Q8_0.gguf `
--llm model.safetensors.index.json `
--vae diffusion_pytorch_model.safetensors `
--tokenizer tokenizer.json `
--cfg-scale 3 `
--steps 50 `
--sampling-method euler `
--scheduler discrete `
--flow-shift 5 `
--seed 42 `
--rng cpu `
--sampler-rng cpu `
-W 1024 -H 1024 `
-p "A ruby-throated hummingbird hovering beside vivid magenta fuchsia blossoms, wings frozen with delicate motion blur at the tips, tiny droplets suspended in the air, soft green garden background, high-speed wildlife photography, crisp iridescent feathers, natural morning light." `
-o moss-base-q8.png
Add --offload-to-cpu if VRAM is limited. Replace the transformer filename with MOSS-Image-Base-Q4_K_S.gguf to use Q4. Ready-to-edit PowerShell and Bash examples are included under examples/.
ComfyUI
The official OpenMOSS ComfyUI plugin loads the original Diffusers/Safetensors directory; it does not itself load these GGUF transformer files.
An experimental GGUF route is available through ComfyUI-MOSS-GGUF, together with the official MOSS plugin and ComfyUI-GGUF. In that workflow:
- Load this file with MOSS-Image GGUF Transformer (Rebel) using BF16 compute.
- Load the separate official Qwen3.5 encoder and VAE.
- Apply
ModelSamplingSD3with shift 5 before SLG. - Use negative-branch skip layer
22, 50 steps, CFG 3, Euler, andsgm_uniformfor the native Comfy workflow.
This community GGUF bridge is experimental. Base-model quality parity and every quantization tier have not been comprehensively certified.
Recommended MOSS settings
The official user guide recommends:
| Setting | Recommendation |
|---|---|
| Resolution | About 1M, 1.5M, or 2M total pixels; positive dimensions divisible by 16 |
| Aspect ratio | Arbitrary |
| Steps | 50 or more |
| Sampler | Flow-matching Euler |
| CFG | 3.0; generally 3–6 |
| Shift | 5.0 |
| Guidance | Negative-branch layer skip at zero-based layer 22 |
| Negative prompt | Empty by default |
The model supports natural-language prompts, tag sequences, and JSON layout prompts. English has the most training data, although Chinese and other languages are supported. Structured layouts use centered absolute pixel coordinates and must match the requested output dimensions; consult the official guide for the schema.
Different runtimes do not necessarily produce pixel-identical results from the same seed. The official ComfyUI guide specifically notes that its native scheduler does not use the standalone pipeline's training-grid snapping.
Validation
The original BF16 transformer and both GGUFs completed two matched 1024x1024 smoke tests on an NVIDIA RTX PRO 6000 Blackwell Max-Q. Every render used the same official bundled BF16 Qwen3.5 encoder and FP32 VAE, 30 steps, CFG 3, Euler, the discrete scheduler, flow shift 5, seed 42, and CPU RNG. Only the transformer weights changed.
The timings below are for the second, hummingbird comparison:
| Transformer | DiT parameter memory | Sampling time | End-to-end time |
|---|---|---|---|
| Original BF16 Safetensors | 9,694 MiB | 25.95 s | 30.85 s |
| Q8_0 GGUF | 5,442 MiB | 26.18 s | 31.07 s |
| Q4_K_S GGUF | 3,300 MiB | 29.56 s | 34.45 s |
These are correctness comparisons, not general benchmarks or a recommendation to use untuned Base for stock generation. Q8 closely tracked the BF16 controls while cutting runtime-reported DiT parameter memory by about 44%. Q4 cut it by about 66%, but was slower and diverged more visibly in composition. Quantization changes the denoising trajectory, so matched seeds are not expected to remain pixel-identical.
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Full conversion and validation metadata is recorded in conversion.json and CONVERSION.md.
Choosing a file
- For stock MOSS generation without a LoRA, use MOSS-Image-SFT-GGUF instead of this repository.
- Use these Base GGUFs primarily to test GGUF-capable inference with MOSS LoRAs trained against MOSS-Image-Base.
- Start with Q8_0 when fidelity is the priority and the additional memory is acceptable.
- Use Q4_K_S when storage or transformer memory matters more.
- Use the original BF16 Safetensors checkpoint as the quality reference and for training or LoRA merging.
MOSS-Image-Base is the model family checkpoint intended for fine-tuning. These GGUF files are inference artifacts; train against the original BF16 checkpoint.
Limitations
- Quantized results can lose fine detail, color precision, layout accuracy, or prompt adherence relative to BF16.
- A smaller GGUF does not reduce text-encoder, VAE, or activation memory.
- GGUF is primarily an inference format. Use the original checkpoint for training or merging adapters.
- Runtime support for MOSS GGUF is newer than the official Diffusers and native ComfyUI paths.
- No BF16-equivalence, speedup, or fixed VRAM guarantee is claimed.
Source, license, and citation
Source model: OpenMOSS-Team/MOSS-Image-Base, snapshot 1ceede80badddd6a7812069619edaa5633587192.
The source model weights and bundled inference code are released under the Apache License 2.0. The source license is included as LICENSE. This conversion is unofficial and is not affiliated with or endorsed by OpenMOSS.
@misc{ai2026mossimagetechnicalreport,
title={MOSS-Image Technical Report},
author={MOSI. AI},
year={2026},
eprint={2610.23374},
archivePrefix={arXiv},
primaryClass={cs.CV},
url={https://arxiv.org/abs/2610.23374}
}
Thanks to the OpenMOSS, Diffusers, Qwen, FLUX, stable-diffusion.cpp, GGML/GGUF, and ComfyUI communities.