Qwen-Image 2.1 Restore LoRA: Upscales That Stay Yours

ComfyUI Wikinews

A community LoRA for Qwen-Image 2.1 keeps a restored or enlarged photo on its original frame: 0.3 px off against 2.2 px without it, plus a ComfyUI workflow and two checkpoints.

Qwen Image 2.1 Restore LoRA (Hugging Face) is a community adapter for enlarging and repairing small or worn pictures with Qwen-Image 2.1. Plain Qwen-Image 2.1 can already redraw a 300 px photo at 2 MP, but it does it harshly: skin turns gritty, pores and freckles appear that were never in the picture, faces come back older, and the whole frame shifts. The LoRA keeps a little of that texture and holds the picture where it was. On the author's first 37 shrunk pictures the result sat about 0.3 px from the full-size original, against more than 2 px without it. ausboss published two checkpoints on October 7 with the workflow and the measurements behind them.
A woman in a pink fur coat under neon signs, shown as the small input, without the LoRA and with it, each over its difference from the full-size picture

In each comparison: the small input, the result without the LoRA, the result with it, and the marked section enlarged underneath. All run through the repo's own workflow with the same prompt and seed, 8 steps with Viggle Turbo, about 2 MP. "px off" is how far the result sits from the full-size picture the input was shrunk from. None of these pictures is in the training set.

What plain Qwen-Image 2.1 does to a small picture

Qwen-Image 2.1 is a capable photo restorer on its own, and its failure mode is the opposite of blur. Asked to enlarge a compressed or low-resolution photo, it invents detail: pores, freckles, stubble and grain that the original never had, and it redraws faces a few years older than the person in the picture. It also moves things. Across the author's test set the worst corner of a plain Qwen-Image 2.1 result sat 2.35 px off the full-size original, which is small on screen but enough that the result cannot be laid back over the source.

The LoRA was trained to trade some of that invented texture for staying on the picture. It is a redraw, not a recovery: the fine detail is still made up, just less of it, and the card says so directly.

  • No trigger word. Enlarge the picture to about 2 MP first (both sides divisible by 32), give it as image 1, and ask.
  • Strength 1.0 for a small or compressed picture that is in focus.
  • Strength 0.75 for a little more of Qwen's own texture.
  • Strength 0.5 for a blurry photo, a shaky shot or a video frame.
Restore the photo: remove blur, noise and compression artifacts and recover sharp, natural detail, keeping the same composition, people and colors.

For a scratched or faded print the card uses a second request, which also recovers color:

Restore the old photo: remove scratches, dust, fading and grain and recover sharp, natural detail and color, keeping the same composition and people.

Measured hold

Eight of the author's own pictures, shrunk to 512 or 560 px on the long side and saved as JPEG at quality 70, then enlarged to about 2 MP and restored with the same seed, LoRA at 1.0, CFG 1, euler / simple. Every number is measured against the full-size original, which the model never sees. The 8-step columns use Viggle Turbo; the 25-step columns do not:

eight held-out picturesno LoRA, 8 stepswith it, 8 stepsno LoRA, 25 stepswith it, 25 steps
distance from the original, worst corner median2.35 px0.26 px1.59 px0.15 px
the same, worst of the eight3.83 px0.38 px3.25 px0.26 px
close to the original (SSIM, 1 = identical)0.5780.7660.7430.812
PSNR23.2 dB28.0 dB26.3 dB29.3 dB
color and brightness shift2.05 %0.97 %1.72 %1.04 %
same face (face recognition, 1 = identical)0.8210.9050.8370.901
fine detail, against the original's121 %78 %58 %36 %

The fine-detail row is the trade in one number. Over 100 % means detail that was made up: at 8 steps plain Qwen-Image 2.1 draws more grain than the original has, and at 25 steps it draws about half as much as the original. With the LoRA both are lower than the original, so results read a little smooth. The author also ran 29 more pictures through the same 8-step test: 0.28 px off with the LoRA against 2.16 px without, same-face 0.88 against 0.79, SSIM 0.777 against 0.611.

A selfie in a hoodie: without the LoRA Qwen adds wrinkles and pores and she looks older, with it she looks like the picture

A 389 px JPEG enlarged to 2 MP. None of these pictures is in the training set.

Every kind of damage

The release also reports 57 held-out pairs damaged the way the training pairs were, one pass at 8 steps with the normal request. SSIM is measured against the clean picture, and "px off" is the median:

kind of damagepicturesSSIM, damaged inputSSIM, no LoRASSIM, with itpx off, no LoRApx off, with it
small web picture150.7720.5240.7162.530.31
phone smoothing50.8360.5650.8572.650.17
video still50.7710.5780.7452.770.50
saved and re-saved50.8160.5600.7942.210.24
blur and noise50.4960.5210.6782.480.24
low-resolution JPEG50.7770.5310.7633.160.23
heavy mix50.7350.6460.7461.280.25
old print40.5510.4370.7492.460.19
banding40.9150.4630.8432.340.17
low-resolution PNG40.8730.6360.8473.390.15
all570.7560.5440.7622.700.23

With the LoRA the result was closer to the clean picture on all 57, and it moved less on all 57. On several kinds the damaged picture itself scores higher than any restore, because a soft picture is close on average.

