Files
video/skills/creative/face-restore-usage.md
calesthioandHanzo Dev 7ffb943132 Initial release — OpenMontage: the first open-source agentic video production system
11 production pipelines, 47 tools, 124 agent skills.
Supports cloud APIs (fal.ai, OpenAI, ElevenLabs, Suno, HeyGen, Runway) and
free local providers (diffusers, Piper TTS, WAN 2.1, Hunyuan, CogVideo).

Co-authored-by: Hanzo Dev <[email protected]>
2026-03-29 08:25:17 -07:00

3.8 KiB

Face Restoration Usage for OpenMontage

Sources: CodeFormer paper (Zhou et al. 2022), GFPGAN documentation, Real-ESRGAN upsampling docs, existing Layer 2 skill at skills/creative/enhancement-strategy.md

Quick Reference Card

DEFAULT MODEL:    CodeFormer with fidelity 0.5
ALTERNATIVE:      GFPGAN (faster, less controllable)
FIDELITY RANGE:   0 = max quality enhancement, 1 = max faithfulness to input
BG UPSAMPLER:     Enable to also upscale the background (Real-ESRGAN)
PROCESSING ORDER: face_restore BEFORE face_enhance — restore first, polish second

CRITICAL DISTINCTION — face_restore vs face_enhance

Tool What It Does When to Use
face_enhance FFmpeg filter chains — skin smoothing, color balance, sharpening Good-quality footage that needs polish
face_restore AI model reconstruction — rebuilds degraded face detail Bad-quality footage with blur, compression, low-res faces

Decision rule: If the face is recognizable and just needs polish, use face_enhance. If the face is degraded, blurry, or compressed beyond recognition, use face_restore.

Model Selection

Model Strengths Fidelity Control Speed
CodeFormer Better quality, identity preservation, controllable Yes (0-1 slider) Slower
GFPGAN Good baseline, simpler No Faster

Fidelity Tuning (CodeFormer Only)

Fidelity Effect Use Case
0.0 Maximum enhancement — best visual quality but may alter identity Unrecognizable faces, artistic use
0.3 Strong restoration — good for very degraded faces Old footage, heavy compression artifacts
0.5 Balanced (default) — restoration + identity preservation General-purpose restoration
0.7 Conservative — mild cleanup, strong identity preservation Webcam footage, light degradation
1.0 Minimal change — essentially passthrough Testing, comparison baseline

Common Workflows

1. Old Footage Restoration

face_restore (fidelity 0.3) → color_grade → compose

Heavy restoration for archival/vintage footage where faces are significantly degraded.

2. Webcam Cleanup

face_restore (fidelity 0.7) → face_enhance (talking_head_standard) → compose

Light restoration followed by polish — best for modern but low-quality webcam footage.

3. Low-Res Face + Background Upscale

face_restore (bg_upsampler=true) → compose

Single-step restoration when both face and background need improvement.

4. Archival Photo for Talking Head

face_restore → talking_head tool (SadTalker)

Restore the source face image before feeding into the talking-head animation pipeline.

Quality Checklist

Before accepting face_restore output, verify:

  • Restored face is sharper and cleaner than input
  • Identity is preserved — the person is still recognizable
  • No hallucinated features (extra eyes, wrong skin texture, teeth artifacts)
  • Skin texture looks natural, not plastic/over-smoothed
  • Consistent across frames (for video) — no flickering between restored/unrestored quality

Applying to OpenMontage

When using the face_restore tool:

  1. Use face_restore BEFORE face_enhance in the processing chain — restore first, polish second
  2. Start with fidelity 0.5 and adjust based on visual inspection
  3. For talking-head pipelines with poor source footage, apply face_restore in the assets stage
  4. Enable bg_upsampler only when both face AND background need improvement
  5. NEVER use face_restore on already-good footage — it can introduce subtle artifacts
  6. Compare input and output side-by-side — the face should be recognizably the same person
  7. For video, extract key frames and test face_restore settings before processing full video