- moss-image.com
- LoRA training
Training and using MOSS-Image LoRAs
Which checkpoint to train on, the four training toolkits that support MOSS-Image, how much VRAM they need, how OpenMOSS captions its data, and the community LoRAs worth knowing.
Train MOSS-Image LoRAs on the Base checkpoint, keep the text encoder frozen, and caption your images the way the model was trained. Four open toolkits support MOSS-Image today, and community LoRAs already fix banding, speed up sampling and add editing.
Base or SFT?
OpenMOSS released Base without post-training or CFG distillation precisely so the community could fine-tune it: it preserves the full training distribution. Train on Base unless you specifically want to adapt SFT’s curated look. LoRAs trained on one checkpoint are not guaranteed to transfer cleanly to the other.
Training toolkits
KohakuMossTrainer
KohakuMossTrainer, released 18 October 2026, supports full fine-tuning and LyCORIS training (including LoRA) for both Base and SFT.
- Adapter training from about 6 GB of VRAM, with CPU offloading.
- Mixed precision: BF16, FP16, FP8, MXFP8 and INT8.
- Multi-GPU: DDP, FSDP and pipeline parallelism.
- Windows and Linux; NVIDIA GPUs from SM70 to SM120, plus Intel Arc.
- Wide optimizer support and optimized kernels.
DiffSynth-Studio
ModelScope’s DiffSynth-Studio supports full fine-tuning and LoRA training for Base and SFT, with training documentation and example scripts. A good fit if you already use DiffSynth or download from ModelScope.
Kohya sd-scripts
sd-scripts added MOSS-Image LoRA training on 18 October 2026 with moss_image_train_network.py and a training guide. It reads the ComfyUI single-file checkpoints directly. Use ConvRot INT8 (--convrot_int8, --convrot_int8_text_encoder) instead of fp8, which is not supported. Its own measurements (1024 × 1024, batch 1, LoRA dim 16, gradient checkpointing, cached latents and text-encoder outputs, on an RTX PRO 6000):
| Setup | Peak GPU memory while training | CPU RAM |
|---|---|---|
| bf16 DiT + bf16 text encoder | 13.2 GB | 17.2 GB |
| ConvRot INT8 DiT + text encoder | 9.1 GB | 9.9 GB |
INT8 + --blocks_to_swap 20 | 6.9 GB | 14.0 GB |
Startup briefly needs more (up to 15.3 GB in bf16) while the text encoder caches its outputs.
Ostris AI Toolkit
AI Toolkit added MOSS-Image Base and SFT on 16 October 2026, including training for the SFT edit variant.
Rules from OpenMOSS
- Keep the text encoder frozen. Do not fine-tune Qwen3.5-9B.
- Caption like the training data. MOSS-Image learned from long, literal captions that transcribe visible text exactly and describe its layout.
- Simple SFT goes a long way. OpenMOSS reports that plain supervised fine-tuning on Base can unlock new abilities, such as GIF and reference-based generation, in their experiments.
The official captioning recipe
OpenMOSS shares the recaptioning prompt it uses. It asks a vision-language model to return one JSON object with three caption lengths, watermark boxes and border flags. The key rules:
caption.long: describe composition, subjects, setting, colors, lighting and style, and transcribe visible text exactly — no translating or normalizing — including line breaks, order, alignment, size hierarchy and font style.caption.medium: one paragraph.caption.short: one sentence.- Never describe watermarks in captions; record them separately as normalized 0–1000 boxes.
For the captioning model, OpenMOSS recommends Gemma 4, Qwen 3.5 27B or Qwen 3.5 35B-A3B, with thinking mode enabled for accuracy. Read the full prompt in the user guide.
A practical starting checklist
- Collect consistent, high-resolution images (at least 1 MP), cropped to the aspect ratios you plan to generate.
- Caption them with the recipe above; for text-heavy designs, check that every visible word is transcribed exactly.
- Train on Base with the text encoder frozen. Start with a modest rank and learning rate and save checkpoints often.
- Test at the official sampling settings — 50 steps, CFG 3, shift 5, skip layer 22 — before changing anything else.
Community LoRAs and weights
| Project | What it does | Notes |
|---|---|---|
| MOSS-Image-SFT-8-steps-dmd | Distills SFT to 8 steps, no CFG | Work in progress; ComfyUI LoRA at strength 1 (or lora_latest at 0.7) |
| MOSS-Image-SFT-DeBand | Reduces vertical color banding on SFT | Includes ComfyUI presets; may alter fine detail |
| MOSS-Image-FP16-fixed | FP16-safe weights for Base and SFT | Diffusers and ComfyUI formats |
Using a LoRA in ComfyUI
Put the LoRA in models/loras, add a LoraLoaderModelOnly node between the diffusion model loader and the sampler inside the MOSS-Image subgraph, and set the strength the author recommends. See the ComfyUI guide for the base workflow.
Tool capabilities are as stated by each project’s documentation on 26 October 2026. We have not benchmarked them.
Questions
Should I train a MOSS-Image LoRA on Base or SFT?
OpenMOSS recommends Base for fine-tuning and LoRA training: it has no post-training or CFG distillation, so it keeps the full training distribution. The training toolkits below can also train SFT.
How much VRAM do I need to train a MOSS-Image LoRA?
Plan for 8–12 GB. Kohya sd-scripts measured 13.2 GB at bf16, 9.1 GB with ConvRot INT8 weights and 6.9 GB with INT8 plus block swapping (1024 × 1024, batch 1, cached text-encoder outputs). KohakuMossTrainer says adapter training starts at about 6 GB with CPU offloading. Less VRAM means slower steps.
Should I fine-tune the text encoder?
No. OpenMOSS explicitly advises keeping the Qwen3.5-9B text encoder frozen when post-training MOSS-Image.