Remove a background, erase an object, enlarge a small picture. Each tool runs its model in your browser, measures how many bytes left the page while it worked, and prints the number, which is zero. No account, no credits, no watermark, no expiry, because there is no server to pay for.
The word "AI" on a photo site usually hides where the work happens. This table does not.
| Tool | What does the work | Where it runs | Leaves your device | Download once |
|---|---|---|---|---|
| Background Remover (all four) | BRIA RMBG-1.4 segmentation model | Your browser, WebAssembly or WebGPU | 0 bytes, measured | ~44 MB model, cached |
| Magic Eraser | Flood fill + median of the surrounding ring | Your browser, canvas | 0 bytes, measured | Nothing |
| Upscale 4x | Real-ESRGAN general x4 v3 (compact SRVGG) | Your browser, WebGPU where available, else CPU threads | 0 bytes, measured | 4.9 MB model, cached |
| Edit with a Prompt | Google Nano Banana (gemini-*-image) | Google's servers | Photo + prompt + your key, to Google only, measured | Nothing |
Every credit-metered AI photo site works the same way: the page is a form, the upload is the product, and the model runs on a rented GPU that the credits pay for. That is not a criticism of the model. It is a description of why those tools need accounts, quotas, expiring libraries and a reason to keep you coming back. A model that runs in your browser has none of those costs, so a tool built on one has no honest reason to add any of those frictions. It also cannot lose your photo, because it never had it.
A claim on a homepage is a sentence. A number the browser keeps is evidence. When you pick a file on any on-device tool here, a small script starts counting the bytes of every outbound request the page makes, and stops when your result is ready. It prints the total next to the tool, along with what was downloaded (the model weights, once, from this site). Open your browser's developer tools on the Network tab while it runs and you will see the same thing. The one page that does send your photo somewhere, Edit with a Prompt, runs the same counter, and its number is not zero, which is the point of running it there too.
Small models have small limits. The background remover is very good on a clear subject and struggles with wire fences. The upscaler rebuilds plausible texture and cannot make illegible text legible. The magic eraser is not a model at all, and tells you before you commit whether a flat fill will show. None of these pages calls itself something it is not; the upscaler even times its first tile and tells you how long the rest will take on your hardware before it continues.