Old prints get their own numbers on four held-out examples: color and brightness sat 15 % off the clean picture before the restore, 7 % off after it with the normal request, and 4 % off with the old-photo request. Scratches, dust and grain went with either request. A kind of fading the model has not seen can stay: in a second test with a different fade, the scratches went and the faded color stayed.

Strength is a dial

The same picture without the LoRA and with it at 0.25, 0.5, 0.75 and 1.0: the skin gets softer and the picture sits closer to the input at each step

On the 29-picture set, the whole scale runs from plain Qwen at 0 to the truest result at 1.0:

strengthoff / 0.5 / 0.75 / 1.0
distance from the original2.16 px / 1.31 px / 0.37 px / 0.28 px
same face0.794 / 0.858 / 0.875 / 0.880
color and brightness shift1.88 % / 1.26 % / 1.05 % / 0.94 %
fine detail, against the original's102 % / 81 % / 77 % / 72 %

Blurry photos are where the dial matters most. The author ran 26 real low-resolution photos (old selfies and phone pictures) at 1.0, 0.75 and 0.5. On the six blurriest, 1.0 came back soft, 0.75 barely helped, and 0.5 came back sharp; on the other twenty all three settings worked and 1.0 was the smoothest. Enlarging a soft photo in tiles to 8 MP also came back sharp at 1.0 on the three pictures that were tried that way.

The LoRA was trained on photos and holds on drawings too. On six test drawings (anime, a poster with lettering, watercolor, a 3D cartoon, manga, an oil painting) it kept the style and the lettering: SSIM 0.714 against 0.491 without it, and 0.27 px off against 2.65 px.

Against other tools

The card compares the release with the other tools it could find for the same job, on the same 29 pictures, with the same measurements, all run at 1.0. They are not all built for the same thing: some are made to add detail, and this LoRA is made to stay on the picture, so the table answers one question, how close the result stays to the original:

29 small picturesoff the originalsame facecolor and brightness shiftSSIM
Qwen Image 2.1 alone2.16 px0.791.88 %0.611
SeedVR2 (3B), ComfyUI's own nodes0.42 px0.820.44 %0.771
Deblur anything0.39 px0.851.42 %0.702
Detail Enhancer, in the same graph2.07 px0.762.94 %0.673
Detail Enhancer, its own workflow, 25 steps12.45 px0.714.16 %0.590
this LoRA0.28 px0.880.94 %0.777
A woman in a pink fur coat from a 314 px wide JPEG: the Detail Enhancer's workflow smooths and redraws her face and moves the framing, Deblur anything covers her skin in pores and freckles, the Restore LoRA keeps her

By SSIM the LoRA stayed closer to the original than the Detail Enhancer on all 29 pictures (28 of 29 when the Detail Enhancer runs its own workflow), than Deblur anything, and than SeedVR2 on 18 of 29. It kept the face better than the Detail Enhancer on 28 of 28, than Deblur anything on 26 of 28 and than SeedVR2 on 27 of 28. SeedVR2 is by far the fastest, about 3 seconds against 11, and it holds color best.

A close portrait in a lace top: without the LoRA the freckles multiply and the whole picture gets darker, with it the face and the light stay A woman resting on a car window: without the LoRA her skin comes out rough and heavily freckled, with it she keeps the few freckles she has A man on a subway with earphones: without the LoRA he gets rough skin and stubble that are not in the picture, with it he stays the same guy

Which file to use

filenotes
qwen-image-2.1-restore.safetensorsstep 1,500, start here. The closest of the two on the author's test pictures. Skin comes out a little smooth.
qwen-image-2.1-restore-1250.safetensorsstep 1,250. Draws more fine detail and keeps more skin texture on noisy phone pictures. A little less close.

Both are rank 32 and use ComfyUI key naming, so they load onto the Comfy-Org Qwen-Image 2.1 weights with no conversion.

Running it in ComfyUI

The adapter is a model-only LoRA, so no custom nodes are needed for the restore itself. Put the .safetensors file in ComfyUI/models/loras/ and add a LoraLoaderModelOnly node after the model loader at strength 1.0, then give Qwen-Image 2.1 the small picture as image 1 and the request above as the prompt. The card's own setup is 8 steps with Viggle Turbo at CFG 1, or 25 steps without it.

A ready-made workflow ships in the repo's workflows/ folder, built with the author's ComfyUI-AusBoss nodes, the same pack his earlier releases use.

Limits

  • It is a redraw, not a recovery. The fine detail is made up to fit, and plain Qwen-Image 2.1 draws more of it.
  • Staying on the picture is the whole point, so a result that needs new content will not get it.
  • Blurry input at full strength comes back soft. Drop to 0.5, or enlarge in tiles.
  • The numbers come from the author's own test pictures and from 25 steps without Turbo on part of the comparison set.
  • For results over 2 MP the author pairs it with his own tiled upscale workflow on Civitai.

Availability

Download qwen-image-2.1-restore.safetensors (step 1,500)

Comments

Sign in with GitHub to join the discussion.

Loading comments…
Qwen-Image 2.1 Restore LoRA: Upscales That Stay Yours | ComfyUI Wiki