For AI agents: a Markdown index of this site is at /llms.txt.

REST API reference

C3D-DOCS-03 · REV A

Docs · Updated 28 October 2026

The Creations3D REST API lets a script create, read, list and delete 3D models and read its credits, with a personal API key (sent as Authorization: Bearer c3d_sk_...). The base URL is https://creations3d.com, requests and responses are JSON, and models build in the background: create returns 202, then you poll until the status is ready. To export STL, 3MF, OBJ or FBX, use the MCP server or the website; the REST model response links the GLB.

Authentication

  1. Sign in on the website and open Account, API keys.
  2. Create a key. It starts with c3d_sk_ and is shown once, so store it as a secret.
  3. Send it on every request: Authorization: Bearer c3d_sk_...

Keys act as your account and use its credits. They can only be created, listed and revoked on the website: the key endpoints refuse API keys. A request with no valid key gets 401 with { "error": "Sign in to continue." }.

Endpoints

Method and pathWhat it does
POST /api/generationsCreate a model. 202 with the model.
GET /api/generations/{id}Read one model. 200 with the model.
GET /api/generations?limit=50List your models, newest first. limit 1 to 100, default 50.
DELETE /api/generations/{id}Delete a finished model and its files. 204.
GET /api/accountCredits, plan and the credit cost of each kind of model.

POST /api/generations

Send JSON, or multipart/form-data with an image file. Credits are taken when the request is accepted and go back automatically if the build fails.

FieldTypeNotes
promptstringWhat to build, up to 1,000 characters. Send a prompt, an image, or both.
imageUrlstringJSON only: a public HTTPS image URL or a data URL (PNG, JPEG or WebP, under 10 MB).
imagefileMultipart only: the photo to build from.
use_forweb | game | print | renderDefault web.
stylestringOptional, up to 200 characters.
target_sizenumberSize of the largest side, in units. Positive, at most 1,000,000.
unitsmm | cm | mDefault m.
max_trianglesinteger1,000 to 500,000. Defaults depend on use_for (see the MCP reference).
texture_size512 | 1024 | 2048Texture size in pixels.
quadbooleanAsk for a quad mesh. Over REST it takes effect only with use_for game; then sourceUrl links the original quad FBX. Other use_for values ignore it.
preview_onlybooleanMake a preview first and stop: 1 credit for a description, free for a photo (up to 5 photo drafts at a time). A photo preview still needs the full photo model cost (6 credits) in your balance, or it returns 402.
continue_idstringBuild the 3D model from a preview made with preview_only. Charges only the rest of the full cost.

JSON request:

curl -X POST https://creations3d.com/api/generations \ -H "Authorization: Bearer $CREATIONS3D_API_KEY" \ -H "Content-Type: application/json" \ -d '{"prompt":"bronze lantern","use_for":"render","target_size":320,"units":"mm"}'

Photo upload:

curl -X POST https://creations3d.com/api/generations \ -H "Authorization: Bearer $CREATIONS3D_API_KEY" \ -F image=@shoe.jpg \ -F use_for=web -F target_size=0.3 -F units=m

Response (shortened):

HTTP/1.1 202 Accepted { "id": "aBc123...", "status": "queued", "mode": "text", "useFor": "render", "title": "Bronze Lantern", "prompt": "bronze lantern", "format": "glb", "modelUrl": null, "previewUrl": null, "pageUrl": "https://creations3d.com/models/aBc123...", "creditsUsed": 8, "error": null, "retryable": true, "retryAfterSeconds": 5, ... }

Costs: 8 credits for a standard model (web, print or render), 4 for use_for game, 6 for a model from a photo.

GET /api/generations/{id}

Poll every 5 seconds or so until status is ready or failed. A model usually takes about 1.5 minutes once it starts, and at most two per account are built at once. When it is ready, modelUrl is a signed GLB link that expires after 15 minutes; read the model again for a fresh one.

curl https://creations3d.com/api/generations/aBc123... \ -H "Authorization: Bearer $CREATIONS3D_API_KEY"

The model has the same fields as in the MCP reference: id, status (queued, processing, preview, ready or failed), mode, useFor, title, prompt, format, modelUrl, previewUrl, pageUrl, sourceUrl, sourceFormat, dimensions, triangles, fileSizeBytes, creditsUsed, error, retryable, retryAfterSeconds, createdAt and completedAt. The status is preview only for models made with preview_only.

GET /api/generations

Returns { models: [...] }, newest first. There is no cursor in REST; the list_models MCP tool pages through a longer library.

DELETE /api/generations/{id}

Deletes the model and every file made from it, then returns 204. A model that is still queued or being built returns 409: wait for it to finish first.

GET /api/account

Returns credits, plan, subscriptionStatus, periodEnd, creditPools, trialEligible, pendingCheckout and costs (credits per kind of model). Plans are started on the pricing page, never through the API.

Errors

Errors are JSON with an error sentence. Some also carry extra fields, such as retryable and retryAfterSeconds, so read them when present and do not rely on them. A 402 for too few credits looks like this:

HTTP/1.1 402 Payment Required { "error": "This needs 8 credits; you have 3." }
StatusMeaning
400Invalid input, for example "Invalid generation options." or "Provide a prompt or reference image."
401Missing or invalid API key.
402Not enough credits. A free photo preview (preview_only) also needs the full photo model cost (6 credits) in your balance.
404"Model not found." The id is wrong or belongs to another account.
409The model is still being built (delete), or a preview is not ready to continue.
413The request is over 16 MB.
500"Something went wrong. Try again in a moment."

New to the API? The quickstart makes a first model with these calls, and the three.js GLB guide loads the result in a scene.

Provided by AppAgentic · Creations3D
Contact support@creations3d.com
Updated 28 October 2026