MOSS-Image arrived in ComfyUI as a text-to-image model, and until this week it could not edit a photo you already have. The MOSS-Image Edit LoRA changes that. Released on October 22, 2026 by the Hugging Face user chinoll, it is a 297 MB rank-64 adapter that teaches MOSS-Image to follow edit instructions such as “make it winter”, “change her jacket to red leather” or “turn this into a watercolour”. You can feed it up to four reference images, so you can also say “dress the person in image 1 in the outfit from image 2”. On the same day, Kijai’s pull request added native support to ComfyUI, and a separate node pack by Chenkin-x gives you ready-made workflows. In this guide I cover both routes: the exact files and folder paths, how to install each, how to write edit prompts that work, the settings to start with and what to do on a 16 GB GPU.
- What it is: a community LoRA (chinoll/Moss-Image-Edit) that adds instruction-based editing to MOSS-Image, with 1 to 4 reference images. It is not an official OpenMOSS release.
- Good at: colours, outfits, lighting, seasons, visual style and facial expressions. It is not documented for adding new objects.
- Route 1 (node pack): ComfyUI-Moss-Image-Edit with the Diffusers model in
ComfyUI/models/moss_image/MOSS-Image-SFT/and the LoRA inComfyUI/models/moss_image/Moss-Image-Edit/. Two example workflows included. - Route 2 (core ComfyUI): update ComfyUI past v0.42.1, load the LoRA with the normal LoRA loader and use the new Text Encode MOSS-Image Edit node with
edit_formatset toMoss-Image-Edit. - Start settings: 30 steps, CFG 4.0, shift 5.0, 512×512 (raise it once it works). In multi-image prompts, always say which image is which.
What Is the MOSS-Image Edit LoRA?
MOSS-Image is the open 5B image model from OpenMOSS, with a Qwen3.5-9B language model reading your prompt and support for JSON layouts. Out of the box it only generates images from text. The Edit LoRA is a small add-on that changes how the model treats extra images: instead of ignoring them, it uses them as the picture to edit (or as references to copy from), and follows your text instruction.
Here are the key facts:
| Item | Details |
|---|---|
| Author | chinoll (LoRA), Chenkin-x (node pack and training code) |
| Released | October 22, 2026 |
| Base model | MOSS-Image-SFT (recommended, used for the examples) or MOSS-Image-Base |
| Rank / size | Rank 64, alpha 64, 297 MB in bf16 |
| Layers covered | All 42 DiT layers (q, k, v, o and both feed-forward projections) |
| Files | adapter_config.json and adapter_model.safetensors |
| References | 1 to 4 images plus a text instruction |
| Training data | NOOB2 edit pairs and ConceptEdit-12M |
| ComfyUI support | Core (PR #17296 by Kijai) and the ComfyUI-Moss-Image-Edit node pack |
What It Can and Cannot Edit
The model card lists the edits it was trained for: colours, outfits, lighting, seasons and visual style, and the ComfyUI Wiki adds facial expressions. In practice that covers a lot of everyday jobs:
- recolouring a car, a dress or a wall
- changing clothes while keeping the person
- turning day into night, or a sunny scene into a rainy one
- summer to winter, spring to autumn
- photo to anime, oil painting, watercolour or pixel art
- a neutral face to a smile or a surprised look
What it does not promise: adding new objects, removing objects, or combining two separate people into one scene. There is no benchmark yet. If you need object removal or insertion, a dedicated editing model such as Bria Fibo 2.0 is a better fit today.
How It Works
The LoRA was trained with a specific layout, which the ComfyUI code calls the Moss-Image-Edit format. The reference images are encoded by the VAE and placed in front of the image being generated, at timestep zero, so the DiT can “look at” them while it denoises. The text encoder only sees your instruction, not the images. That has one practical consequence: your prompt has to describe the edit on its own. The look of the subject comes from the reference latents, not from the text.
Because the adapter was trained in that exact layout, it only works properly when the node puts the references in the same place. That is why you need either the dedicated node pack or the new core node with the right edit_format. A plain LoRA loader on a normal MOSS-Image text-to-image graph will not edit anything.
Two Ways to Run It in ComfyUI
| Route 1: node pack | Route 2: core nodes | |
|---|---|---|
| Install | Custom node pack + requirements | Update ComfyUI only |
| Model format | Full Diffusers folder (MOSS-Image-SFT) | Single-file weights from Comfy-Org/MOSS-Image |
| LoRA location | ComfyUI/models/moss_image/Moss-Image-Edit/ |
ComfyUI/models/loras/ |
| Example workflows | Yes, 1-reference and 2-reference | Build it yourself (a few nodes) |
| Best for | Getting a known-good result fast | People who already run MOSS-Image natively |
If you followed my MOSS-Image ComfyUI guide and already have the single-file models, try Route 2 first, because it reuses everything you downloaded. If you are starting from scratch, Route 1 is the documented path with workflows that match the author’s settings.
Route 1: Install the ComfyUI-Moss-Image-Edit Node Pack
Step 1: install the nodes. Open a terminal in your ComfyUI folder (the one that contains main.py) and run:
git clone https://github.com/Chenkin-x/ComfyUI-Moss-Image-Edit.git custom_nodes/ComfyUI-Moss-Image-Edit
python -m pip install -r custom_nodes/ComfyUI-Moss-Image-Edit/requirements.txt
Use the same Python that runs ComfyUI. On the Windows portable build, run the pip step from the ComfyUI_windows_portable folder instead: python_embeded/python.exe -m pip install -r ComfyUI/custom_nodes/ComfyUI-Moss-Image-Edit/requirements.txt. If you installed an earlier version into custom_nodes/Moss-Image-Edit, move that old folder out of custom_nodes first, or the nodes register twice.
Step 2: download the base model and the LoRA. From the same ComfyUI folder, with the Hugging Face CLI:
hf download OpenMOSS-Team/MOSS-Image-SFT --local-dir models/moss_image/MOSS-Image-SFT
hf download chinoll/Moss-Image-Edit adapter_config.json adapter_model.safetensors --local-dir models/moss_image/Moss-Image-Edit
When it finishes, your folders should look like this:
ComfyUI/
├── custom_nodes/ComfyUI-Moss-Image-Edit/
└── models/moss_image/
├── MOSS-Image-SFT/
│ ├── pipeline_moss_image.py
│ ├── transformer/
│ ├── text_encoder/
│ ├── tokenizer/
│ ├── vae/
│ └── scheduler/
└── Moss-Image-Edit/
├── adapter_config.json
└── adapter_model.safetensors
The SFT download is the full Diffusers model, including the bf16 transformer and the Qwen3.5-9B text encoder, so it is much bigger than the single-file int8 weights. Make sure you have the disk space before you start. To use MOSS-Image-Base instead, download OpenMOSS-Team/MOSS-Image-Base to models/moss_image/MOSS-Image-Base.
Step 3: load a workflow. Restart ComfyUI. The pack ships two workflows: moss_edit_single_reference.json (one image to edit) and moss_edit_multi_reference.json (two images). The nodes sit in the MOSS Image Edit category. In the loader node, snapshot_dir points at the base model folder and adapter_dir at the LoRA folder. Relative paths are read from ComfyUI/models, so the defaults are moss_image/MOSS-Image-SFT and moss_image/Moss-Image-Edit. If you use Base, change snapshot_dir to moss_image/MOSS-Image-Base.
Step 4: edit. Load your photo into the reference input, type the instruction in prompt (leave negative_prompt empty to start), and queue.
Route 2: Native ComfyUI Nodes
Kijai’s pull request #17296, “Support MOSS-Image edit LoRAs”, was merged on October 22, after the v0.42.1 release tag. So you need a ComfyUI build newer than v0.42.1: run update/update_comfyui.bat on the portable build, git pull in a git install, or switch ComfyUI Desktop to the nightly channel until the next release.
Files: use the normal MOSS-Image single files from Comfy-Org/MOSS-Image, and copy the LoRA into your loras folder with a clear name:
hf download Comfy-Org/MOSS-Image diffusion_models/moss_image_sft_bf16.safetensors --local-dir ComfyUI/models
hf download Comfy-Org/MOSS-Image text_encoders/qwen3.5_9b_int8_convrot.safetensors --local-dir ComfyUI/models
hf download Comfy-Org/MOSS-Image vae/flux2-vae.safetensors --local-dir ComfyUI/models
hf download chinoll/Moss-Image-Edit adapter_model.safetensors --local-dir ComfyUI/models/loras/moss-image-edit
Then rename ComfyUI/models/loras/moss-image-edit/adapter_model.safetensors to moss_image_edit.safetensors so you can find it in the list. The PR added aliases for this LoRA’s bare key names, so the stock loader reads it directly.
The graph:
- Load Diffusion Model with the MOSS-Image SFT transformer.
- LoraLoaderModelOnly with
moss_image_edit.safetensorsat strength 1.0. - Load CLIP with the Qwen3.5-9B encoder, type
moss_image. - Load VAE with
flux2-vae.safetensors. - Load Image for your photo (and up to three more for extra references).
- Text Encode MOSS-Image Edit (category
model/conditioning/moss_image, marked experimental). Connectclip,vaeand your images, type the instruction inprompt, and setedit_formatto Moss-Image-Edit. The other options,ai-toolkitandai-toolkit (kv_cache off), are for adapters trained with ai-toolkit, not this one. - Your usual sampler setup and VAE Decode, as in a normal MOSS-Image graph.
The images connect straight to the text encode node. You do not need a separate latent input for them. I chose the bf16 transformer here because LoRAs are the reason that file exists in the repo. If you want to try the 5.4 GB moss_image_sft_int8_convrot.safetensors to save memory, test it, and switch back to bf16 if the edit does not take.
All Files and Paths in One Table
| What | Source | Path | Route |
|---|---|---|---|
| Node pack | Chenkin-x/ComfyUI-Moss-Image-Edit | ComfyUI/custom_nodes/ComfyUI-Moss-Image-Edit/ |
1 |
| MOSS-Image-SFT (Diffusers) | OpenMOSS-Team/MOSS-Image-SFT | ComfyUI/models/moss_image/MOSS-Image-SFT/ |
1 |
| Edit LoRA | chinoll/Moss-Image-Edit | ComfyUI/models/moss_image/Moss-Image-Edit/ (both files) |
1 |
| Transformer (single file) | Comfy-Org/MOSS-Image | ComfyUI/models/diffusion_models/moss_image_sft_bf16.safetensors |
2 |
| Text encoder | Comfy-Org/MOSS-Image | ComfyUI/models/text_encoders/qwen3.5_9b_int8_convrot.safetensors |
2 |
| VAE | Comfy-Org/MOSS-Image | ComfyUI/models/vae/flux2-vae.safetensors |
2 |
| Edit LoRA | chinoll/Moss-Image-Edit | ComfyUI/models/loras/moss-image-edit/moss_image_edit.safetensors (renamed) |
2 |
Settings to Start With
These are the node pack’s defaults, which match how the author sampled the examples:
| Setting | Default | Notes |
|---|---|---|
width / height |
512 / 512 | Must be multiples of 16. Match the aspect ratio of your photo, and go up to around 1024 once the edit works. |
reference_max_edge |
512 | Longest edge of each reference. Images are resized, never cropped. |
steps |
30 | Lower it for quick tests, raise it for final images. |
cfg |
4.0 | How strongly the instruction is followed. Raise it slightly if the edit is too weak. |
inference_shift |
5.0 | Sampling time shift. Leave it at 5 unless you are experimenting. |
seed |
42, fixed | Keep it fixed while you tune the prompt, so you can compare. |
For the core route there are no official numbers yet. Start with the same values (30 steps, CFG 4, shift 5 in your model sampling node) and the sampler you already use for MOSS-Image. The 4-step and 8-step speed LoRAs from my MOSS-Image guide were trained for text-to-image, so test them carefully before stacking them with the Edit LoRA.
Writing Edit Prompts
Remember that the text encoder does not see your image. Write the instruction as if you were telling a retoucher what to change, without describing the whole photo:
- Say what changes, and what stays. “Change the jacket to red leather, keep the face, hair and background the same.”
- One edit per pass. Do the outfit first, then the lighting in a second run using the result as the new reference.
- Be specific about style. “Turn the photo into a soft watercolour painting with visible paper texture” works better than “make it artistic”.
- Use the categories it was trained on. Colour, outfit, lighting, season, style and expression are its strengths.
Some example instructions to try:
Make it a snowy winter day. Add snow on the ground and rooftops, keep everything else the same.
Change the car's paint to matte black.
Relight the portrait with warm golden hour sunlight coming from the left.
Turn the photo into a 90s anime screenshot.
Make the woman smile warmly, keep her face and pose the same.
Change her dress to a green silk evening gown.
Using 2 to 4 Reference Images
With more than one image, the adapter does not decide on its own which image is the photo to edit and which is the reference. You have to say it in the prompt by number, in the order the images are connected:
Dress the person in image 1 in the outfit from image 2.
Apply the colour palette and lighting of image 2 to the room in image 1.
Give the man in image 1 the hairstyle from image 2 and the glasses from image 3.
In the node pack, start from moss_edit_multi_reference.json. It has two references wired up. For three or four, add Load Image nodes and connect them to the spare reference_3 and reference_4 inputs. In the core route, the Text Encode MOSS-Image Edit node adds a new image input each time you connect one, up to four.
Keep the references clean: one clear subject, good lighting, and the outfit or object you want copied clearly visible. Each extra reference also costs memory and time, so use only as many as you need.
Running It on a 16 GB GPU
Neither the LoRA author nor the PR gives a VRAM figure, and the PR’s review notes warn that reference editing can run out of memory. On a 16 GB card like my RTX 5080, these are the levers:
- Prefer the core route with single files. The int8 text encoder (9.75 GB) or the W4A8 one (7.3 GB) is lighter than the full bf16 Diffusers folder the node pack loads.
- Stay at 512 to 768 pixels while testing, with
reference_max_edgeat 512. - Use one reference unless the edit really needs more.
- Start ComfyUI with
--lowvramso the text encoder is moved out of VRAM before sampling. - More general fixes are in my 16 GB out of memory guide.
Troubleshooting
- The output ignores my photo and makes a new image: the references are not reaching the DiT. In the core route, check that you used Text Encode MOSS-Image Edit with
edit_formatset to Moss-Image-Edit, and that ComfyUI is newer than v0.42.1. - The LoRA shows “lora key not loaded” warnings: your ComfyUI is older than the PR that added the key aliases. Update it.
- Nodes appear twice in the node pack: an old
custom_nodes/Moss-Image-Editfolder is still there. Move it out. - “snapshot_dir not found”: the loader reads relative paths from
ComfyUI/models. Check that the folder isComfyUI/models/moss_image/MOSS-Image-SFTand containstransformer/,text_encoder/andvae/. - Image 2’s subject replaces image 1’s: your prompt did not assign roles. Name each image by number.
- The edit is too weak: raise CFG a little (4.5 to 5), make the instruction more specific, or try more steps.
- Out of memory: lower the resolution, use one reference, use the lighter text encoder and
--lowvram.
License Notes
The node pack and the training code are released under GNU GPLv3. The LoRA’s model card does not state a separate licence for the weights. MOSS-Image itself is Apache 2.0 according to OpenMOSS. If you plan to use edited images commercially, check the LoRA page for a licence update or ask the author first, since a missing licence is not the same as permission.
FAQ
What is the MOSS-Image Edit LoRA?
It is a 297 MB, rank-64 community LoRA by chinoll that adds instruction-based image editing with up to four reference images to the MOSS-Image model.
Does ComfyUI support it natively?
Yes, from builds after v0.42.1. Kijai’s PR #17296 added the Text Encode MOSS-Image Edit node and the LoRA key aliases. You can also use the ComfyUI-Moss-Image-Edit node pack.
Should I use MOSS-Image-SFT or Base?
Start with SFT. The examples were trained and sampled against SFT and it gives tidier results. Base keeps more of the raw training signal and is mainly useful if you want to experiment.
Can it remove or add objects?
It is not documented for that. It is built for attribute and scene edits: colour, outfit, lighting, season, style and expression.
How many reference images can I use?
Up to four. With more than one, name each image’s role in the prompt, for example “the person in image 1 wearing the outfit from image 2”.
Where do I put the LoRA file?
For the node pack, put both files in ComfyUI/models/moss_image/Moss-Image-Edit/. For the core nodes, put adapter_model.safetensors in ComfyUI/models/loras/ (renaming it helps) and load it with LoraLoaderModelOnly.
Final Thoughts
The MOSS-Image Edit LoRA turns MOSS-Image from a generator into a practical photo editor for colour, outfit, lighting, season and style changes, and the multi-reference support makes outfit swaps easy. It is young and unofficial, with no benchmark or VRAM numbers yet, but both routes in ComfyUI work today. Use the node pack if you want the author’s workflows, or the core nodes if you already run MOSS-Image natively, and keep your prompts short, specific and clear about which image is which.
More MOSS-Image and image editing guides:
- MOSS-Image in ComfyUI: Files, Settings, Layout JSON and 4-Step LoRAs
- Train a MOSS-Image LoRA With KohakuMoss
- Bria Fibo 2.0 in ComfyUI: Generate and Edit Images
- FLUX 3 Image Klein in ComfyUI