Sleipner3D, homeV1 · Open beta: what’s in it
← Blog

4 min readGuidesAgentsGame dev

A 3D model generation API: from a text prompt to a GLB in four requests

Make finished 3D models from code with the Sleipner 3D API: an API key, one POST, polling, and a download in six formats. With curl examples, prices and limits.

A wooden medieval hand cart with two spoked wheels and long handles, on a grey studio floor

Sometimes a 3D model is one step in a bigger job: a build script that fills a game level with props, a tool that makes a model for every product in a catalogue, an agent that needs an object it can't find. For that, Sleipner 3D has an HTTP API. It makes the same finished models as the website, on the same credits and at the same prices. This guide walks through it with curl; the full reference is on the developers page.

From a key to a GLB

  1. Sign in and create an API key under Settings → API keys. It starts with slp_ and is shown once, so keep it in an environment variable.
  2. Make an object: POST /api/objects with a description, a tier and a request_id.
  3. Follow it: poll GET /api/objects/<id> every 10 to 15 seconds until the status is ready.
  4. Download it: GET /api/objects/<id>/download?format=glb&detail=standard answers with a redirect to the file.

1. The key

Shell
export SLEIPNER_API_KEY=slp_...

A key acts as you: it spends your credits and sees your objects. It can't buy credits, manage keys or change your account, and revoking it works from the next request.

2. Make an object

curl
curl -X POST https://3d.sleipner.ai/api/objects \
  -H "Authorization: Bearer $SLEIPNER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"generate","prompt":"A wooden hand cart with two spoked wheels",
       "tier":"quick","request_id":"cart-1"}'

The answer is 201 Created with the object_id, the status (queued), the price and your new balance.

request_id matters. If your script times out and sends the same request again, the same request_id returns the first object with 200 and charges nothing. Without it, every retry makes, and pays for, a new object.

3. Follow it

curl
curl -H "Authorization: Bearer $SLEIPNER_API_KEY" \
  https://3d.sleipner.ai/api/objects/<object_id>

status goes queued → running → ready, or failed with the credits refunded. job.fraction and job.stepLabel say how far it is. A Quick object usually takes under 10 minutes, Standard 10–20.

4. Download

curl
curl -L -o cart.glb -H "Authorization: Bearer $SLEIPNER_API_KEY" \
  "https://3d.sleipner.ai/api/objects/<object_id>/download?format=glb&detail=standard"

Formats are glb, gltf, fbx, usdz, blend and obj; detail is standard or low. The answer is a redirect to a link that works for five minutes, so follow it (-L) and save the file; don't store the link.

The hand cart as a grey clay render, showing its planks, wheels and handles
The clay view of a finished object: a clean shape at real size (this cart is 2.12 m long). Renders come back with the object when it is ready.

Changes and products

A change is another POST /api/objects, with "kind":"edit", an object_id (yours) or a library_slug (a free library model), and one instruction:

curl
curl -X POST https://3d.sleipner.ai/api/objects \
  -H "Authorization: Bearer $SLEIPNER_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"kind":"edit","library_slug":"medieval-hand-cart","instruction":"paint it dark red",
       "tier":"quick","request_id":"cart-red"}'

You get a new object and the source stays as it was. A colour, material or wear change keeps the shape and costs 50 credits: the tier's price is held at the start and the rest comes back when it finishes (job.creditBack). Anything that changes the shape pays the tier's price. More in changing a 3D model with words.

A product from its photos is a multipart request with one to eight photos and the real size, on the accurate tier (5,000 credits). It is in beta; the developers page has the example.

The endpoints

RequestWhat it does
POST /api/objectsMake an object or a change (JSON), or a product from photos (multipart). 201 new, 200 the same request_id again.
GET /api/objectsYour objects, newest first (?status=ready&limit=20).
GET /api/objects/<id>One object: status, progress, the price charged and, when ready, its renders and formats.
GET /api/objects/<id>/downloadA redirect to the file (?format=glb&detail=standard).
POST /api/objects/<id>/cancelStop a build; its credits come back.
GET /api/creditsYour balance, the prices and your latest credit entries.

Errors and limits

StatusMeaningWhat to do
400A bad requestRead error; fix the body
401A missing or revoked keyCheck Authorization: Bearer slp_…
402Not enough creditsThe answer has your balance and what is needed
422Outside what V1 makes (a scene, a building, a forest)Use one of the suggestions, or send make_anyway: true if it can be overridden
429Over a rate limitWait for Retry-After
503Making is paused for a whileRetry later

Per account, at most two builds are in the works at once, and new builds are rate-limited per key. Plan a batch as a queue: submit two, wait for one to finish, submit the next.

API or MCP?

If the caller is a script you wrote, use the API with a key. If the caller is an AI assistant (Claude, ChatGPT, Cursor, VS Code), connect it over MCP instead: it signs in through the browser, needs no key, and the server tells it to ask you before spending. The MCP guide shows how.

Questions

What does the API cost?

The same as the website: Quick 350 credits, Standard 1,000, a surface change 50, an accurate product 5,000. At launch, until 2026-12-31, Quick is 200 and Standard 600; a job keeps the price it was submitted at, and the response shows list_price next to the price charged. 1,000 credits cost $10 in the smallest pack and never expire. There is no separate API fee or subscription.

Is there a free tier for the API?

New accounts get free credits once (600 during the launch, until 2026-12-31, enough for three Quick objects at the launch price; 400 after), and the API can spend them. There is no monthly free allowance.

Can I download free library models through the API?

Library models are downloaded from their pages or through the MCP tools, which give a five-minute link. The public catalogue is also at library.json with every model's formats, sizes and renders.

Is there an SDK?

Not yet. The API is plain JSON over HTTPS, so any HTTP client works. Agents can use the MCP server instead.

How fast is it?

Usually under 10 minutes for Quick, 10–20 for Standard. It is not a real-time API: design your code to submit, poll and download.