Model reference · open weights
MOSS-Image-SFT is an open-weight image model from OpenMOSS-Team. MOSS-Image-SFT-FP8 (FP8) weighs 27.2 GB; the smallest configuration that runs it is RTX 4090 24 GB.
For self-hosting, compare this build's requirements below with the GPU you plan to rent.
Summary of the OpenMOSS-Team/MOSS-Image-SFT model card, 2026-10-18. The estimate below is for another build of the family.
What it is
| Released by | OpenMOSS-Team |
|---|---|
| Released | 2026-10-11 |
| Parameters | 5.1B |
| VRAM | 27.2 GB for the weights |
What it runs on
| Card | One image | Memory |
|---|---|---|
| RTX 3060 12 GB … RTX 4060 Ti 16 GB | does not fit | |
| RTX 3090 24 GB | tight (encoders offloaded) | 23.4 GB |
| RTX 4090 24 GB | tight (encoders offloaded) | 23.4 GB |
| RTX 5090 32 GB | fits (encoders offloaded) | 31.0 GB |
| L40S 48 GB | fits | 44.0 GB |
| A100 80 GB | fits | 78.2 GB |
| H100 80 GB | fits | 78.1 GB |
| RTX PRO 6000 Blackwell 96 GB | fits | 93.8 GB |
| DGX Spark (GB10) 128 GB unified | fits | 107 GB |
| H200 141 GB | fits | 138 GB |
| B200 180 GB | fits | 176 GB |
Builds
| Build | Params | Precision | Weights | Smallest setup |
|---|---|---|---|---|
| MOSS-Image-SFT ↗ | 5.1B | BF16 | 27.2 GB | RTX 4090 24 GB |
| MOSS-Image-SFT-GGUF ↗ packaged by unsloth 7 builds: Q3_K_XL 2.8 GB … BF16 10.2 GB the transformer alone, to use with the text encoders and VAE |
GGUF | 3.2 GB | RTX 3060 12 GB | |
| MOSS-Image-SFT-FP8 (above) ↗ packaged by unsloth |
5.1B | FP8 | 27.2 GB | RTX 4090 24 GB |
From the model card
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.
In this example, SFT produces clearer text grouping and a more organized whiteboard layout.
| MOSS-Image-Base | MOSS-Image-SFT |
|---|---|
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.
| Setting | Default |
|---|---|
| Sampler | Flow-matching Euler |
| Steps | 50 |
| CFG | 3 |
| Shift | 5 |
| Layer skipping | Negative branch, layer index 22 (zero-based) |
| Negative prompt | Empty |
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.
The MOSS-Image Prompt Enhancer turns image ideas into detailed captions or spatial Layout prompts. It is designed for GPT-6-family agents with local file and Python tools. The bundled script converts pixel-coordinate drafts into compact JSON with integer centered coordinates; it does not call an image-generation service.
Install the skill folder in your agent's skills
directory, then invoke $moss-image-prompt-enhancer with your image idea, desired
caption or Layout output, and any canvas dimensions. Paste the compiled result
into MOSS-Image's positive prompt; for Layout, use the same generation dimensions.
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.
@misc{mossimage2026,
title = {MOSS-Image},
author = {{OpenMOSS Team}},
year = {2026},
howpublished = {\url{https://github.com/OpenMOSS/MOSS-Image}}
}
The model weights and bundled inference code are released under the Apache License, Version 2.0.
We thank the Diffusers, Qwen, and FLUX teams.
Quoted from the model card on Hugging Face. The full card is behind the Hugging Face link above.
Running it yourself
Rent a machine by the hour. How to run this model is on its model card.