How Model Selection Works
When you upload a photo, Photo Insight runs on Nostalgia's own analysis stack first. It detects damage types, color mode, face count, capture quality, and repair risk. Based on that analysis, the restore flow builds a recipe — an ordered sequence of AI tools — and selects the best model for each step automatically.
Text features follow the same rule. Captions, stories, and date estimates reuse the upload-time analysis and saved metadata when possible, so the system does not need to re-read the image on every request.
Restoration
Fix scratches, tears, fading, and age wear.
| Model | Status | Best For | Notes |
|---|---|---|---|
| Scene Restore (default) | Active | Most photos | Default restore baseline for old family photos. Better scene-level repair than the old fake SwinIR-lite route, with room for face-specific follow-up when needed. |
| GFPGAN Restore | Active | Gentler portrait cleanup | Face-focused repair fallback. Useful when portraits need facial clean-up after or instead of scene restoration. |
| CodeFormer Restore | Active | Damaged portraits | Promoted from canary 2026-03-11. High-quality face restoration, particularly strong on portraits. Monitor for over-reconstruction on small or soft faces. |
| SwinIR Restore | Candidate | Benchmark comparison | True SwinIR candidate for denoising and compression repair. Benchmark-only until its best task mode is validated on real family-photo scans. |
| FLUX Kontext | Candidate | Premium generative evaluation | Premium generative restore candidate. Benchmark-only until trust, licensing, and artifact risk are acceptable for family photos. |
| Topaz Dust & Scratch | Candidate | Surface-defect heavy photos | Premium archival clean-up candidate for dust and surface defects. Expect a materially slower pass than the launch-safe default. Benchmark-only until real-photo trust scores are collected. |
| SUPIR | Candidate | High-detail premium evaluation | SUPIR diffusion-based restoration. Best perceptual quality for high-res photos. Significantly slower and more expensive than Microsoft Old Photo — evaluate for Pro tier premium restore option only. CVPR 2024. |
| DiffBIR | Canary | Mixed blur, noise, and compression | DiffBIR blind image restoration. Handles mixed degradation (blur + noise + compression) in a single pass. Promoted to canary 2026-03-25 for heavy-damage routing. ICLR 2024. |
Default restore baseline for old family photos. Better scene-level repair than the old fake SwinIR-lite route, with room for face-specific follow-up when needed.
Face-focused repair fallback. Useful when portraits need facial clean-up after or instead of scene restoration.
Promoted from canary 2026-03-11. High-quality face restoration, particularly strong on portraits. Monitor for over-reconstruction on small or soft faces.
True SwinIR candidate for denoising and compression repair. Benchmark-only until its best task mode is validated on real family-photo scans.
Premium generative restore candidate. Benchmark-only until trust, licensing, and artifact risk are acceptable for family photos.
Premium archival clean-up candidate for dust and surface defects. Expect a materially slower pass than the launch-safe default. Benchmark-only until real-photo trust scores are collected.
SUPIR diffusion-based restoration. Best perceptual quality for high-res photos. Significantly slower and more expensive than Microsoft Old Photo — evaluate for Pro tier premium restore option only. CVPR 2024.
DiffBIR blind image restoration. Handles mixed degradation (blur + noise + compression) in a single pass. Promoted to canary 2026-03-25 for heavy-damage routing. ICLR 2024.
Generative Reimagine
Frontier image-editing candidates for opt-in reconstruction experiments. These are benchmark-only until identity preservation and disclosure rules are proven.
| Model | Status | Best For | Notes |
|---|---|---|---|
| GPT Image 2 | Candidate | Frontier reimagine benchmark | Frontier OpenAI image-edit candidate for opt-in reimagining of damaged photos. Benchmark-only until identity preservation, disclosure copy, cost, and rate limits are acceptable. |
| Gemini 3.1 Flash Image | Candidate | Fast frontier reimagine benchmark | Google Nano Banana 2 / Gemini 3.1 Flash Image candidate for fast image editing and reimagining. Benchmark-only; keep outputs disclosed as generative. |
| Gemini 3 Pro Image | Candidate | High-quality frontier reimagine benchmark | Google Nano Banana Pro / Gemini 3 Pro Image candidate for high-quality image editing. Benchmark-only; never default to factual restore without identity-safety evidence. |
| Imagen 4 Ultra | Candidate | Quality reference benchmark | Imagen 4 Ultra frontier comparison candidate. Include in review sheets for quality reference; not a default family-photo restore route. |
| FLUX.2 Dev | Candidate | Open-core frontier comparison | FLUX.2 frontier comparison candidate for image editing and reimagining. Keep separate from FLUX Kontext restore candidate until provider endpoint and license fit are verified. |
Frontier OpenAI image-edit candidate for opt-in reimagining of damaged photos. Benchmark-only until identity preservation, disclosure copy, cost, and rate limits are acceptable.
Google Nano Banana 2 / Gemini 3.1 Flash Image candidate for fast image editing and reimagining. Benchmark-only; keep outputs disclosed as generative.
Google Nano Banana Pro / Gemini 3 Pro Image candidate for high-quality image editing. Benchmark-only; never default to factual restore without identity-safety evidence.
Imagen 4 Ultra frontier comparison candidate. Include in review sheets for quality reference; not a default family-photo restore route.
FLUX.2 frontier comparison candidate for image editing and reimagining. Keep separate from FLUX Kontext restore candidate until provider endpoint and license fit are verified.
Face Enhancement
Refine portraits after the main restore pass when faces still need help.
| Model | Status | Best For | Notes |
|---|---|---|---|
| CodeFormer Face Enhance | Active | Soft or damaged faces | CodeFormer face restoration as a standalone step. Run after general restoration to enhance individual faces. Uses fidelity_weight=0.7 by default. |
| GFPGAN Face Enhance | Active | Subtle face cleanup | GFPGAN face restoration fallback. Less aggressive than CodeFormer, useful when CodeFormer over-reconstructs soft or small faces. Improvements are often subtle on well-preserved faces — most visible when zooming in at full resolution. |
| OSDFace | Canary | Fast one-step face enhancement | OSDFace one-step diffusion face enhancement. 0.1s for 512x512 — dramatically faster than CodeFormer. CVPR 2025. Promoted to canary 2026-03-25 after benchmark review. |
CodeFormer face restoration as a standalone step. Run after general restoration to enhance individual faces. Uses fidelity_weight=0.7 by default.
GFPGAN face restoration fallback. Less aggressive than CodeFormer, useful when CodeFormer over-reconstructs soft or small faces. Improvements are often subtle on well-preserved faces — most visible when zooming in at full resolution.
OSDFace one-step diffusion face enhancement. 0.1s for 512x512 — dramatically faster than CodeFormer. CVPR 2025. Promoted to canary 2026-03-25 after benchmark review.
Colorization
Add natural color to black-and-white photos.
| Model | Status | Best For | Notes |
|---|---|---|---|
| DDColor (default) | Active | Most black-and-white photos | Balanced default colorizer. Use conservatively on weak inputs; stronger scans score better. May occasionally produce muted or unnatural colors — compare before accepting and re-run if needed. |
| DeOldify | Active | Alternative color interpretation | Economical fallback colorizer. Useful for comparison, but generally less trustworthy than DDColor or Topaz on founder-grade photos. |
| Topaz (Colorize) | Active | Colorize | Premium colorization candidate for the quality lane. Slower than DDColor and only worth it when the still already feels trustworthy. Promote only with artifact review, not metadata alone. |
| InstColor | Candidate | Skin-tone evaluation canary | InstColor instance-aware colorization. Better skin tone handling than DDColor, supports user-guided color hints. Benchmark for skin tone accuracy across diverse photos. |
Balanced default colorizer. Use conservatively on weak inputs; stronger scans score better. May occasionally produce muted or unnatural colors — compare before accepting and re-run if needed.
Economical fallback colorizer. Useful for comparison, but generally less trustworthy than DDColor or Topaz on founder-grade photos.
Premium colorization candidate for the quality lane. Slower than DDColor and only worth it when the still already feels trustworthy. Promote only with artifact review, not metadata alone.
InstColor instance-aware colorization. Better skin tone handling than DDColor, supports user-guided color hints. Benchmark for skin tone accuracy across diverse photos.
Denoise
Reduce scan noise and grain before heavier repair work.
| Model | Status | Best For | Notes |
|---|---|---|---|
| SwinIR Denoise | Active | Noisy scans | SwinIR denoising mode. Run before restoration to prevent noise amplification. Uses noise_level=25 by default. |
SwinIR denoising mode. Run before restoration to prevent noise amplification. Uses noise_level=25 by default.
Enhancement
Sharpen and upscale once the base repair looks trustworthy.
| Model | Status | Best For | Notes |
|---|---|---|---|
| Real-ESRGAN | Active | Low-resolution scans | Real-ESRGAN 2x super-resolution. Use after restoration, not as a substitute for restore. Does not work on grayscale images — colorize first if photo is B&W. |
Real-ESRGAN 2x super-resolution. Use after restoration, not as a substitute for restore. Does not work on grayscale images — colorize first if photo is B&W.
Deblur
Reduce motion blur and softness from handheld captures.
| Model | Status | Best For | Notes |
|---|---|---|---|
| NAFNet | Active | Phone captures and photo-of-photo blur | NAFNet deblurring for soft captures and photos-of-photos. Promoted to active 2026-03-18 after canary validation. |
NAFNet deblurring for soft captures and photos-of-photos. Promoted to active 2026-03-18 after canary validation.
Deglare
Reduce glare from glossy prints and framed photos.
| Model | Status | Best For | Notes |
|---|---|---|---|
| Composite Deglare | Active | Mild to moderate glare | Local OpenCV glare detection (LAB bright+neutral mask) + Telea inpainting. Replaced NAFNet which was just running deblurring. Works on mild-moderate glare. Zero inference cost. Future: evaluate WindowSeat diffusion model for heavy glare. |
Local OpenCV glare detection (LAB bright+neutral mask) + Telea inpainting. Replaced NAFNet which was just running deblurring. Works on mild-moderate glare. Zero inference cost. Future: evaluate WindowSeat diffusion model for heavy glare.
Background Removal
Cut out a subject cleanly when you need a shareable or printable silhouette.
| Model | Status | Best For | Notes |
|---|---|---|---|
| rembg | Active | Clean subject cutouts | Background removal via rembg. |
Background removal via rembg.
Animation
Generate subtle motion from trusted still portraits.
| Model | Status | Best For | Notes |
|---|---|---|---|
| MiniMax Live | Active | Trusted portraits | Commercial-safe still-image animation baseline. Use only after the still passes a dignity and trust check. |
| LivePortrait Research | Canary | Cheaper motion canary | Promoted to canary 2026-03-11. Uses system driving videos for automatic subtle motion. 20x cheaper than MiniMax at comparable portrait quality. Monitor for uncanny motion artifacts. |
Commercial-safe still-image animation baseline. Use only after the still passes a dignity and trust check.
Promoted to canary 2026-03-11. Uses system driving videos for automatic subtle motion. 20x cheaper than MiniMax at comparable portrait quality. Monitor for uncanny motion artifacts.
Captions, Stories & Date Estimates
Shared text-intelligence operations reuse upload-time Photo Insight and metadata when possible, then return structured caption, story, and date outputs.
| Model | Status | Best For | Notes |
|---|---|---|---|
| Claude Haiku 4.5 Caption | Active | Captions and date estimates | Claude Haiku 4.5 caption generation. |
| Claude Haiku 4.5 Story | Active | Longer family narratives | Claude Haiku 4.5 family story generation. |
Claude Haiku 4.5 caption generation.
Claude Haiku 4.5 family story generation.
Known Failure Modes
AI restoration is powerful but not infallible. Here are the scenarios where models struggle or do not work, and what to do instead.
| Scenario | Tool | Severity | Advice |
|---|---|---|---|
| Daguerreotypes & plates | Restore | Does not work | Seek professional conservation |
| Heavy emulsion lifting | Restore | Poor results | Missing emulsion = missing data |
| Grayscale input | Enhance | Does not work | Colorize first, then enhance |
| Very small faces | Face Enhance | May hallucinate | Compare before/after carefully |
| Heavy glare (washed out) | Deglare | Limited results | Rescan with indirect light |
| Original camera blur | Deblur | Limited results | Rescan on flatbed if possible |
| Muted colors | Colorize | Inconsistent | Re-run colorization, or try a different photo crop |
Seek professional conservation
Missing emulsion = missing data
Colorize first, then enhance
Compare before/after carefully
Rescan with indirect light
Rescan on flatbed if possible
Re-run colorization, or try a different photo crop
See the AI in action
All this technology works behind the scenes. You just upload a photo and get a result.