alt.freeweights.image / MOSS-Image-SFT-GGUF
From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.imageSubject:

MOSS-Image-SFT-GGUF

Date: 2026-11-15Commit: 40d3b35Signed: 2DC28CC7B26A283B ✓

Text to image model. Gguf weights, 33.6 GB in all. Published by unsloth under Apache-2.0.

image33.6GBMOSS-Image-SFT-GGUFggufpermissive
FactsParamsnot statedSize33.6 GBFormatsggufTasktext to imageLicenseApache-2.0From sourcepermissive
$ fw get unsloth/MOSS-Image-SFT-GGUF
# manifest sha256 1dd6e4203edd… · 33.6 GB · 15 files
$ fw verify ./MOSS-Image-SFT-GGUF unsloth/MOSS-Image-SFT-GGUF
From sourceHosted (signed)unsloth/MOSS-Image-SFT-GGUFLast check: 2026-11-15 04:35 UTC

Get help: custom fine-tune or private deploy. We review your setup before we quote.

Quantized of MOSS-Image-SFT.

Works with

Convert with

Scan with

Overview

Size
33.6 GB
Weights
2.84 GB (smallest of 7 GGUF variants)
Parameters
not stated
Formats
gguf
Task
text to image
License
Apache-2.0 (permissive)
Files
15, each with a sha256
Publisher
unsloth
Added
2026-11-15
Section
alt.freeweights.image
Lineage

Original release from the publisher.

Base model: OpenMOSS-Team/MOSS-Image-SFT

Where these bytes come from
Publisher at the pinned commit→You

Sources are tried in order. A file counts only when its size and sha256 match the manifest. Sources are checked when you ask for them, not on a timer.

Sources
BadgeHostLast checkResult
From sourcehuggingface.co2026-11-15 04:35 UTCpassed

Model card

From the publisher at commit 40d3b35. Shown as plain text with links; images open at the publisher.

https://github.com/unslothai/unsloth/ https://discord.gg/unsloth https://docs.unsloth.ai/

This is a GGUF quantized version of MOSS-Image-SFT by OpenMOSS, the 5.1B text-to-image transformer.

unsloth/MOSS-Image-SFT-GGUF uses Unsloth Dynamic 2.0 methodology: the UD- files are mixed precision, with each layer's type chosen from a measured sensitivity scan.

Recommended: MOSS-Image-SFT-UD-Q4_K_XL.gguf (3.42 GB) for most machines: LPIPS 0.213 against 0.294 for Q4_K_M. For output closer to bf16 use UD-Q5_K_XL (0.121) or UD-Q6_K_XL (0.106); Q8_0 (0.054) is the closest. On a CUDA GPU, Unsloth Studio defaults to the INT8-ConvRot file in unsloth/MOSS-Image-SFT-FP8 (LPIPS 0.058) instead.

Usage in Unsloth Studio#

Pick MOSS-Image-SFT in the Images tab and choose a GGUF file from this repo. Unsloth Studio runs MOSS-Image GGUFs with its bundled stable-diffusion.cpp engine and downloads the VAE, tokenizer and Qwen3.5-9B text encoder for you. Defaults: 1024x1024, 50 steps, CFG 3, shift 5.

Usage with stable-diffusion.cpp#

hf download unsloth/MOSS-Image-SFT-GGUF MOSS-Image-SFT-UD-Q4_K_XL.gguf --local-dir moss
hf download unsloth/Qwen3.5-9B-GGUF Qwen3.5-9B-Q8_0.gguf --local-dir moss
hf download unsloth/MOSS-Image-SFT-FP8 vae/diffusion_pytorch_model.safetensors tokenizer/tokenizer.json --local-dir moss

./sd-cli --diffusion-model moss/MOSS-Image-SFT-UD-Q4_K_XL.gguf \
  --llm moss/Qwen3.5-9B-Q8_0.gguf \
  --vae moss/vae/diffusion_pytorch_model.safetensors \
  --tokenizer moss/tokenizer/tokenizer.json \
  --cfg-scale 3.0 --steps 50 -H 1024 -W 1024 -s 42 \
  -p "a storefront sign that says \"UNSLOTH\" in bold clean letters, daytime, sharp focus" -o moss.png

Files and accuracy#

