SwarmUI-SharpSplat
A SwarmUI extension that turns any generated image into a 3D Gaussian Splat directly inside the browser.
It uses Apple's ml-sharp to reconstruct a 3D scene from a single image, converts the output to the compact .splat format, and renders it interactively in a dedicated Splat Viewer tab powered by gsplat.js.
How It Works
Generated image
│
▼
[Generate 3D Splat button]
│
▼ (sends image as base64 to server)
SharpGenerateSplat API (C#)
│
├─► ml-sharp → .ply (3D Gaussian Splat, standard PLY format)
│
└─► ply2splat → .splat (compact 32-bytes-per-splat binary)
saved to Output/{user}/splats/
│
▼ (returns /View/... HTTP URL)
Splat Viewer tab (browser)
│
└─► gsplat.js → interactive WebGL viewer
Step by step
- Generate an image in the SwarmUI Generate tab as normal.
- Click the Generate 3D Splat button that appears on the image.
- The image is sent to the SwarmUI server. The extension:
- Writes the image to a temp directory.
- Runs
sharp predictvia ml-sharp to reconstruct a 3D Gaussian Splat as a.plyfile. - Converts the
.plyto.splatusingply2splat(avoids browser-side PLY parser limitations). - Saves the
.splatfile permanently toOutput/{user}/splats/. - Returns the HTTP URL of the saved file.
- SwarmUI automatically navigates to the Splat Viewer tab and loads the result.
- Orbit, zoom, and pan around the scene with the mouse.
Previously generated splats are listed in the sidebar and can be reloaded at any time.