Update (2026-09-28): I trained this on a bunch of edit pairs to reinforce pixel consistency, and it turns out the dataset might have overfit it on certain types of edits. I've heard it ignores movement, like a new pose or a turned head. I plan to try a v2 once I get the dataset put together. Until then you can try out the two workflows I uploaded:
qwen-image-2.1-edit-consistency.json: a plain edit with this LoRA on.qwen-image-2.1-edit-realign.json: the LoRA is off, and a Realign to Source node lines the edit back up with your picture afterwards. Try this one for edits that need to move something.I made them with my nodes (AusBoss, 2.3.0 or newer). Feel free to swap out my nodes with whatever nodes you want.
Qwen Image 2.1 edits don't stay where you put them. Ask for a watercolor, a comic or an anime version and the picture comes back a few percent taller, sometimes nudged sideways, different for every seed: a waistband 40 px lower, a face that no longer lines up with the original. On a local edit it also repaints things you didn't ask about (hair strands, signs, texture). This LoRA makes the edit on the original's frame: same prompt, same edit, nothing moves.
No trigger word. Load it and write your edit instruction as usual. Also on Civitai.
Watch it used: my Turbo video on YouTube, from 2:58.

The dashed line marks where a feature sits in the original; the arrow is how far it moved. Same prompt and seed in every column, rendered in ComfyUI with the Comfy-Org INT8 Qwen Image 2.1 model (25 steps, CFG 1, euler/simple). None of these pictures are in the training set.



Local edit: both make the change, but without the LoRA Qwen also repaints hair, the storefront sign and the traffic light. The change maps compare each render with the original after lining it up, so they show repainting, not drift.
| file | notes |
|---|---|
qwen-image-2.1-consistency.safetensors | step 1500, start here. Keeps Qwen's own look. |
qwen-image-2.1-consistency-2000.safetensors | step 2000: the tightest alignment; paintings come out a little paler. |
Rank 32, ComfyUI key format (diffusion_model.transformer_blocks.*), all 384 tensors load onto the
Comfy-Org Qwen Image 2.1 weights.
| held-out edits, plain Qwen 2.1 vs the LoRA | no LoRA | 1500 | 2000 |
|---|---|---|---|
| restyles (36): worst corner off, median | 24.3 px | 1.6 px | 0.9 px |
| restyles: worst corner off, worst case | 61.1 px | 12.9 px | 3.5 px |
| restyles under 3 px off | 3 % | 75 % | 97 % |
| restyles (15): look compared with plain Qwen's (colour distance, lower = same look) | 7.0 * | 6.3 | 10.9 |
| relights and local edits (12): worst corner off, median | 0.7 px | 0.1 px | 0.1 px |
* Two seeds of plain Qwen differ from each other by 7.0, so 1500's restyles look as much like plain Qwen as plain Qwen looks like itself. 2000 lines up more tightly but drifts the style: whiter paper, less colour on ink and gouache.
18 recolor and remove edits on held-out photos of people (a backpack, a hat, a surfboard, a jacket colour). Every render was lined up with its original first, so this counts repainting, not drift:
| outside the edited object | no LoRA | 1500 | 2000 |
|---|---|---|---|
| pixels that changed noticeably (dE > 5) | 12.8 % | 7.5 % | 7.5 % |
| PSNR against the original | 27.7 dB | 31.6 dB | 31.7 dB |
For reference, encoding and decoding a picture through the Qwen 2.1 VAE alone changes about 2 % of the pixels (37 dB), so that is the floor. The edit itself happened in all 18 with and without the LoRA.
workflows/qwen-image-2.1-edit-consistency.json
in this repo is a plain edit with the LoRA on. To add the LoRA to any Qwen Image 2.1 edit graph:
image_1, resolution 0, and the edit
instruction as the prompt.latent output: 25 steps, CFG 1, euler / simple, denoise 1.
Sample on that latent. A latent of any other size makes Qwen zoom by the size ratio, and no
LoRA can undo that.arch: qwen_image_2, Comfy-Org INT8
convrot base, reference kept at the target's size (match_target_res).shift timesteps, resolution: 1408
(pairs of 0.9-1.5 MP on the 32 px grid, so nothing was rescaled), 3000 steps on one H100
(~1.9 s/step), checkpoints every 250. Step 500 already works; 1500 is the sweet spot.A LoRA for Qwen Image 2.1, which is released under the Qwen Research License; use of the base model, and of this LoRA with it, follows that license.