MOSS-Image-Edit-HQ
🚀 v3 is out —
armV3is live. Trained on ConceptEdit-12M (the dataset behind chinoll's LoRA) with quality + locality-purity filtering. Head-to-head vs chinoll/Moss-Image-Edit on 15 real portraits — full grids below, judge them yourself. Download:weights/armV3/armV3.safetensors(ai-toolkit format, loads natively in ComfyUI) ·armV3-moss-edit-lora.safetensors(ComfyUI plugin format) · Try the demo Space · Blind eval grid below.
An open effort to build an instruction-based image-editing LoRA for OpenMOSS-Team/MOSS-Image-SFT that beats chinoll/Moss-Image-Edit on quality — every experiment, checkpoint, and side-by-side published, including the ones that lost.
V3 head-to-head vs chinoll (real portraits)
5 real Pexels portraits (never in training), matched settings (1024px long edge, 50 steps, CFG 3, seed 42). Columns: source → chinoll → armV3. The exact instruction is printed on every row — judge it yourself:
Batch 2 — 5 different portraits, different instructions (accessory, lighting, removal, background, outfit):
Batch 3 — 5 different portraits, the hardest surgical categories (eye color, freckles, eyeglasses) plus environment and style:
About these grids
Three batches, 15 real portraits total, never in training. Every row is source → chinoll → armV3 at identical settings (1024px long edge, 50 steps, CFG 3, seed 42), with the exact instruction printed on the row. We don't call winners — the grids are the evidence, judge them yourself. Full per-candidate images: akhaliq/wiki-eval-images.
Use in ComfyUI
Option A — native ComfyUI (recommended, no conversion)
ComfyUI merged native MOSS-Image Edit support (PR #17296, Oct 22) — it loads ai-toolkit-format edit LoRAs directly, which is exactly our checkpoint format:
- Update ComfyUI past v0.42.1 (master/nightly — the PR merged after the tag).
- Drop
weights/armV3/armV3.safetensorsintoComfyUI/models/loras/(no conversion, no rename needed). - Standard LoRA loader after Load Diffusion Model (MOSS-Image single-file weights from Comfy-Org/MOSS-Image).
- Encode with the experimental Text Encode MOSS-Image Edit node:
connect VAE + reference images, set
edit_format = ai-toolkit(that's our training layout —index_timestep_zero_isolatedwith KV cache; chinoll's LoRA uses theMoss-Image-Editoption instead). - References are downscaled to ≤384×384 automatically; 50 steps, CFG 3, Euler, SLG layer 22.
Option B — Chenkin-x plugin (moss-edit-lora format)
Use the armV3-moss-edit-lora.safetensors file (root of this repo) —
it's in the moss-edit-lora format that the
ComfyUI-Moss-Image-Edit
nodes load, same as chinoll's adapter.
- Install the plugin (ComfyUI Manager → search "Moss-Image-Edit", or
git clone https://github.com/Chenkin-x/ComfyUI-Moss-Image-EditintoComfyUI/custom_nodes/). Requires ComfyUI 0.42.3 or newer. - Base model: OpenMOSS-Team/MOSS-Image-SFT (+ the Qwen3.5 text encoder and Flux2 VAE the plugin's README lists).
- Drop
armV3-moss-edit-lora.safetensorsintoComfyUI/models/model_patches/(NOTmodels/loras/). - Download a ready workflow (LoRA filename and settings filled in):
- workflows/armV3_workflow_single.json — single reference (most edits)
- workflows/armV3_workflow_multi.json — up to 4 reference images
Recommended settings (what our evals and demo use): flow-matching Euler sampler, shift 5.0, 50 steps, CFG 3.0, reference at source resolution, output up to 1024px. For edits that land too weak, raise CFG to 3.5–4.
Troubleshooting
- "Load Model Patch failed" → the LoRA is in the wrong folder. It goes in
ComfyUI/models/model_patches/, notmodels/loras/. - Nodes won't load / "requires 0.42.3" → upgrade ComfyUI to 0.42.3+.
- Edits too weak → raise steps to 50 and CFG to 3.5–4; make sure the ModelPatch strength is 1.0.
Status
Latest: armV3 is the recommended checkpoint. Try it in the demo Space.
| Version | Recipe | Result |
|---|---|---|
| v1 | warm-start + from-scratch, molbal multi-reference data, 1024px | ❌ Lost the eval gate — chinoll preserves identity better. Kept for reproducibility. |
| v2 (armV2-lo) | warm-start, OmniEdit surgical data, lr 1e-5, 300 steps | ✅ Matched chinoll, won atmosphere/style. Superseded by v3. |
| v3 (armV3) | continue from armV2-lo, ConceptEdit-12M surgical data (quality + purity filtered, 6,000 rows), lr 1e-5, 700 steps | ✅ Published — wins small surgical edits (sunglasses/accessories/color), ties elsewhere. |
Older eval grids (v1, v2): akhaliq/moss-edit-hq-eval.
Artifacts
weights/armV3/— v3 LoRA checkpoints (495 MB each, peft format for ai-toolkit's MOSS-Image arch): final + step-250 + step-500, samples, config.armV3-moss-edit-lora.safetensors— v3 in ComfyUImoss-edit-loraformat.workflows/— ready ComfyUI workflows with the LoRA filename and settings filled in.eval/real_grid_v3.jpg— the portrait head-to-head grid.training/— everything needed to reproduce: ai-toolkit arm configs, adapters/converters, training/eval orchestrators, dataset builders. Training runs on ostris/ai-toolkit @14f8f95(moss_imagearch, edit mode + KV cache, single GPU per arm).- Training data: akhaliq/moss-image-edit-conceptedit-packed (6,000 ConceptEdit-12M surgical rows, quality + purity filtered, TAR shards).
- Live training metrics: trackio dashboard.
Notes for reproducing
- chinoll's adapter uses split q/k/v LoRA keys; ai-toolkit's MOSS transformer
fuses qkv.
training/convert_chinoll_adapter.pyconverts with an exact rank-192 block-diag fusion (verified 336/336 tensor match) — warm-starting at rank 64 would silently truncate. The reverse (training/convert_to_moss_format.py) converts our checkpoints back to ComfyUImoss-edit-loraformat. - v3 warm-starts from armV2-lo (
INIT_LORA) rather than chinoll — building on v2's verified atmosphere/style gains while retraining on ConceptEdit data. - The v3 dataset filters surgical rows for local-edit purity (reject rows where source↔target differ on >65% of pixels) — OmniEdit-style global tonal shifts in training targets are what teach edit models to darken/re-tone whole images. env/style categories are exempt (global change is their point).
- Gradient checkpointing is required at 1024px.
- Keep the text encoder frozen (OpenMOSS guidance).
Credits
- OpenMOSS-Team/MOSS-Image-SFT (Apache-2.0) — base model; technical report.
- chinoll/Moss-Image-Edit — the LoRA to beat and our original warm-start init.
- ostris/ai-toolkit — training framework.
- inclusionAI/ConceptEdit-12M (Apache-2.0) — v3 training data (paper).
- TIGER-Lab/OmniEdit-Filtered-1.2M (MIT) — v1/v2 training/eval data.
- gaunernst/pexels-portrait — portrait eval images (Pexels license).
Model tree for akhaliq/MOSS-Image-Edit-HQ
Base model
OpenMOSS-Team/MOSS-Image-Base

