Top
Best
New

Posted by bring-shrubbery 6 days ago

Show HN: Apple's SHARP running in the browser via ONNX runtime web(github.com)
Hi HN, author here. SHARP is Apple's recent single-image 3D Gaussian splatting model (https://arxiv.org/abs/2512.10685). Their reference code is PyTorch + a pretty heavy pipeline; I wanted to see if it could run in a browser with no server hop, so I exported the predictor to ONNX and ran it via onnxruntime-web with the WebGPU EP.

What works: drop in an image, get a .ply you can download or preview live, all on your machine — your image never leaves the tab. The model is large (~2.4 GB sidecar) so first load is slow on a cold cache, but inference itself is a few seconds on a recent Mac.

Caveats: SHARP's released weights are research-use only (Apple's model license, not the code's). I host the exported ONNX on R2 so thedemo "just works", but you can also export your own from the upstream Apple repo and upload locally.

Happy to talk about it in the comments :)

183 points | 46 commentspage 2
mattbaconz 5 days ago|
2.4GB in browser is crazy. I’m curious whether quantization works here or if the model quality falls apart too much.
herpdyderp 6 days ago||
Loading the model crashes my browser tab from memory usage :/
bring-shrubbery 6 days ago|
Yeah, I think you need at least 8gb ram unfortunately, but I tested it only on a 32gb M2, so 8gb might also not be enough.

I might create a compressed version of the model, that would work on low-ram machines.

kodablah 6 days ago|||
I've worked around lower RAM machines with ONNX web models by first separating .onnx from .onnx_data, and second having scripts that split up the "layers" and shards the run (e.g. https://huggingface.co/cretz/Z-Image-Turbo-ONNX-sharded). Then you can have the runtime only run one at a time. I don't understand the details too deep, but Claude is good at writing scripts to shard onnx protos.
anentropic 6 days ago|||
It froze up my computer, had to hard-boot lol

(16MB M1 Macbook, Chrome)

andruby 6 days ago||
Are there any examples one could view before downloading?
bring-shrubbery 6 days ago|
There's nothing to download - you can run everything from your browser, and the photo you upload is not uploaded anywhere, it stays in your browser.
utopiah 6 days ago||
The point is what does a typical result look like, especially before loading a 2GB model or making a browser crash.

Model results https://apple.github.io/ml-sharp/

sroussey 6 days ago||
Does it use both WASM and WebGPU?
zb3 6 days ago||
Why is it so large? Is it the same model used to create 3D effects on iOS lockscreen?
bring-shrubbery 6 days ago||
I think it's essentially a transformer, so it just stores a bunch of weights. As a model that's supposed to be able to convert any image to 3d scene, it's pretty nice size actually.

Regarding the ios lockscreen - I believe they are different models. I think Apple use this one to generate those Vision Pro 3d photos though, but I'm not too sure.

MattDamonSpace 6 days ago||
No the 3D effects are much more simple for the lock screen…more akin to old-school animation via layers
jumanuba 4 days ago||
[dead]
minjikim89 5 days ago||
[flagged]
tokenhub_dev 6 days ago||
[dead]
hottrends 6 days ago|
[flagged]
More comments...