Source
Resampling plan
Method
Fast interpolation. Predictable, runs on anything, no download.
Target size
No ceiling — type anything. This device's actual memory and canvas limits are the only real cap, discovered automatically at run time.
Quality
Catmull-Rom. Crisp edges, the safe default for photos and art.
Several small passes hold detail together better than one big jump. 1× does it in a single pass.
Output
JPEG has no alpha channel, so transparent areas need a colour.
Gemini clarity pass
The upscaled image is cut into ~1024px tiles and each one is sent straight from your browser to Google's Gemini API — using your own key — asking it to de-blur and restore detail without changing the content. Then everything is stitched back together here. This step leaves your device; the local upscale above does not. Tiles are independently re-imagined by the AI, so faint seams between tiles are possible, especially on busy or high-contrast images. Tiles are sent one at a time and automatically wait out rate limits, so a large image can take a while. Each returned tile is also measured against the original — if Gemini's version isn't actually sharper, the original is kept instead, so this can only help or do nothing, never make a tile blurrier.
Stored only in this browser (localStorage), sent only to Google, never to us. Get a key at aistudio.google.com/apikey — note that Gemini's image model has a free-tier quota of zero, so your Google Cloud project needs billing enabled before this will actually return results (you're still only billed for what you use, and it never touches us).