AI-assisted portrait retouching for photographers, in the spirit of Evoto, but open source and entirely on your own computer. No uploads, no accounts, no per-image credits. Built for studio and outdoor portraits, from 24 MP up to 100 MP medium format.
Part of a family of apps by Chris Cork Photography, alongside RapidCulling and RapidTimelapse.
Actively developed: expect frequent updates.
New to RapidRetouch? Watch the tutorial:
Recent Changes
- 2026-10-07 (v1.0.3): JPEGs open the right way up, faces found in full-length and low-key shots, a Rotate 90° button, relight that follows each face when pasted or in a preset, true colours for iPhone and Adobe RGB JPEGs, and exports that keep the camera's information
- 2026-10-05 (v1.0.2): Remove tools move to the top bar, an eye on each slider to switch it off, instant Opacity sliders, faster patching, a histogram behind the tone curve, and Acne finds spots it missed
- 2026-10-05 (v1.0.1): New Relight panel and Dehaze, face tools keep off hats, better side profiles, and faster sliders on laptops
- 2026-10-04 (v1.0.0): First release: installers for Windows, Mac and Linux with a one-time engine setup, AI models on an NVIDIA GPU, a Mac's GPU or the CPU, plus Pores and Blemishes sliders and panel Opacity
- 2026-10-03: Faster previews and zooming, rebuilt Acne tool, crop & straighten, batch export, new tone and eye controls
- 2026-09-30: 16-bit TIFF export, neck & body skin, refine-area brushes and three-slider dodge & burn
- 2026-09-28: First version: skin, eyes, mouth, backdrop, dodge & burn, patch tool, presets and film strip
Every adjustment is a slider (or a brush where a slider can't know what you mean), applied non-destructively and live on a 2048 px preview, with full-resolution detail when you zoom in. Each slider from Skin down has an eye to switch it off and on.
| Panel | Tools |
|---|---|
| Remove (top bar) | Remove brush (B, LaMa inpainting), Glasses reflections (G, alpha), Patch (P, Photoshop-style lasso + drag); each with its own size, Undo, Clear and Hold for before |
| Tone | Temperature, Tint, Exposure (±2.5 EV), Dehaze, Vibrance (skin protected), Luminosity curve (light only, never colour) with a histogram behind it |
| Backdrop | Smoothing (creases, seams, dust) with matched grain, Evenness, Brightness (±2.5 EV), edge protection for hair; Backdrop / Outdoor mode, detected automatically |
| Skin (Face / Neck / Body tabs) | Acne, Blemishes, Smooth, Even tone, Texture, Pores, Shine (matte ↔ gloss); Wrinkles: forehead, frown, smile and cheek lines, chin, neck lines. Moles are kept. Refine area brush per tab |
| Dodge & burn | Contour, Highlights, Shadows (keeps off hair and hats) |
| Relight | A radial light placed over the face: Exposure, Warmth and Feather, with the circle moved, stretched, turned and feathered by hand; pasted or in a preset, it goes on each photo's own face |
| Eyes | Dark circles, Eye bags, Wrinkles, Eye whites, Eye veins, Iris, Iris saturation, Iris hue, Catch light, Eyelashes |
| Mouth | Lip hue, Lip saturation, Lip smoothing, Teeth whitening |
| Clothes | Fine creases (shadow softening; use Patch for full removal) |
Skin, Dodge & burn, Eyes and Mouth each have an Opacity that fades the whole panel together.
Plus: a film strip with multi-select, copy/paste of settings, presets, a per-panel "Hold for before", crop & straighten with Rotate 90°, and batch export to 16-bit TIFF or maximum-quality JPEG (optionally scaled to a long edge) with a progress bar per photo. Opens RAW files from most cameras, TIFF and JPEG; exports keep the original's colour profile and camera information (camera, lens, capture date, exposure, copyright).
Only permissively licensed models are used by default, because the people using this do paid client work. Weights are never stored in this repository: they're downloaded on first use from their official source and verified by checksum.
| Model | Used for | Licence |
|---|---|---|
| BiRefNet HR | Subject mask (backdrop tools) | MIT |
| LaMa | Remove brush | Apache-2.0 |
| MediaPipe Face Landmarker | Face, eye and mouth positions | Apache-2.0 |
| MediaPipe Multi-class Selfie Segmentation | Hair, clothes and skin areas | Apache-2.0 |
All the retouching sliders themselves are classic image processing (frequency separation, edge-aware filters, linear-light dodge & burn), not generative AI, so faces are never redrawn. Models with non-commercial licences may be offered later as opt-in extras, behind a licence prompt.
Download the installer for your computer from Releases, install it, and open RapidRetouch. There's nothing to set up.
- Windows (64-bit):
RapidRetouch_…_x64-setup.exe(or the.msi). - Mac (Apple Silicon: M1 and later):
RapidRetouch_…_aarch64.dmg. Open it and drag RapidRetouch into Applications. Intel Macs aren't supported: the AI library it uses no longer makes Intel Mac versions. - Linux:
RapidRetouch_…_amd64.AppImageruns on most distributions (make it executable, then open it), or install the.deb/.rpmfor your distribution.
First launch: RapidRetouch downloads its AI engine once, showing its progress as it goes: about 3 GB on a PC with an NVIDIA graphics card (which it then uses for speed), about 1 GB otherwise. It needs an internet connection for that, and about 7 GB of disk space with an NVIDIA card (2–3 GB otherwise). After that it starts straight away and works offline, apart from downloading each AI model the first time a tool needs it.
The installers aren't code-signed yet (that needs a paid developer certificate), so your computer will warn that the publisher is unverified the first time:
- Windows: SmartScreen says "Windows protected your PC". Click More info, then Run anyway.
- Mac: macOS refuses to open it the first time. Either run this once in Terminal,
then open it as normal:
or try to open it once, then go to System Settings → Privacy & Security, scroll to the note about RapidRetouch and click Open Anyway.
xattr -d com.apple.quarantine /Applications/RapidRetouch.app
Requirements: Linux, Node.js 20+, Rust (stable), uv, and the Tauri 2 system packages (WebKitGTK 4.1 etc.). An NVIDIA GPU is used when present (the AI models); everything works on the CPU too.
npm install
(cd engine && uv sync) # Python 3.12 engine: PyTorch (CUDA 12.8 build), OpenCV, rawpy, MediaPipe
npm run tauri dev # starts the UI; the UI starts the engineEngine tests: cd engine && uv run pytest -q. Type-check the UI: npx tsc --noEmit.
Models download to ~/.local/share/rapidretouch/ the first time they're needed.
Presets live in ~/.config/rapidretouch/presets/.
Photos never leave your computer. The app only goes online to download a model the first
time it's needed and to read links.json from this repository (the tutorial video's link).
- UI: Tauri 2 + React + TypeScript (
src/,src-tauri/). - Engine: a Python process (
engine/) the UI starts and talks to over JSON lines on stdin/stdout. It does all image processing and model inference. - Developer notes, design decisions, tuning history and the release plan are in docs/DEVELOPMENT_NOTES.md.
AGPL-3.0-only. Copyright Chris Cork.
If you find it useful: buy me a coffee. · chriscorkphotography.co.uk · Instagram · Facebook