Restore & Revive: Bringing Damaged Photos Back to Life
Colorize, denoise, and repair damaged historical photos with one command. Klein 9B vs Qwen Image Edit 2511 across five public-domain photos, three prompts, and a 4K finish — full commands to reproduce everything.
Two models, same photo, same seed — and the prompt change matters more than the model change.
This guide tests how far a single edit command actually goes. Five public-domain photos covering the damage spectrum, three named prompts, two models — Klein 9B and Qwen Image Edit 2511. Every command included.
modl edit "Colorize and restore this image." --image old.jpg --base flux2-klein-9b
The two models
Klein and Qwen can’t share VRAM simultaneously — run them sequentially or use modl run batch.yaml (the worker serializes automatically).
The corpus
Five public-domain photos from Wikimedia Commons (Library of Congress and federal collections), chosen to cover the damage spectrum: pristine → pure colorize → speckling → heavy emulsion loss → wide aerial scene (hard mode).

Lincoln (1863) — Gardner. Pristine. Famous-face test.

Migrant Mother (1936) — Lange / FSA. Pure colorize.

McRae (1860) — daguerreotype. Speckling, edge wear.

Cooper (~1902) — emulsion failure on the left.

SF 1906 — Lawrence kite photo. Wide aerial scene.
Quick answer
No masks. No scratch detection. No separate face-restore step. Just modl edit "..." and, if you want 4K, modl process upscale. That’s the whole pipeline.
Test 1: The Faithful prompt
Colorize and restore this image. — the default. Same seed (42), single generation per cell.
Lincoln — face fidelity

Klein 9B — slightly idealized skin, brown bow tie

Qwen Edit 2511 — deeper wrinkles, maroon bow tie
Both faithful. Different palettes — both clearly Lincoln. Klein is vivid and modernized; Qwen is muted and period-faithful. Different aesthetic targets, both valid — pick by what you want the result to look like.
Migrant Mother — pure colorize

Klein 9B — vivid period color, pink gingham

Qwen Edit 2511 — muted, sun-bleached
Klein looks like Lange shot it on Kodachrome. Qwen looks like a 1950s reprint. Both keep the expression and composition.
McRae — daguerreotype speckling

Klein 9B — frame removed, modernized portrait

Qwen Edit 2511 — case edge preserved
Klein removes the daguerreotype frame and modernizes. Qwen preserves the case edge and period feel. For phone captures of physical prints, Qwen handles borders and glare better.
Cooper — heavy emulsion damage

Klein 9B — damage replaced with period wreath (content invented)

Qwen Edit 2511 — damage smoothed to dark background
The damaged region — about a quarter of the frame — is gone in both. One command, no mask. Klein fills with confident period-plausible content; Qwen smooths damage into neutral background. For surgical replacement of a small damaged region where everything else must remain pixel-identical, see Inpainting with LanPaint.
SF 1906 — wide aerial scene

Klein 9B — reimagines earthquake ruins as a thriving city (wrong)

Qwen Edit 2511 — adds modern skyscrapers (wrong)
Wide aerial scenes break edit-based restoration. Edit models are trained on portraits and product shots; a panorama with thousands of small features triggers reference-style invention rather than colorize. Both models reimagined the scene rather than restoring it. For aerials and landscapes today, tile manually or skip.
What edit models actually do: denoising diffusion conditioned on the source image and the text instruction — not pixel-level inpainting. The model regenerates the whole image guided by the original. That’s why the prompt has so much leverage over the result, and why wide scenes with thousands of small features go wrong.
Test 2: The Modern prompt trap
Same Lincoln, same seed, only the prompt changed — the Modern prompt:
Turn this image into a modern color photograph.

Klein 9B — fashion-magazine face, fuller cheeks

Qwen Edit 2511 — smoothed face, evened asymmetry
Both redrew the face. The phrase does two things at once:
- Asks for color (fine).
- Asks for modern photographic conventions — sharp skin, warm lighting, beauty retouching — which override the period source.
Turn this into a modern color photograph is great for impact, terrible for fidelity. For recognizable historical figures, use the Faithful prompt instead — and if you need a transformative result, see Test 3.
Test 3: The Modern + Preservation prompt
The key question: if a transformative prompt drifts the face, can preservation language pull it back? Same Modern prompt with a constraint clause appended — the Modern + Preservation prompt:
Turn this image into a modern color photograph. Maintain identical facial expression, maintain facial integrity. Preserve original lighting and composition.

