Photo and video restoration
The system decides the grade; clients get no grade selector.
Grades (system-decided)
R1
Faithful restore
- Trigger
- Damage ≤30%, restoration stack available
- Result
- Restore only, no inpainting
R2
Faithful + human review
- Trigger
- Damage 30–60%, restoration stack available
- Result
- Restore plus human review
R3
With generative inpainting
- Trigger
- Damage >60% or inpainting add-on
- Result
- Restore + inpaint, always labelled
R4
Declined
- Trigger
- Main subject face missing
- Result
- Declined, no charge
Thresholds
Intervals are continuous; a gap cannot be saved.
| Grade | Damage range | Action |
|---|---|---|
| R1 | 0% – 30% | faithful |
| R2 | 30% – 60% | manual |
| R3 | 60% – 100% | creative |
| R4 | Face missing | reject |
Pipeline steps
Each step binds a capability tag.
| Step | Capability | Availability |
|---|---|---|
| Denoise | image.restore.denoise | Available |
| Descratch | image.restore.descratch | Available |
| Deblock | video.restore.deblock | Available |
| Stabilise | video.restore.stabilise | Available |
| Interpolate | video.restore.interpolate | Available |
| Upscale | image.restore.upscale | Available |
| Colourise | image.restore.colorize | Add-on |
| Mosaic restore (asset match) | asset.match | Match = traceable restore; otherwise R3 |
How we handle mosaics
Mosaics are down-then-up sampled, so original pixels are irreversibly lost. We first look for a clear version of the same frame; a match is traceable restoration. Otherwise we rebuild plausibly and label it as generative inpainting.
Inpainting is off by default; when bought it is labelled.
FAQ
Do I pick the restoration grade?
The system decides R1–R4 from damage ratio and available capability. Inpainting is off by default and must be labelled.