Restoring old family photos with AI: what's recovered and what's invented
A creased 1914 glass-plate portrait, four AI models, about six cents. What came back beautifully, and which parts the machine made up.
Somewhere in your family there is a box like this: a few dozen prints, one of them the only surviving picture of somebody’s grandparents, two inches wide, creased down the middle, silver mirroring at the corners. Nobody dares touch it, so nobody does anything with it. This post is about doing something with it this weekend, for less than the price of a stamp.
To keep it honest we did the whole job on a real photograph with real damage: a glass-plate studio portrait of a young soldier and a young woman, taken around 1914 by the Australian photographer Alexander Galloway and now in the public domain. A century took its toll on the plate: black blooms where the emulsion died, a scratch straight across both figures, edges rotted to lace. Every image below is the first result the model returned, no rerolls, run through four models on July 31, 2026 for about six cents total.
One idea organizes everything, and it is the difference between a restoration your grandchildren will thank you for and a pretty fake. Repair recovers what the photograph still contains. Colorization and heavy enhancement invent what it never contained. Both are useful. You just have to know which one you are looking at, and keep the original either way.
The scan decides everything downstream
Every model in this post works from your scan, not your print, so the scan is the one step worth doing slowly. The good news is that a phone is enough if you treat it like a copy stand. Lay the print flat on a table near a window. Use daylight, from the side, and turn the flash off; flash is where the white glare blobs come from. Hold the phone directly above, square to the print, and fill the frame. Wipe the lens first. That is the whole technique, and botching it is the most common way people ruin a restoration before it starts.
Resolution matters more than app choice. The FADGI guidelines that US federal archives follow put serious digitization at 300 to 400 pixels per inch and their top tier above 400; for a small print, a flatbed scanner at 600 dpi is the comfortable version of that advice. A modern phone camera filling the frame on a 4×6 print clears the bar easily. What can’t be fixed later is a scan that is blurry, keystoned, or glared, so take three and keep the best.
Two habits make the batch go fast. Scan the whole box in one sitting, damage and all: do not crop around a torn corner or skip the “ruined” ones, because the ruined ones are precisely the photos the later steps are for, and the models need to see the full frame to read what survives. And name each file something you will still understand in ten years: grandpa1914_scan_untouched.jpg. That file is about to become the most important object in this story.
True repair only recovers, and sometimes that isn’t enough
Our first pass used the most honest tool in the box: Bringing Old Photos Back to Life, a Microsoft research model published at CVPR 2020, built specifically for old-photo damage: scratches, dust, fading, blur. It is trained to map a damaged photo back toward a clean one, not to imagine a new photo.
Look at what it did and what it refused to do. The grain calmed down, the faces came back clean and convincingly sharper, the mid-tones opened up. And the catastrophic damage, the black blooms and the burned edges, barely moved, because there is nothing under them to recover. The emulsion there is gone; the information no longer exists. A recovery tool hits that wall honestly. For a print with creases, spots, and fading, this class of model may be all you need. For a plate this far gone, it is half the answer.
A note on where these tools live, because it changes who can use them. We called each model through Replicate’s API, which is the tinkerer’s route and the reason this post has exact receipts. But every restoration model named here is open source, which means the same repair can run entirely on your own computer, and for a box of private family photographs that matters: nothing has to leave the house. If that idea appeals, our tour of everyday offline AI wins covers the local-first version of jobs exactly like this one.
The one-click restore is beautiful, fast, and partly fiction
The second pass is the one you have seen going around group chats: a restoration app built on FLUX Kontext, a general image-editing model that treats “restore this” as an instruction like any other. Eleven seconds and four cents later, the plate looked like it was developed yesterday.
It is a genuinely stunning result, and it is not a recovery. It is a confident repainting. Where the research model stopped at the missing emulsion, this one filled the gap with what statistically belongs there. The damage sat on the soldier’s head, so it painted him hair. The photographer’s painted studio backdrop, standard for 1914 portraits, came back as an actual forest, which means the restored image places these two people somewhere they never stood. It colorized the scene without being asked. None of this is a malfunction. A generative restorer is doing exactly what it is for: producing the most plausible intact photograph consistent with the wreckage.
For a wall print, that trade is often worth it. For the family archive, it is a different object than the photograph, and the difference is exactly the parts you cannot check. If the damage covers a face, be especially careful: the model will produce a face, fluently, and it may not be your relative’s. Faces are identity. When damage and a face overlap, prefer the conservative tool, or accept that you are commissioning a portrait, not restoring one.
Colorization is a guess, and three models guess differently
Colorizing the grandparents’ portrait is the wow moment of every restoration story, so we did it three ways: the cleaned-up plate through DDColor and DeOldify, plus the coloring Kontext volunteered on its own.
A black-and-white photograph records brightness, not color. The original color of that uniform is simply not in the file, so a colorizer predicts it, the way a chat model predicts the next word. The researchers behind DDColor say it plainly: colorization suffers from “multi-modal uncertainty,” meaning many colors are equally consistent with the same grey. Here that stopped being abstract: one model dressed the soldier in blue, one in purple-brown, one in grey-green, and history says the real answer was khaki. The blouse stayed white in all three because whites are easy. The things a family actually argues about, the dress, the ribbon, the medal, are exactly where the models disagree.
So colorize, by all means. It is moving in a way the grey original sometimes is not. Just caption it as what it is: an educated guess. If a specific color matters, ask a relative, a letter, or a museum, not the model.
Upscaling is what makes it frameable
The restored file was 880 pixels wide, fine for a phone screen, mush at frame size. Print shops want around 300 dots per inch, so 880 pixels buys you roughly a 3-inch-wide print. One pass through Real-ESRGAN at 2× doubled it to 1,760 pixels: comfortable at 5×7, presentable at 8×10.
Upscalers sit between the two poles of this post. At 2×, mostly recovery: edges tighten and the detail that is faintly there gets resolved. Pushed to 4× and 8×, they drift toward invention, because models like Real-ESRGAN are trained to synthesize plausible texture, and at big factors the texture is more synthesis than photograph. The practical rule: upscale as little as your print size needs, and leave the face-enhancement toggle off on family photos.
Keep the original, label the copies
The receipts above are the easy part. The part your grandchildren will care about is a habit, and it costs nothing: the untouched scan is the archival object, and everything else is a copy with a story. Concretely:
Keep the untouched original, always. The print goes back in the box, and the raw scan gets backed up in two places before any model touches a copy. Label what was done in the filename itself: restored, colorized, upscaled. A colorized photo that circulates the family group chat unlabeled becomes the family’s memory of the wedding dress within a generation. Say the colors are guesses when you share one; it takes one sentence. And go easy on faces: enhancement that turns great-grandma’s soft, damaged face into a crisp stranger’s has not restored her, it has replaced her.
Then do the nice part: print it. A 5×7 of the restored portrait, framed, is one of the highest emotion-per-dollar gifts that exists, and the whole pipeline behind it cost six cents and an afternoon. One care note: when the photo is being restored for a memorial or an anniversary of a loss, lean conservative. A repaired, still black-and-white portrait reads as the person remembered; a heavily regenerated one can read, to the people who knew them best, as almost them. Almost is the wrong feeling in that room. When in doubt, bring both versions and let the family choose.
Batch the rest of the shoebox on a rainy weekend: scan everything first, conservative repair for the merely worn, the generative tool for the truly wrecked, colorize the ones that want it, upscale only what you intend to print.
If this was your first time steering an image model, the describing skill transfers everywhere; our beginner’s guide to AI images is the natural next afternoon, and the plain-English tour covers what else these models can quietly do for a family. The box in the closet is not getting better on its own. Six cents says it doesn’t have to.


