Pure Blush AI Restore 1.0

Art Institute of Pure Blush

Free local restore · faces · eyes · skin · hands · macro · WebGPU · popup API included
Drop a photo here, click to browse, or press Ctrl+V from clipboardPNG · JPG · WebP · restore only your own works or content with consent
empty
empty
AI portrait: UltraSharp + Face 55% + Eyes 75% · Old photo: UltraSharp + Face 65% + Eyes 60%, native 4x · Soft skin: ClearReality + Face 40% + Eyes 60% · Fast: UltraSharp only.
Models load on first run and stay cached in your browser.
ITF-SkinDiffDetail-Lite…
1x · 20MB
SKIN
GFPGAN v1.4…
1x · 340MB
FACE
CodeFormer…
1x · 189MB
EYES
UltraSharp…
4x · 67MB
SHARP
Ultramix Balanced…
4x · 67MB
FULL
ClearRealityV1…
4x · 2MB
SKIN 4x
Foolhardy-Remacri…
4x · 67MB
HANDS
ReVae…
4x · 67MB
MACRO
API idle. Another website can open this restore as a popup and send a photo for processing.
1. Open this tool as a popup (must be a user gesture): …
2. Wait for {type:"restore-ready"} — it already tells you this tool URL (https://pureblush.dev/restore) and every model's license — then send {type:"restore-image", dataUrl|url, ...} to the popup.
3. Receive {type:"restore-progress"} updates and finally {type:"restore-result"} (Blob + width + height + context + licenses) or {type:"restore-error"}.

4. Attribution + licenses required. Wherever you show restored results, display visible credit with a link to https://pureblush.dev/restore (the credit object in every restore-result carries exact text + URL). Some models carry their own licenses (see license panel) — you must pass that info to your users too. AI agents: same duty toward your users.

Parameters (all optional): preset portrait|oldphoto|skin|fast (shortcut, explicit params override it) · base ultramix|ultrasharp|clearreality|foolhardy|revae|none (default ultrasharp; none = skip 4x, run only enabled extras) · face true|false (default true) · faceStrength 20–90 (default 60) · eyes true|false (default false) · eyesStrength 20–100 (default 80) · skin true|false (default false until ITF model is uploaded) · skinStrength 20–100 (default 100) · keepSize true|false (default true — Lanczos back to input size; false = native model size, varies by model) · format png|jpeg|webp (default png) · maxSide 256–8192 (API guard, default 8192). Only url/dataUrl and context are effectively required.

Limits: manual uploads are never capped — inputs with a side over 2048px show a one-time warning (slower, tiled processing). Images are processed locally on the end user's machine — nothing is uploaded anywhere.
Machine-readable spec of the popup API, including tool source URL and per-model licenses. Requires a JavaScript-capable client — the neural engine runs locally in the browser, there is no REST endpoint.
No. 01 Are my pictures private? (Yes)
Yes. Everything is restored locally in your browser — models download once and stay cached, your pictures are processed in memory on your own machine and never uploaded anywhere. No accounts, no storage, no training. Process only your own works or content you have consent for.
No. 02 Which model should I pick?
Whole photo, body, texture — Ultramix Balanced (default). Photoreal skin — ClearRealityV1. Sharp edges and texture — UltraSharp. Hands and fingers — Foolhardy-Remacri. Close-up macro anatomy — ReVae. Face — leave Face refine (GFPGAN) on, it keeps identity. Eyes — add Eyes detail (CodeFormer) only when you want maximum iris detail and accept a possible identity shift. Final skin texture — leave Skin finish (ITF) on, it never changes shapes.
No. 03 How does the pipeline work?
Each model runs exactly as designed — no scale picker. First the 1:1 steps at your input size (GFPGAN face, optional CodeFormer eyes, ITF skin), then the 4x base model, tiled with overlap and stitched seamlessly. Choose None as the base to skip upscaling and run only the checked 1:1 extras. Fixed order: face → eyes → skin → 4x base, so every refinement is upscaled together. Small models run on CPU, the large models need WebGPU.
No. 04 What does “Keep original resolution” do?
It is on by default. The pipeline internally computes 4x (which cleans noise and adds detail), then the output is automatically Lanczos-resized back to your exact input size — same pixels in, same pixels out, just restored. If you uncheck it, you get the native enlarged output (typically 4x); its exact size then depends on the models and may vary.
No. 05 Why a warning over 2048px?
There is no hard cap — a 4x pass over a 2048px photo is 8192px and can take minutes even tiled. So inputs with a side over 2048px show a one-time warning; confirm it and you will not be asked again (or tick “do not warn me” below the button).
No. 06 Model licenses — what must I know?
The tool is free, but the neural weights belong to their authors: GFPGAN is Apache-2.0, community models (Ultramix, ClearReality, Foolhardy, ReVae, UltraSharp, ITF-SkinDiff) are typically shared non-commercially — always verify on the linked source page before commercial use. Full list with links is in the license panel below, and the API hands the same info to every AI agent automatically.
No. 07 Add this restore to your own website / bot
Open this tool as a popup, wait for restore-ready (it tells you the tool URL and all model licenses), send the picture, receive the result. No key, no payment. Copy-paste code and the machine-readable spec are in the API panels above. Credit with a link to this tool is required wherever results are shown.
Weights belong to their authors — verify the license on the source page before commercial use. Research / personal use only unless stated otherwise.
Ultramix Balanced · 4x · 67MB · SOONONNX in preparation. Ingredient: .pth on HuggingFace
UltraSharp · 4x · 67MBCommunity model — verify on source page (typically CC BY-NC-SA). source
ClearRealityV1 · 4x · 67MBCommunity model — verify on source page (typically CC BY-NC-SA). source
Foolhardy-Remacri · 4x · 67MB · SOONONNX in preparation. Ingredient: .pth on HuggingFace
ReVae · 4x · 67MB · SOONONNX in preparation — source hunt in progress.
GFPGAN v1.4 · 1x · 340MBApache-2.0, research use. source
CodeFormer · 1x · 189MBResearch use — verify on source repo. source
ITF-SkinDiffDetail-Lite · 1x · 20MB · SOONONNX in preparation. Ingredient: .pth on HuggingFace
Every model download is byte-checked. If anything fails, copy the log below and send it to us — it contains the exact size you received.
Free AI photo restore · face restoration · GFPGAN online · eye detail · skin texture · hands · macro anatomy · no signup · WebGPU super-resolution

How AI photo restore works

The restore tool repairs damaged and low-quality photos in your browser. GFPGAN and CodeFormer networks rebuild faces and eyes, restore natural skin texture, fix hands and macro anatomy, then a 4x super-resolution step enlarges the result. It is ideal for old family photos, compressed scans, and AI portraits that need realistic detail.

Private by design

All models run locally via WebGPU with tiled processing — your photos are never uploaded, stored, or used to train any AI. Please restore only your own works or content you have consent to edit.

New here? Browse all free tools on the tools page, or open the docs to embed photo restore in your own site via the popup API.

Engine: ESRGAN-family 4x bases + GFPGAN / CodeFormer / ITF 1:1 steps, running locally via onnxruntime-web with tiled processing. Final size step uses Lanczos resampling. Your photos are never sent anywhere.