LPIPS (alex, lower is better) and SSIM against the bf16 transformer: same prompt, seed, initial noise and bf16 text embeddings, 1024x1024, 50 steps, CFG 3, over 12 prompts (8 general prompts plus 4 held-out ones: a close-up portrait, a storefront sign with text, hands folding origami, a long scene description). A repeated bf16 render scores 0. MOSS-Image is sensitive to tiny numeric changes: changing a single bf16 rounding step in one layer already moves the renders by 0.041 LPIPS on average, so differences near that level are composition shifts rather than quality loss. The GGUF weights were dequantized into the reference pipeline for this table, so it measures only the weights.

Through stable-diffusion.cpp, scored against its own bf16 render on the 4 held-out prompts: Q8_0 0.109, UD-Q4_K_XL 0.188, Q4_K_M 0.347, UD-Q3_K_XL 0.336.

FileSizeBits per weightLPIPS vs bf16 (mean)LPIPS vs bf16 (max)SSIM vs bf16
MOSS-Image-SFT-UD-Q3_K_XL.gguf2.84 GB4.470.2810.4930.713
MOSS-Image-SFT-Q4_K_M.gguf3.20 GB5.040.2940.4660.714
MOSS-Image-SFT-UD-Q4_K_XL.gguf3.42 GB5.380.2130.4120.780
MOSS-Image-SFT-UD-Q5_K_XL.gguf3.95 GB6.220.1210.3580.862
MOSS-Image-SFT-UD-Q6_K_XL.gguf4.53 GB7.130.1060.3540.883
MOSS-Image-SFT-Q8_0.gguf5.48 GB8.630.0540.2020.939
MOSS-Image-SFT-BF16.gguf10.17 GB16.000.0000.0001.000

MOSS-Image-SFT#

Image: MOSS-Image-Base and MOSS-Image-SFT

MOSS-Image-SFT is a supervised fine-tuned text-to-image model in the MOSS-Image family from OpenMOSS, derived from MOSS-Image-Base. It uses the same architecture and inference pipeline, supporting natural-language prompts, tag sequences, and JSON layouts for controlling text placement and object arrangement.

Base vs. SFT#

In this example, SFT produces clearer text grouping and a more organized whiteboard layout.

MOSS-Image-BaseMOSS-Image-SFT
Image: MOSS-Image-BaseImage: MOSS-Image-SFT

Quick start#

Use Python 3.10 or later and an NVIDIA GPU with CUDA support. Install a PyTorch 2.9 or later build compatible with your CUDA environment, then install:

pip install "diffusers>=0.38" "transformers>=5.3" "accelerate>=1.10" "safetensors>=0.6" "Pillow>=10"
import torch
from diffusers import DiffusionPipeline

pipe = DiffusionPipeline.from_pretrained(
    "OpenMOSS-Team/MOSS-Image-SFT",
    custom_pipeline="pipeline_moss_image",
    trust_remote_code=True,
    torch_dtype={"default": torch.bfloat16, "vae": torch.float32},
)
pipe.scheduler = type(pipe.scheduler).from_config(pipe.scheduler.config)
pipe.to("cuda")

prompt = '''A wide view of a refrigerator beside a kitchen counter with a fruit bowl. A small sticky note on the refrigerator door is handwritten in Chinese:
"记得买牛奶和鸡蛋!
牛奶两盒,鸡蛋一打。
顺便带一袋面包。"'''

image = pipe(
    prompt,
    height=1024,
    width=1024,
    num_inference_steps=50,
    guidance_scale=3.0,
    uncond_skip_layers=[22],
    generator=torch.Generator("cpu").manual_seed(42),
).images[0]
image.save("refrigerator_note.png")

The model and custom pipeline code are downloaded and cached automatically. You can also pass a complete local model directory to from_pretrained. The transformer and text encoder use bfloat16; the VAE and initial noise use float32. The bundled VAE uses the FLUX.2 small decoder.

For the Gradio interface, CPU offload, and compilation options, follow the project quick start. For ComfyUI, search for MOSS-Image in ComfyUI Manager to install the native plugin. Integration into the official ComfyUI repository is in progress. See the installation and usage guide and example workflow.

Sampling settings#

SettingDefault
SamplerFlow-matching Euler
Steps50
CFG3
Shift5
Layer skippingNegative branch, layer index 22 (zero-based)
Negative promptEmpty

