◆ ON-DEVICE AI

Turn a photo into a 3D loop

A depth model works out what is near and what is far, then moves the camera. You get a three-second loop to post — recorded on your machine, like everything else here.

This one is not useful. It is a toy, and it is here because it is a pleasant thing to do with a photo of someone you like. A depth model guesses the distance to every pixel, the picture is cut into layers by distance, and the layers slide past each other — near things further than far things, which is the cue your eye reads as volume. Works best on a photo with a clear subject in front of a background.

Drop a photo a portrait or anything with a clear foreground · processed on your device, not uploaded

Questions people ask

Is my photo uploaded?

No. The depth model is downloaded to your browser and runs on your own device, and the video is recorded straight from a canvas in the page. Neither the photo nor the loop is ever sent anywhere, and the uploads counter in the top bar stays at 0.

How does a flat photo become 3D?

A depth model estimates how far away every pixel is. The photo is cut into layers by distance and those layers are slid past each other slightly — near things move more than far things, which is the cue your eye reads as depth. It is not true 3D; it is a single viewpoint being gently moved.

Why do the edges smear sometimes?

Because moving a near object sideways reveals what was behind it, and a photograph has no record of that. The whole picture is painted underneath as a backdrop so the gaps show something plausible, but a large movement on a sharply cut-out subject will still stretch. Turn the movement down and it settles.

What do I get to share?

A three-second looping WebM, recorded on your device, plus the raw depth map as a PNG if you want it. No watermark and no account.

Which photos work best?

Ones with a clear near subject and a background behind it — a portrait, a plant on a windowsill, a street with something in the foreground. A flat wall or a distant landscape gives the model almost no depth to find.

How this works & why it’s private

This runs Depth Anything V2 (small, Apache-2.0) through ONNX Runtime compiled to WebAssembly. Your photo is resized so both sides are a multiple of fourteen — what the DPT architecture requires — normalised with the ImageNet mean and standard deviation, and passed through the network, which returns a relative inverse-depth map on an arbitrary scale. That map is normalised to 0–1, scaled back up to the photo's size, and used to slice the image into layers. Each layer is drawn with an offset proportional to its distance, and the frames are captured from the canvas with MediaRecorder. Model weights and runtime are served from this domain, not a CDN, and nothing — not the photo, not the depth map, not the video — is ever part of a request.