Extend a picture on any side, and Qwen Image 2.1 paints the new area. Qwen3-VL writes the prompt, and my outpaint LoRA keeps your picture in place. Your image goes back on top of the result.
How to use it
Load your image.
Pick a ratio, or drag the orange handles out. The small button next to the ratios flips portrait and landscape.
Optional: finish the sentence in What goes there to say what belongs in the new area.
Press Run.
What you need
AusBoss nodes 2.5.0 or newer. In ComfyUI-Manager, search "AusBoss". Already have them? Update first.
A ComfyUI build with Text Encode Qwen Image 2.1 (mid-September 2026 or newer).
The Qwen Image 2.1 models and my outpaint LoRA:
qwen_image_2.1_int8_convrot.safetensors →
models/diffusion_models· 7.26 GBqwen3vl_8b_int8_convrot.safetensors →
models/text_encoders· 9.35 GBqwen_image_2.1_vae_bf16.safetensors →
models/vae· 676 MBqwen-image-2.1-outpaint-v2.safetensors →
models/loras· 159 MBqwen-image-2.1-outpaint.safetensors →
models/loras· 159 MB (v1, for big zoom-outs)
Tips
Keep the LoRA on. Without it Qwen often shifts your picture. If the file is missing, the run stops at a red LoRA Loader; switch its row off to run without it.
Say what's missing. The box starts with
Also include in the prompt:. Add to it, for exampleshe wears blue jeans.If you delete those words and type your own, the workflow puts them back.Pull out at most about your picture's own size on one side per run. More than that can paint a second scene. For more, run again on the result.
Crop out edges that confuse it. Noise, a frame line or a busy strip along the edge of your picture can make the new area come out strange. Drag the blue handles on Image Crop + Rotate + Pad inward to cut those edges off first.
Dark corners get extended. A vignette in your photo carries on into the new area.
Transparent PNG? A person or a scene cut out works. A product cut out with nothing behind it can come back on plain gray, so put it on a background first.
About 8 seconds a run on an RTX 5090.
Tilted picture, or something to crop away? Try Qwen Image 2.1 Rotate + Outpaint.
Credits
Qwen Image 2.1 is © Alibaba Qwen, under the Qwen Research License: non-commercial use only, and commercial use needs a license from Qwen. The outpaint LoRA is mine and follows that license. I trained it on my own pictures plus CommonCatalog CC-BY, PD12M and anime-with-caption-cc0.
v1.2 (2026-09-30): the padding follows your picture, the seam blends in, and your own words always reach the prompt. v1.1 (2026-09-26): a missing LoRA stops the run, LoRA v2 by default. v1.0 (2026-09-25): first release.
Questions or bugs: GitHub issues or the comments here. Videos on YouTube @ausbossdev. More from me on X @Zanzibased and GitHub.
Description
What's new in v1.1:
A missing LoRA now stops the run with a message. v1.0 quietly ran plain Qwen 2.1, which can shift the picture and leave a box-shaped seam. Switch the LoRA row off to run without it on purpose.
LoRA v2 is the default row (everyday extensions, 1-2 MP), with v1 one click away (big zoom-outs).
New tip in the note: flatten a transparent PNG onto white before loading it.
FAQ
Comments (12)
Works great for most standard images. Getting better results with seed 30. After around 50 tests with realism and anime that seed preformed best for both in my tests. It does sometimes have a green hue on the repainted areas when dealing with originally transparent images I think it's more commonly a problem only for very small images, a solution to this is to add in a solid colored background to the very small transparent images first and then remove the background after.
thanks for all the testing and the seed 30 tip! i was able to recreate the green hue. when a transparent png gets resized, the pixels hidden under the transparent part usually turn black, and the workflow was reading that black, so qwen painted odd colors into the fill. your fix is the right one: flattening onto white first fixed it every time for me (the seed didn't change the hue in my tests, the background did). don't use gray though, the lora reads it as padding. the v1.1 note now says this. and if you ever want an actual scene behind a cutout, the new rotate + outpaint workflow paints the transparent area as background: https://civitai.com/models/2966883
Great node! I have one question: when using the "Rotate Image" node to extend the image, noticeable seams appear—how should I handle this? I have uploaded an image.
thanks! i hadn't tested rotating with this one yet so i ran a bunch of tests. i can reproduce those lines when the outpaint lora isn't loaded: plain qwen 2.1 shifts the picture a little while it outpaints, so when the original gets pasted back it doesn't line up and you get that lighter box around the tilt. with the lora loaded it stayed lined up in every test. can you check the lora loader actually has qwen-image-2.1-outpaint.safetensors in it? if the file is missing it gets skipped without an error. try the lora and also try setting feather to 0 on the rotate node, it keeps the tilted edge cleaner
link to lora: https://huggingface.co/ausboss/Qwen-Image-2.1-Outpaint-LoRA
quick update: i reproduced it with 36 test renders on tilted pictures. without the lora the picture shifted in all 12, with the lora it lined up in all 24, so a missing lora was almost certainly it. v1.0 skipped a missing lora silently, so i pushed v1.1: now the run stops and tells you if the lora file is missing, and v2 of the lora is the default. i also made a separate rotate + outpaint workflow built for exactly this (rotate, crop and pad in one node, feather 0): https://civitai.com/models/2966883
Hi. Can this fix the pixel shift problems with Qwen ImaGe 2.1? When I do broad changes to an image, for example style change, the input image and the generated image become misaligned (either zoomed in or out) which is very frustrating and makes Qwen Image 2.1 almost unusable for serious editing work. :(
i did some research just now and no, the outpaint lora won't fix that. it keeps the picture in place when you're extending an image, but it doesn't help with normal edits. i tested it on qwen 2.1: small edits stay put, but big changes like style changes stretch the picture a few percent (up to about 12%), and it changes with the seed, so snapping to 32 or 112 doesn't help either. i'll try to upload a fix soon.
Hi! idk if that is a bug or it is supposed to be like that but first image generations token phase completes really fast(in minutes) but second and after jumps to 3-6 hours and only a full restart of comfy helps. The only thing i changed is using uncensored gguf. Your lora is also in use so maybe there is a conflict between them?
try: purge vram node after vae decode - clean cache: on - clean model: off.
@Weaze or find this block in ComfyUI\comfy\text_encoders\llama.py:
class Qwen3VL_8BConfig(Qwen3_8BConfig):
max_position_embeddings: int = 262144
rope_theta: float = 5000000.0
rope_dims = [24, 20, 20]
interleaved_mrope = True
fixed_kv: bool = True
graph_dynamic_vbar_blocks = True
prefetch_dynamic_vbars = True
change
graph_dynamic_vbar_blocks = True
to
graph_dynamic_vbar_blocks = False
and restart
weaze's idea is a good one to try, and my pack has a node for it: Free Memory 🆎. put it on the picture wire going into the Write the prompt box (image crop + rotate + pad → free memory → write the prompt). it passes the picture through and unloads the models left over from the last run, so the text step starts with free vram. if the slow part is the sampler instead, put it after the vae decode like weaze said. if neither helps, tell me your gpu, vram and which gguf file.
Or change True to False and never think about it again. ;-)