My grandmother died last year and left behind two shoeboxes of photos. Black and white, edges nibbled by silverfish, some glued together where humidity had got at them. The earliest one we could date was from 1947. The most recent was a 1990 Polaroid of her holding me as a baby.
I have spent the last three months digitising and gently restoring this archive. AI upscaling has been useful and dangerous in roughly equal measure. Here is the workflow I have ended up with.
Step 1: a clean scan beats any AI
The single biggest jump in quality comes from a good scan. Even the best AI cannot invent detail that was not captured.
I tried three approaches on the same 1962 wedding photo:
- iPhone Notes app, automatic crop: usable, but with warping at the edges from the lens.
- Photos app Document Scanner mode: better. Less warp, automatic colour correction.
- Flatbed scanner at 600 DPI (borrowed from my office): vastly better than both. Crisp edges, no warp, clean colour.
If you have access to a flatbed, use it. A 1980s 5x7 print scanned at 600 DPI gives you a 3000x4200 pixel image, which is plenty of resolution before you even touch upscaling.
No flatbed? The iOS Notes scanner is the runner-up. Hold the phone parallel to the photo (not at an angle), in even daylight (not direct sun, not overhead lamps), with a non-glossy dark surface underneath the print. Take three shots; pick the sharpest.
Step 2: clean, then upscale (not the other way around)
If a photo has dust, scratches, or fold lines, deal with those before you upscale. Otherwise the AI helpfully sharpens the dust into "even crisper dust".
I do basic cleanup in Photos (the macOS app, not iOS - the Mac version has the spot-removal tool). Anything serious goes through Pixelmator Pro or Affinity Photo. Then, and only then, into the upscaler.
Step 3: pick the right model
Most upscalers offer several models. Picking the right one is more important than the strength slider.
| Photo type | Model to try first |
|---|---|
| Portrait, single person, face takes up >30% of frame | Portrait / face-aware model |
| Group photo, multiple faces | General photo model. Portrait models sometimes over-process when several faces are present. |
| Landscape, no faces | General photo model. |
| Old illustration or hand-drawn art | Anime / illustration model. |
| Document, receipt, hand-written letter | Document model if available, otherwise general but at lower scale (2x not 4x). |
Wrong model can ruin a photo. The Portrait model on a landscape will smooth textures it should leave alone. The General model on a face can leave skin looking slightly waxy.
Step 4: scale to 2x first, judge, then go further
This is the part I had to learn the hard way. A 4x upscale on an old photo often looks worse than a 2x, because the algorithm is being asked to invent too much.
My workflow now:
- Run 2x. Look at the result at 100% zoom.
- If detail looks honest - eyes have natural texture, hair has individual strands, skin has pores - run 4x on the original. Or keep the 2x.
- If the 2x already shows "plastic skin", "fish eyes", or texture-replacement artifacts, back off. Try a different model. Or accept that this photo is not a candidate for AI upscaling.
Not every photo is a candidate. A heavily damaged 1947 contact print where my grandfather is six pixels of face is not going to come back. The AI will hallucinate a face that looks nothing like him. That is worse than no face at all.
Step 5: the "natural" pass
Even when the upscale works, there is often something a touch off about the result. Faces look slightly too clean. Old grain has been replaced with smooth texture. This is fine for casual use, but if you are printing for a frame, I add one more step.
In Photoshop, Affinity, or Pixelmator: add a very subtle film grain layer (1-3% strength) and a slight noise reduction at low frequencies. This reintroduces the visual signature of a real photograph instead of a perfectly clean AI image. The print looks like an old photo, not a stock image.
This step is optional and personal. Some people prefer the cleaner output. I prefer the print to feel like it belongs in the album with the originals.
The 1962 wedding photo
The original scan was 1800x2400 pixels. After cleanup and 2x upscale through the Portrait model, the working file is 3600x4800. The bride and groom\'s eyes have natural texture. Her veil has individual mesh fibres visible. The flowers in her bouquet look like flowers.
It is printed and framed in my office now. None of the wedding guests are still alive to see it. But I think they would recognise themselves.