MOSS-Image-SFT GGUF
Paper: MOSS-Image Technical Report | Project Page: OpenMOSS AI
Unofficial GGUF conversions of OpenMOSS-Team/MOSS-Image-SFT, a 5B text-to-image diffusion transformer fine-tuned from MOSS-Image-Base.
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.
Files
| File | Size | Transformer tensor types | SHA-256 |
|---|---|---|---|
MOSS-Image-SFT-Q8_0.gguf |
5.314 GiB | 252 Q8_0, 210 BF16, 1 F32 | 8349EBDD643F2C66DA6B25789DB7DF3CC708A86C051C56207FDE699156BFAD8E |
MOSS-Image-SFT-Q4_K_S.gguf |
3.226 GiB | 206 Q4_K, 46 Q5_K, 210 BF16, 1 F32 | 2AA25EBEFA78AC0AA243E7FB29DC0B8FC47D0367D5161EA87EF753BED130AB1B |
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: Qwen3.5-9B. The documented stable-diffusion.cpp route uses a Qwen3.5-9B GGUF such as
Qwen3.5-9B-Q4_K_M.gguf. - Tokenizer:
tokenizer/tokenizer.jsonfrom the official MOSS checkpoint. It must be passed 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 and VAE are intentionally not duplicated in this repository.
stable-diffusion.cpp
MOSS-Image support is available in stable-diffusion.cpp. Example:
sd-cli.exe `
--diffusion-model MOSS-Image-SFT-Q8_0.gguf `
--llm Qwen3.5-9B-Q4_K_M.gguf `
--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 vast abandoned Art Deco railway concourse transformed into a lush indoor botanical garden, tall arched windows, brass clocks, patterned terrazzo floor, morning sunbeams through mist, tiny visitors for scale, highly detailed architectural photography, natural colors." `
-o moss-sft-q8.png
Add --offload-to-cpu if VRAM is limited. Replace the transformer filename with MOSS-Image-SFT-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 and provides the native MOSS model, encoder, VAE, sampling, and SLG implementations. 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. SFT 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 five controlled 1024×1024 stock-SFT comparisons on an NVIDIA RTX PRO 6000 Blackwell Max-Q. Every render used the same official 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.
| Transformer | DiT parameter memory | Mean sampling time | Mean end-to-end time |
|---|---|---|---|
| Original BF16 Safetensors | 9,694 MiB | 26.34 s | 31.21 s |
| Q8_0 GGUF | 5,442 MiB | 26.35 s | 31.14 s |
| Q4_K_S GGUF | 3,300 MiB | 29.85 s | 34.66 s |
These are five-prompt correctness comparisons, not general performance benchmarks. On this GPU, Q8 closely tracked the BF16 control while cutting the runtime-reported DiT parameter memory by about 44%. Q4 cut it by about 66%, but was slower in these runs and diverged more visibly in composition. Quantization changes the denoising trajectory, so matched seeds are not expected to remain pixel-identical.
Art Deco botanical railway concourse
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Deep-sea research submersible
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Hummingbird and fuchsia blossoms
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Indigo ceramic still life
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Snowy tree-root storybook village
| Original BF16 | Q8_0 | Q4_K_S |
|---|---|---|
Full conversion and validation metadata is recorded in conversion.json and CONVERSION.md.
Choosing a file
- 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. BF16 remains the most mature path for Diffusers, training, and LoRA merging.
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-SFT, snapshot fc5de0d56fc910cbca6f6625a70f5f582b26deb1.
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.