Wandy3D API

Generate 3D models from your code, engine or AI agent

Send a photo, a few views or a sentence and get back a textured 3D model — then export it, print it, remesh it into quads, rig it or pack it for your game engine. The same pipeline as the studio, over plain HTTPS.

  • Pay per call from a prepaid balance
  • Bearer key authentication
  • 60 requests per minute per key
  • REST and JSON over HTTPS
# 1. Start a generation from a photo (Wandy 2)curl -s -X POST "https://api.wandy3d.com/generate/cloud/ultra" \  -H "Authorization: Bearer $WANDY3D_API_KEY" \  -F "file=@photo.jpg"# → {"task_id": "<task_id>", "status": "queued", "billing": {"cost_usd": "<price>", "balance_usd": "<balance>"}, …}

Quickstart

Four steps from a photo to a GLB file.

  1. 1

    Create a key

    In the API platform, under API keys, then top up your API balance. The key is shown once — keep it in an environment variable such as WANDY3D_API_KEY.

  2. 2

    Start a generation

    POST/generate/cloud/ultra

    Send one photo as the multipart field file. The answer carries a task_id.

  3. 3

    Poll the task

    GET/task/{task_id}/status

    Every few seconds, until status is done; the answer then carries the model_id.

  4. 4

    Download

    GET/model/{model_id}/export?format=glb

    GLB answers at once with a short-lived link. Other formats convert first — poll the same URL until it is ready.

# 1. Start a generation from a photo (Wandy 2)curl -s -X POST "https://api.wandy3d.com/generate/cloud/ultra" \  -H "Authorization: Bearer $WANDY3D_API_KEY" \  -F "file=@photo.jpg"# → {"task_id": "<task_id>", "status": "queued", "billing": {"cost_usd": "<price>", "balance_usd": "<balance>"}, …}# 2. Poll until "status" is "done"curl -s "https://api.wandy3d.com/task/<task_id>/status" \  -H "Authorization: Bearer $WANDY3D_API_KEY"# → {"status": "done", "model_id": "<model_id>", …}# 3. Get a download link, then download the GLBcurl -s "https://api.wandy3d.com/model/<model_id>/export?format=glb" \  -H "Authorization: Bearer $WANDY3D_API_KEY"# → {"status": "ready", "url": "<download_url>", "filename": "<name>.glb", …}curl -L -o model.glb "<download_url>"

Keys and limits

Every request carries your key in the Authorization header.

Authorization: Bearer hg_live_…

Keep keys secret

A key acts as you and spends your API balance. Use it from your server, scripts or CI — never in a web page or a mobile app. Revoke a leaked key in the API platform: it stops working at once.

Rate limit

60 requests per minute per key. Over the limit the answer is 429 with retry_after — the seconds to wait.

Up to 10 keys

Use one per app or machine, so you can revoke one without touching the others.

Errors

Errors are JSON. Most carry a stable code in detail.error:

{"detail": {"error": "rate_limited", "retry_after": <seconds>, "message": "…"}}
Statusdetail.errorMeaning
401invalid_api_keyThe key is missing, wrong or revoked.
402insufficient_balancemonthly_limit_reachedkey_limit_reachedNot enough API balance, or a monthly limit (account or key) is reached.
403subscription_requiredsession_requiredNeeds a signed-in session on the website, or a plan to download a model made on the website.
404feature_offNot found, or not available to you yet.
409file_not_readyThe model file isn't ready yet.
429rate_limitedtoo_many_jobsRate limit reached, or too many generations are running at once.

Pricing

Every paid call is charged in US dollars from your prepaid API balance. Top up by card from $5 — the balance never expires, and failed jobs are refunded automatically.

Models you generate through the API are yours to download in every format, free.

See API prices

Endpoints

The public API in one table. Every route takes the same Bearer key.

Generate

MethodPathWhat it does
POST/generate/cloud/ultra
Model from one photo, Wandy 2Paid
POST/generate/cloud
Model from one photo, Wandy 1.1Paid
POST/generate/cloud/fast
Model from one photo, Wandy 1Paid
POST/generate/cloud/multi/ultra
Model from 2–4 views, Wandy 2Paid
POST/generate/cloud/multi
Model from 2–4 views of one object, Wandy 1.1Paid
POST/generate/cloud/multi/fast
Model from 2–4 views, Wandy 1Paid
POST/generate/text/imagine
Text prompt → concept picturePaid
POST/generate/text
Concept picture → 3D modelPaid
POST/generate/retexture
New texture for a model from a photoPaid

Tasks

MethodPathWhat it does
GET/task/{task_id}/status
Progress of a generation

Library

MethodPathWhat it does
GET/library
Your models, newest first
GET/model/{model_id}
One model and its GLB link

Downloads and post-processing

MethodPathWhat it does
GET/model/{model_id}/export
Download as GLB, FBX, OBJ, USDZ, STL or Draco GLBDownload
GET/model/{model_id}/print
Print-ready STL or 3MFDownload
GET/model/{model_id}/retopo
Quad remesh with baked texturesPaidDownload
GET/model/{model_id}/rig
Auto-rig with animation clipsPaid
GET/model/{model_id}/parts
Split a model into partsPaid
GET/model/{model_id}/gamepack
Game-ready pack with LODs and collidersPaidDownload
GET/model/{model_id}/make/{kind}
Craft makers, for example papercraftPaid

Account

MethodPathWhat it does
GET/api/platform/balance
Your API balance
GET/api/platform/prices
The live price list

Make your first API call

Create a key and top up in the API platform — it takes a minute.

Get an API key