Klein 9B — gauntness restored, wrinkles back

Qwen Edit 2511 — recognizable Lincoln returned
The rescue works. Compared to Test 2, both faces are dramatically closer to the original — Klein recovers the cheek hollows and brow asymmetry; Qwen recovers the deep-set eyes and weathered skin. The “modern photograph” instruction is partially honored (cleaner backgrounds, more contemporary lighting on Klein), but the face is anchored.
The preservation clause: your insurance policy against face drift.
When you need a transformative prompt — relighting, stylization, scene change — append this clause and the face survives. You don’t have to choose between transformation and fidelity.
Maintain identical facial expression, maintain facial integrity.
Preserve original lighting and composition. Both models erase fine skin detail by default. Freckles, scars, birthmarks — if you don’t name the feature explicitly, it won’t survive. This is true even with the Faithful prompt. Use: preserve freckles on cheeks and nose, natural film grain skin texture, no smoothing, no beauty retouching. Then run with --count 4 and pick the variant that kept it best.
4K finish
Edit at source resolution, then upscale. Most of the wall-clock budget is in the edit — upscale is consistently a few seconds.
Edit colorizes and denoises. Upscale reconstructs detail at 4×. Two commands, print-ready.
Failure modes
When accuracy matters, specify era and medium: Colorize this 1860s daguerreotype with period-accurate tones. Stack with the preservation clause from Test 3.
Prompt cookbook
Faithful — the default. Try this first:
Colorize and restore this image.
Heavy damage:
Restore this damaged photograph. Repair surface damage. Colorize naturally.
Modern + Preservation — transformation with face anchored:
Turn this image into a modern color photograph.
Maintain identical facial expression, maintain facial integrity.
Preserve original lighting and composition.
Sepia, no color:
Restore this image. Remove damage. Keep original sepia tones.
Light denoise only:
Reduce noise, add natural quality. Preserve all detail.
Period-anchored (fill in {era} and {medium}):
Colorize this {era} {medium} with period-accurate tones.
Portrait with distinctive skin features (freckles, scars, birthmarks):
Colorize naturally. Preserve [specific feature, e.g., freckles on cheeks and nose].
Keep exact face shape and proportions. Natural film grain skin texture,
no smoothing, no beauty retouching.
Test 1 used single seeds for fairness. In real use, run --count 4 on the shots that matter and pick the best — even faithful prompts vary between seeds. This isn’t cherry-picking; it’s normal practice for production output.
Batch workflow: restoring a whole folder
For more than a handful of photos, use modl run with a YAML spec instead of running modl edit once per file. The worker serializes the jobs automatically — no VRAM contention, no manual sequencing.
# restore-family-album.yaml
name: restore-family-album
model: qwen-image-edit-2511
defaults:
seed: 42
steps:
- id: photo-01
edit: "/path/to/photo-01.png"
prompt: "Restore this damaged photograph. Repair surface damage. Colorize naturally. Maintain identical facial expression, maintain facial integrity. Preserve original lighting and composition."
- id: photo-02
edit: "/path/to/photo-02.png"
prompt: "Restore this damaged photograph. Repair surface damage. Colorize naturally. Maintain identical facial expression, maintain facial integrity. Preserve original lighting and composition."
modl run restore-family-album.yaml --dry-run # validate first
modl run restore-family-album.yaml # run all
All outputs land in ~/.modl/outputs/<date>/ alongside single-edit results. To compare Klein and Qwen on the same batch, run two separate YAML files back-to-back, not simultaneously — they can’t share VRAM.
Get started
One edit, one upscale. Pick the best from --count 4, send it to 4K. The prompt you write matters more than the model you pick — and the preservation clause is your insurance when the default drifts.
Related guides
- From Draft to Final: Upscale + Score — RealESRGAN deep-dive
- Stuck on Z-Image? What Klein 9B Does Differently — broader Klein comparison
- Inpainting with LanPaint — surgical repair with masks
- Image Primitives — full edit, upscale, analysis command set
- Multi-Stage Workflows — chaining edit, inpaint, upscale