The darkroom in your browser.

Why every retouch on roopafy is free — and why "free" was an engineering decision, not a pricing one.

Here's a moment every seller on roopafy knows. The shoot comes back and it's almost right. The model is right. The garment is right. The light is right. But the smile could lift a touch. The teeth could be a shade whiter. The backdrop feels a little cold for the collection.

Ninety-five percent yes. Five percent if only.

In most generative products, fixing that last five percent costs exactly what the first ninety-five percent cost: another generation. Another credit. Another spin of the wheel. And here's the part that actually stings — the wheel doesn't know it's only supposed to fix the smile. You might get the smile you wanted and lose the light you loved. You said yes to a photograph, and the tool's only offer is a different photograph.

We decided that was the wrong shape for the problem. So we built something else: a retouching darkroom that runs entirely in your browser, on your own device. Open a photo, drag a slider — face shape, smile, teeth, makeup, backdrop colour, light and colour — and the image responds while your finger is still moving. Nothing is sent anywhere to be edited. Nothing is queued. Nothing is re-imagined.

And every save is free. Not "first three free." Not "free during beta." Free, permanently, by design.

A tweak is not a wish

The insight underneath this feature is simple enough to put in one sentence: generation and adjustment are different kinds of work, and they deserve different machinery.

Generative systems are for when you don't yet know exactly what you want. "Put this dress on a model in a sunlit courtyard" is a wish — you want the system to make creative decisions on your behalf, and you accept that the result will surprise you. That work is heavy. It runs on serious hardware in our cloud, and it's what our credits pay for.

But "a touch more smile" is not a wish. It has a right answer. Slide it, see it, stop when it's right. Routing that through a generative model is wrong twice over: it costs real money to run, and it hands back a surprise when what you asked for was a nudge. The seller doesn't want a new photograph. They want this photograph, adjusted.

Once you see the distinction, the architecture almost designs itself. Wishes go to the cloud. Nudges stay on your device.

Why free is the honest price

Our industry has trained people to expect a meter on every click, because in most AI products every click really does spin up a GPU in someone's datacenter. The meter isn't greed; it's physics. Compute costs money, and the bill has to land somewhere.

But when we moved retouching onto the seller's own device, the physics changed. Your hundredth tweak costs us the same as your first: nothing. The compute is yours. The electricity is yours. We're not metering anything, so there's nothing honest to charge for.

Pricing follows physics. Where our machines do creative work, a credit is fair. Where your machine does the work, a price tag would just be a toll booth on a road we didn't build. So the retouch save button says "Save" — no price, no counter, no fine print. Tweak it forty times. Sleep on it. Tweak it again tomorrow. Every version is kept, and restoring an older one is free too, because moving between things you already made should never feel like a transaction.

"Free" was the easy part to announce

It was the hard part to build. A browser tab is a hostile place to run a real-time image engine, and most of the engineering in this feature is invisible precisely because it worked.

Every seller arrives on a different device — a gaming laptop, a five-year-old MacBook, a mid-range phone. The engine has to feel instant on all of them, at the image's full native resolution, because this isn't a preview toy — the pixels you're editing are the pixels your storefront will publish. Browsers reclaim graphics resources whenever they feel like it, sometimes in the middle of a session, and the engine has to notice and recover rather than quietly hand you a blank frame. Edits are versioned and saves are anchored to the exact image you were looking at, so two open tabs can never silently overwrite each other's work.

And the sliders themselves hide small truths that took real iteration to learn. Here's my favourite: undoing makeup is not applying negative makeup. Run a lip tint backwards naively and the mathematics happily marches past "no tint" into the complementary colour — reduce the red too far and the lips drift green. The honest inverse of "add colour" turns out to be "settle back toward the skin that's actually there." Every two-way slider in the darkroom has a story like that: the forward direction is arithmetic, the reverse direction is judgement.

The same photograph, kept

There's one more property of on-device editing that matters more than speed or price, and it's the reason this feature exists at all: it is incapable of changing who's in the picture.

A generative fix, however careful, is a re-roll — and identity is the thing sellers can least afford to gamble. You approved this model's face. Your customers will see it across your whole catalog. An editing tool that might return a subtly different person is not an editing tool; it's a slot machine with good manners. The darkroom adjusts the photograph you approved — same person, same garment, same light — because it literally has nothing else to work from. Identity isn't preserved by a clever safeguard. It's preserved by construction.

Where the line sits

Some fixes are genuinely creative work, and we don't pretend otherwise. A different pose, an open-mouth smile, a garment worn differently — those need our models, they run in our cloud, and they cost a credit, clearly labelled before you commit. The line between "your device can do this" and "our models need to do this" is one of the most carefully argued lines in our product — and it will keep moving as the devices in your pocket get faster. Every time it moves, something that used to cost a credit becomes a free slider.

That's the direction we like. The wish list gets shorter. The darkroom gets bigger.

The best engineering decisions and the best pricing decisions are sometimes the same decision. This was one of them. Mason — Chief Architect, roopafy

Built it ourselves. Use it for yours.

roopafy turns one phone photo into a complete Shopify-ready fashion listing in under five minutes. The beta is open.

Register for the beta