.glb·.gltf·.stlUpload any .glb, .gltf, or .stl — Meshless encodes it into WebP image sequences server-side. Shoppers see a 360° spin. Competitors get 404.
Three steps. The mesh stays put for all of them.
No build server. No WebGL on the page. Just a tight encoder that runs inside Meshless cloud infrastructure.
Drop a .glb, .gltf, or .stl in the dashboard. We encrypt it at rest.
Your file is AES-256 encrypted before it touches our storage. The unwrap key is split: half stays with you, half with the embed token. Either side alone is useless.
POST /v1/models Content-Type: application/octet-stream # returns: { "id": "9KQa3p", "wrap_key": "..." }
Our cloud renders 36 WebP frames — no WebGL context in the visitor's browser.
The encoder runs entirely in Meshless infrastructure. No client-side JavaScript processes the mesh. The visitor's tab never sees the geometry — only the output frames.
// embed.meshless.io runtime const enc = new Meshless.Encoder({ frames: 36, size: 1024, format: 'webp', }); await enc.run(); // ~240ms
Frames hit CDN. Every spin after the first costs zero compute.
Each frame is content-addressable. After the first viewer, your CDN serves plain images — no encoder runs. PageSpeed sees an image carousel; competitors see no geometry at all.
# what the CDN serves GET /v/9KQa3p/01.webp · 11.4 KB200 GET /v/9KQa3p/02.webp · 11.2 KB200 GET /v/9KQa3p/03.webp · 11.6 KB200 # ...
Built for teams that can't afford leaks.
Security without the WebGL tax. Ship 360° product viewers that load faster than a JPEG while keeping your geometry completely off the wire.
Geometry never leaves the vault
Your .glb is AES-256 encrypted at rest with per-account wrap keys. The file is server-side rendered to WebP — it never transits the network. Competitors get pixels, not geometry.
Works without WebGL
The output is a plain image sequence. Any browser, any device — even SEO crawlers see real image content.
CDN-cached forever
Frames are content-addressed. After the first encode, your CDN serves pure images — zero encoder overhead on every subsequent load.
One endpoint to rule them all
POST /v1/models Authorization: Bearer sk_live_... Content-Type: application/octet-stream ← 200 { "id": "9KQa3p" } ← frames ready in 240ms
This is everything a thief gets when they View Source.
Real screenshot mock of the Network panel on a live Meshless embed. Every byte that leaves is a static image. The mesh is unrecoverable.
What leaves the vault. What doesn't.
Engineers ask how this actually works. Here's the full pipeline — where the mesh lives, where rendering happens, and what crosses the wire.
- 3.2 MB avg. geometry + textures
- Encrypted at rest, key split in two
- Never sent to any browser
- Runs entirely in Meshless cloud
- No client-side WebGL context
- Output content-addressed to CDN
- Zero recoverable geometry
- No .glb in DevTools Network tab
- curl /source.glb → 404 Not Found
The .glb file never crosses the network boundary. Visitors receive only WebP pixels. Your geometry is unrecoverable from DevTools, curl, or any client-side tool.
Compared to every other way to ship 360°.
Honest matrix. We're great at four things and we're upfront about the fifth.
| Capability | Meshless | WebGL viewer(model-viewer, three.js) | Hosted 3D(Sketchfab embed) | Server-side render(your own GPU farm) |
|---|---|---|---|---|
| Mesh exposed to client | Never | Yes — full .glb downloaded | Yes — proprietary but rippable | Never |
| Initial JS payload | 8 KB player | ~150 KB minified | ~400 KB iframe boot | 0 KB |
| Median LCP impact | +0.1s | +1.4s | +0.6s (iframe) | +0.1s |
| Works without WebGL | Yes | No | No | Yes |
| Server cost per spin | $0 (CDN only) | $0 | Bundled | $0.003 — $0.02 |
| Real-time lighting / AR | No | Yes | Yes | Yes |
| Time to first spin | ~120ms | ~800ms | ~1.6s | ~400ms |
Engineering teams are skeptical. Then they ship it.
We hear from PR teams about awards. We hear from engineering teams about LCP. Here's what the engineers said.
We've shipped Sketchfab embeds, model-viewer, and our own Three.js wrapper. Meshless is the first one our perf team didn't ask us to remove. LCP went from 2.1s to 0.8s.
Our designer's biggest fear was a competitor screenshotting the .glb out of DevTools. Six months in, we've had zero IP incidents. We sleep better.
The dashboard is the rare 3D tool that respects keyboard shortcuts. I encoded 84 SKUs in an afternoon without ever leaving ⌘K.
Start building with Meshless. Ship your first 3D viewer today.
Upload your 3D model and embed a theft-proof 360° viewer on your store in minutes. No WebGL, no mesh leaks.