✦ Professional Image Processing

Pristine

Three-phase image processing pipeline. From basic compression to AI-powered restoration — all from a single interface.

PHASE 01 · PYTHON

🐍 FastAPI + Pillow

Compress, resize, convert, watermark. Free tier, 512MB RAM.

PHASE 02 · AI

🤗 Hugging Face Spaces

Remove background, inpaint, 4× upscale, restore faces.

PHASE 03 · JAVA

☕ Spring Boot

Batch resize → ZIP, thumbnails, Thumbnailator-powered.

🗜️

Smart Compression

Quality-controlled JPEG/WEBP compression with real-time preview.

Phase 1
📐

Resize & Presets

Instagram, X (Twitter), YouTube presets. Batch resize multiple files → ZIP.

Phase 1 Phase 3
✂️

Background Removal

U2Net AI model removes backgrounds cleanly. Returns transparent PNG.

AI · Phase 2
🔍

4× Super-Resolution

Real-ESRGAN upscales images to 4× with tile-mode for memory safety.

AI · Phase 2
🧑

Face Restoration

GFPGAN repairs old or blurry faces. Perfect for historical photos.

AI · Phase 2
🖼️

Object Removal

Draw a mask over any object — LaMa inpainting fills it intelligently.

AI · Phase 2
Image
📁 Drop or click to open

JPG · PNG · WEBP · BMP · TIFF

Phase 1 — Basic
Phase 2 — AI HF
First AI request may take ~30s (HF cold start).
Phase 3 — Batch Java
API Status
Python API
Hugging Face
Java API
100%
🖼️

Open an image to start editing

Processing…

This may take a few seconds

Parameters
Quality 80
Format
Width800
Height600
Preset
Target Format
Text
Opacity50
Position
Size150

Click & drag on the image to select a crop region.

🪄 Removes background using U2Net model. Returns transparent PNG.
🔍 4× super-resolution via Real-ESRGAN. May take 10-20s.
🧑 GFPGAN face restoration. Best for portraits & historical photos.
🖌️ LaMa inpainting. Paint over object, AI fills the gap.
📦 Upload multiple files → resize all → download ZIP.
🖼️ Java Thumbnailator-powered batch thumbnails.
Export
Processed images stay in browser. No upload required for basic tools.
Phases
🐍

Phase 1 · Python API

FastAPI + Pillow — free tier, 512MB RAM, ~5s per op.

🧪 Free

Endpoints

POST /compress Compress image
Parameters
filefileImage file (max 10MB)
qualityint1-100 (default 80)
formatstrjpeg, webp, png (default jpeg)
cURL
curl -X POST https://pristine-api.example.com/compress \
-F "file=@photo.jpg" \
-F "quality=80" \
-F "format=webp"
POST /resize Resize image
Parameters
filefileImage file
widthintTarget width (px)
heightintTarget height (px)
cURL
curl -X POST https://pristine-api.example.com/resize \
-F "file=@photo.jpg" \
-F "width=800" \
-F "height=600"
🤗

Phase 2 · Hugging Face AI

GPU-accelerated models. Cold start ~30s, then fast.

🧪 Free GPU

Space Endpoints

POST /rembg Remove background

U2Net model. Returns PNG with transparency.

Python
import requests

r = requests.post(
"https://your-space.hf.space/rembg",
files={"file": open("photo.jpg", "rb")}
)
open("output.png", "wb").write(r.content)
POST /enhance 4× super-resolution

Real-ESRGAN. Tile mode for large images.

Python
import requests

r = requests.post(
"https://your-space.hf.space/enhance",
files={"file": open("photo.jpg", "rb")}
)
open("enhanced.png", "wb").write(r.content)

Phase 3 · Spring Boot

Java batch processing with Thumbnailator.

🧪 Free Tier

Endpoints

POST /batch-resize Batch resize → ZIP download

Upload multiple files, resize all to target, download ZIP.

cURL
curl -X POST https://pristine-java.example.com/batch-resize \
-F "files=@img1.jpg" \
-F "files=@img2.jpg" \
-F "width=300" \
-F "height=300" \
--output thumbs.zip