MOSS-Image-SFT β INT8 / W4A8 ConvRot (ComfyUI)
Single-file, ComfyUI-ready quantization of OpenMOSS-Team/MOSS-Image-SFT (code and docs: OpenMOSS/MOSS-Image). All credit for the model goes to OpenMOSS; this repo only re-packages the weights.
| Component | Format | Size | Original |
|---|---|---|---|
| Diffusion model (DiT, 42 blocks) | INT8 ConvRot | 5.41 GB | 10.16 GB (bf16) |
| Text encoder (Qwen3.5-9B) | W4A8 GPTQ ConvRot | 5.43 GB | 16.79 GB (bf16) |
VAE (AutoencoderKLFlux2) |
bf16 | 125 MB | 250 MB (fp32) |
File layout
MOSS-Image-SFT-INT8-W4A8-ConvRot/
βββ diffusion_models/
β βββ moss_image_sft_int8_convrot.safetensors # 5.41 GB
βββ text_encoders/
β βββ qwen3.5_9b_moss_image_sft_w4a8_gptq.safetensors # 5.43 GB
βββ vae/
β βββ moss_image_vae_bf16.safetensors # 125 MB
βββ assets/ # comparison images
Drop each file into the matching folder of your ComfyUI models/ directory.
Usage (ComfyUI)
- Install the official node pack from the
MOSS-Image ComfyUI guide
(copy
comfyui/moss-imageintocustom_nodes/). ComfyUI needs comfy-kitchen quantized-op support; the quantization type is auto-detected from the files. - Load with the plugin's single-file loaders:
- MOSSImageUNETLoader β
moss_image_sft_int8_convrot.safetensors - MOSSImageCLIPLoader β
qwen3.5_9b_moss_image_sft_w4a8_gptq.safetensors - VAELoader β
moss_image_vae_bf16.safetensors
- MOSSImageUNETLoader β
- Use the official SFT sampling settings: Euler, 50 steps, CFG 3,
ModelSamplingSD3shift 5, uncond skip-layer 22.
Tested end-to-end in stock ComfyUI on an 8 GB RTX 3060 Ti (β210 s for 1024Γ1536, 50 steps).
How it was made
- DiT: all 252 block linears (
layers.N.proj.{q,k,v,o,ffn_up_gate,ffn_down}) quantized to INT8 with a group-Hadamard (size 256) ConvRot rotation and per-output-channel scales. Embedders, modulation, final layers and norms are kept in original precision. - Text encoder: the 200 body linears (attention / linear-attention / MLP) quantized to 4-bit weights (group 16, fp8 relative scales) with 8-bit activations, using GPTQ run in the rotated basis. Calibration used the model's real chat template on the official example prompts and negatives plus public prompt datasets. Embeddings and the vision tower are INT8 ConvRot; everything else is unchanged.
- VAE: plain fp32 β bf16 cast.
Quality check
50 steps, official sizes, same seed, cfg 3. Left β right in each strip: original bf16 pipeline Β· bf16 VAE Β· INT8 DiT Β· everything quantized (INT8 DiT + W4A8 text encoder + bf16 VAE).
- bf16 VAE vs. fp32 decode: ~54 dB PSNR (visually identical).
- Quantized DiT / full stack diverge in fine detail over the 50-step trajectory (PSNR 19β27 dB vs. the original output), but composition, identity, style, lighting and rendered text are preserved.
- Text-encoder
last_hidden_statecosine vs. bf16: β 0.996 (mean over tokens, first example prompt).
Limitations: only three prompts were compared visually; the original model card recommends an fp32 VAE, which is the safest choice if you see banding. Results in ComfyUI's sampler will not match the diffusers pipeline pixel for pixel.
Checksums (SHA-256)
ffd98820ac8f0f57c48386bd98852720de50c3acb502f73fd641d0cd9df6d0af moss_image_sft_int8_convrot.safetensors
b5f31a430e4912decb152f3a0761350f52282176823b597edd43b2e3f6403da4 qwen3.5_9b_moss_image_sft_w4a8_gptq.safetensors
81a27c7135775f149648fa35a58eec6d78a3e6a9bb9273885b51895cbc212d5d moss_image_vae_bf16.safetensors
License & attribution
Apache-2.0, same as the original. Original model, architecture and pipeline Β© OpenMOSS-Team (MOSS-Image-Base, MOSS-Image-SFT, technical report). This repo is an unofficial community quantization and is not affiliated with OpenMOSS.
Model tree for nif0/MOSS-Image-SFT-ComfyUI
Base model
OpenMOSS-Team/MOSS-Image-Base

