Built with ML Intern

MOSS-Image-Edit-HQ

🚀 v3 is out — armV3 is 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:

v3 portrait head-to-head grid

Batch 2 — 5 different portraits, different instructions (accessory, lighting, removal, background, outfit):

v3 portrait head-to-head batch 2

Batch 3 — 5 different portraits, the hardest surgical categories (eye color, freckles, eyeglasses) plus environment and style:

v3 portrait head-to-head batch 3

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:

  1. Update ComfyUI past v0.42.1 (master/nightly — the PR merged after the tag).
  2. Drop weights/armV3/armV3.safetensors into ComfyUI/models/loras/ (no conversion, no rename needed).
  3. Standard LoRA loader after Load Diffusion Model (MOSS-Image single-file weights from Comfy-Org/MOSS-Image).
  4. 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_isolated with KV cache; chinoll's LoRA uses the Moss-Image-Edit option instead).
  5. 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.

  1. Install the plugin (ComfyUI Manager → search "Moss-Image-Edit", or git clone https://github.com/Chenkin-x/ComfyUI-Moss-Image-Edit into ComfyUI/custom_nodes/). Requires ComfyUI 0.42.3 or newer.
  2. Base model: OpenMOSS-Team/MOSS-Image-SFT (+ the Qwen3.5 text encoder and Flux2 VAE the plugin's README lists).
  3. Drop armV3-moss-edit-lora.safetensors into ComfyUI/models/model_patches/ (NOT models/loras/).
  4. Download a ready workflow (LoRA filename and settings filled in):

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/, not models/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 ComfyUI moss-edit-lora format.
  • 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_image arch, 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.py converts 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 ComfyUI moss-edit-lora format.
  • 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

Downloads last month

-

Downloads are not tracked for this model. How to track
Inference Providers NEW
This model isn't deployed by any Inference Provider. 🙋 Ask for provider support

Model tree for akhaliq/MOSS-Image-Edit-HQ

Adapter
(35)
this model

Space using akhaliq/MOSS-Image-Edit-HQ 1

Papers for akhaliq/MOSS-Image-Edit-HQ