The default guidance uses two transformer forwards per step. Pass uncond_skip_layers=[] to disable negative-branch skipping, or set negative_prompt to provide a negative prompt. Python API image dimensions must be positive multiples of 16.

See the user guide for resolution, sampling, prompt, and LoRA training recommendations.

Layout-to-image generation#

Pass a JSON layout as the prompt to describe the scene, rendered text, objects, and their positions. Layouts use summary.caption and items, with bbox_format: "yxyx" and bbox_coord_space: "abs_centralized".

With the Python API, serialize the layout using json.dumps(layout, ensure_ascii=False) and pass it to pipe. In Gradio, paste the JSON into the Prompt field and set the matching image dimensions. See the layout format and example.

Layouts can also support controlled editing and user-friendly layout tools. Edit text, element descriptions, and bounding boxes to adjust image content and composition in a structured way.

Image: Layout control

Showcase#

Image: Examples overview

Image: Examples overview 2

Citation#

@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},
}

License and acknowledgements#

The model weights and bundled inference code are released under the Apache License, Version 2.0.

We thank the Diffusers, Qwen, and FLUX teams.

Files

15 files · 33.6 GBWeights 2.84 GB (smallest of 7 GGUF variants). Sizes and sha256 from the signed manifest.
Hide all 15 files with their sha256
FileSizesha256
.gitattributes2.36 KB0487987e8502c6761af8bce63795ae3e177b80a344916cf66aaf66d1fda0f749
LICENSE.md11.4 KBcfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
MOSS-Image-SFT-BF16.gguf10.2 GB3cf74542dcce0d22c6db2fc560bef21699bc2a9d0e19cea41f13592fd4ee7712
MOSS-Image-SFT-Q4_K_M.gguf3.20 GB8ea25e701e8fd1bcede9117288f4d63702b7f8433d200d50cd6b327e4ee2b7b9
MOSS-Image-SFT-Q8_0.gguf5.48 GBf18beeb8c6101a3edaff379acce2bdf9fcc1272dfb4c40530c9070f7a0650458
MOSS-Image-SFT-UD-Q3_K_XL.gguf2.84 GBd232a9b20bc650286035cc81eac42b0332c418c2026d9dc8c8f1f742a96b1583
MOSS-Image-SFT-UD-Q4_K_XL.gguf3.42 GBefe318d6ba48e9012fc650f642f9956e6ea382ee4098a6d7e903455ba2d58f0f
MOSS-Image-SFT-UD-Q5_K_XL.gguf3.95 GB37d6db1e2a696fd862df92c2a1cf0767a1ce99b37582b3118096948fbfe318fd
MOSS-Image-SFT-UD-Q6_K_XL.gguf4.53 GBe88e486eda657c1b383ad258b4b63c0184eb166e4e16b61e9e88dc7a77de2603
NOTICE.md362 B1a27b18d13d1816305888b15e2a02f6f44fbb53052229c5b1c1034ec1d01b7b1
README.md10.4 KB0682917093d7eadae678d41e1d84b819e2b330580e491c120a9088e754267cfe
samples/Q8_0_honeybee.png391 KB0755dd2d083eb88c52991d80f73a9ba0ffb440932ad5d169ec63c9cb31b347b5
samples/Q8_0_knight.png519 KBc9229c909c3bb559d8e4f620b224f143f5ed334bdba917f8b6c23da345920934
samples/UD-Q4_K_XL_honeybee.png426 KB8699f494916d3a2b67accabf64a1285830e38ec2335c89b1f383fcdf3eb7c6a3
samples/UD-Q4_K_XL_knight.png490 KB5c7e76daaee234d84a7101b91aa9a02141d04d6b9946dc642570c24edd624488
VersionsEach time the pinned upstream commit or file list changed in this repo. Newest first.
Upstream commitDateContents
40d3b35cea pinned now2026-11-15 04:35 UTC15 files · 33.6 GB

Use it

