Optimize 3D models from your own pipeline.
Simplify, convert and generate LOD chains over HTTP — from a build step, a batch script, or a tool of your own. The same jobs the web app runs, on the same plan and the same quotas.
Available on Starter and Pro. Keys are created in Studio → Settings → API keys and shown once.
How a job runs
- 1
Reserve the asset
POST /uploadsReturns a presigned PUT URL for a key the server chose. Nothing is uploaded yet.
- 2
Send the file to storage
PUT <upload_url>Your client transfers the bytes directly to object storage. They never pass through the API.
- 3
Verify and run
POST /uploads/{id}/completeConfirms what actually landed, then simplify, convert or generate an LOD chain against it.
Processing is asynchronous: a job returns an id immediately, you poll it until it settles, then ask for a short-lived download URL at the moment you want the bytes. There is no SDK — it is JSON over HTTPS, and curl is enough to try it.
Authentication
Authorization: Bearer mcrunch_live_1a2b3c4d_…A key is minted in the app, shown once, and stored only as a hash — so losing it means creating another rather than looking it up. Each key carries a scope: read may list assets, read jobs and price an operation; read and write may additionally upload and run work. Keys are revoked one at a time, and revoking one takes effect on the next request that presents it.
MCP is the other front door onto the same account — connect an AI client instead if you want an agent to do the work rather than a script.
Use it in your API client
The whole surface is one OpenAPI 3.1 document. Import it into Postman, Insomnia, Bruno or Hoppscotch and every endpoint, parameter and response arrives already described — then add your key as a bearer token and the collection is ready to send.
Clients that fetch a spec by URL can point at it directly, which keeps the collection current as the API changes:
https://api.meshcrunch.com/openapi.public.jsonThere is deliberately no separate Postman collection to download. It would be a second description of the same contract, free to disagree with this one the moment somebody regenerated one and not the other — and every client worth using imports OpenAPI already.
Questions
- Which plans include API access?
- Starter and Pro. Entitlement is re-checked on every request rather than only when a key is minted, so access follows the subscription — it stops when one lapses and resumes when it does. Anyone can create an account and read the reference; it is creating a key that needs a paid plan.
- Does a key get its own quota?
- No, and it never will. A key resolves to the same account, on the same plan, through the same two gates a browser passes — it is a second entry point to the existing meters, not a separate allowance. A separate 'API quota' would be a way to buy compute outside the plan you are on.
- How do I know what a call will cost before I make it?
- POST /jobs/estimate returns the exact number of credits the submission will charge, against your current balance. It writes nothing and reserves nothing, so a quote confers no right to run and polling it while you decide is free. A read-only key may call it.
- What happens if my request times out and I retry?
- Send a client_token with the job and the retry returns the job the first call created rather than buying the work twice. It is scoped to the asset, and a UUID generated per attempt is the intended shape. The expensive request is also the slow one, so this is worth doing.
- Is there an SDK or a webhook when a job finishes?
- Programmatic access is in beta on paid plans, through a REST API and the MeshCrunch MCP server. Both resolve to the same account, plan and quotas as the web app. REST callers authenticate with an API key created in Studio under Settings and can upload assets directly; MCP clients connect with your MeshCrunch login and work on assets already in the account. There is no SDK and there are no webhooks, so a caller polls for completion.
The full reference — every endpoint, its parameters and its refusals — is at the API reference. Something missing? Tell us.
MeshCrunch REST API documentation and reference.