$ fw get unsloth/MOSS-Image-SFT-GGUF
# manifest sha256 1dd6e4203edd… · 33.6 GB · 15 files
$ fw verify ./MOSS-Image-SFT-GGUF unsloth/MOSS-Image-SFT-GGUF
fw.pyChecks the signature and every sha256, tries each source in order, resumes.
$ python3 fw.py get https://freeweights.allternit.com/manifests/unsloth/MOSS-Image-SFT-GGUF.json --dir ./MOSS-Image-SFT-GGUF $ python3 fw.py verify ./MOSS-Image-SFT-GGUF ./unsloth__MOSS-Image-SFT-GGUF.json
hfThe Hugging Face CLI with one setting. Same repo id.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/MOSS-Image-SFT-GGUF --revision 40d3b35cea314e6069cd09bd5ac9a4005760b3b1 --local-dir ./MOSS-Image-SFT-GGUF
llama.cppDownload one GGUF variant (MOSS-Image-SFT-UD-Q3_K_XL, 2.84 GB), then serve it.
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/MOSS-Image-SFT-GGUF --include "MOSS-Image-SFT-UD-Q3_K_XL*" --local-dir ./MOSS-Image-SFT-GGUF $ llama-server -m ./MOSS-Image-SFT-GGUF/MOSS-Image-SFT-UD-Q3_K_XL.gguf
OllamaMake an Ollama model from the downloaded file.
$ printf 'FROM ./MOSS-Image-SFT-GGUF/MOSS-Image-SFT-UD-Q3_K_XL.gguf\n' > Modelfile $ ollama create moss-image-sft-gguf -f Modelfile
Packaged for ComfyUI. Most image, video and music models run in ComfyUI . Check the publisher's page for the workflow. Freeweights does not host it.

License

Name
Apache License 2.0
Id
Apache-2.0
Class
Permissive
Redistribution
yes
Listing
Hosted (signed)
Decided
License as declared by the publisher. No person read it. 2026-11-15
Text in
LICENSE.md
Text sha256
cfc7749b96f63bd31c3c42b5c471bf756814053e847c10f3eb003417bc523d30
Terms gate
No extra terms beyond the license.

Read the license text

Licenses are checked against the license table. A custom license passes only after a person reads it.

Provenance

From: unsloth <huggingface.co/unsloth>Newsgroups: alt.freeweights.imageSubject: MOSS-Image-SFT-GGUFDate: 2026-11-15Commit: 40d3b35Signed: 2DC28CC7B26A283B ✓
Upstream
unsloth/MOSS-Image-SFT-GGUF
Pinned commit
40d3b35cea314e6069cd09bd5ac9a4005760b3b1
Manifest
MOSS-Image-SFT-GGUF.json · .minisig
Manifest sha256
1dd6e4203edd06cb8cefb8fe4b976b9124060b8a932d70e64eb74f0dea4ed051
Signature
minisign, Ed25519, key 2DC28CC7B26A283B
Created
2026-11-15 04:35 UTC
Generator
freeweights-manifest/0.1.0
Takedowns
None.

How to verify

$ curl -O https://freeweights.allternit.com/manifests/unsloth/MOSS-Image-SFT-GGUF.json $ curl -O https://freeweights.allternit.com/manifests/unsloth/MOSS-Image-SFT-GGUF.json.minisig $ minisign -Vm MOSS-Image-SFT-GGUF.json -P RWQ7KGqyx4zCLXtUFOqvfv8L3g+8fpKJ1FsuxPyOYMF+4KufbUxKq1Oq $ shasum -a 256 <file> # compare with the Files tab

A manifest whose signature fails must be rejected. A file whose size or sha256 does not match must be discarded. Verify a download

Model tree

Parent

OpenMOSS-Team/MOSS-Image-SFT · this model is a quantization of it

No model in the catalog names this one as its parent.

Get it
Download
$ HF_ENDPOINT=https://freeweights.allternit.com hf download unsloth/MOSS-Image-SFT-GGUF
Open in Freeweights Studio

Pull, verify and run it in the Allternit app on Desktop, web or phone.

Signed manifest
minisign, key 2DC28CC7B26A283B. MOSS-Image-SFT-GGUF.json. Provenance. Takedown history: none.
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Boogu-Image
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Chroma1-HD
From: lodestones <huggingface.co/lodestones>Subject: Chroma1-HD
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: Chroma1-Radiance
From: Comfy-Org <huggingface.co/Comfy-Org>Subject: ERNIE-Image
From: baidu <huggingface.co/baidu>Subject: ERNIE-Image