Generating
Generate a 3D model
Produces a model. This is the slow one — the builder plans the model and constructs it cube by cube, which takes minutes rather than seconds.
carrierBlockId decides directional on its own when given.
/packs/{pack}/modelsPath parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
Body
promptstringrequiredWhat to build.
namestringYour label. Falls back to the prompt.
carrierKindstringdefault "item"How it's placed in game.
Options: item, full, partial
directionalbooleanWhether it faces the way you placed it.
carrierBlockIdstringA specific vanilla block to carry it.
referenceIdstringA reference image already uploaded in the Studio. There is no API endpoint to upload one yet.
useStyleGuidebooleandefault trueFollow the pack's style guide — its palette, its notes and its reference pictures. Defaults to true, so a pack with a style guide produces assets that match it without this field. Send false for one asset that should deliberately not match. A pack with no style guide, or one switched off, ignores this either way.
Response · 202
Accepted. The work runs asynchronously — poll job until it leaves generating.
idstringrequiredThe asset's name within the pack.
kindstringrequiredWhich store the generated asset lands in.
Options: texture, model, font, sound
statusstringrequiredAlways generating — nothing is finished when this returns.
packstringrequiredThe pack it was written into.
jobstringrequiredPoll this at GET /jobs/{job} until it leaves generating.
Error codes
Branch on error.code, never on the message.
invalid_request400Something in the body or query is wrong. message says what.
invalid_api_key401The key isn't one of ours, or it has been revoked.
missing_api_key401No Authorization: Bearer header was sent.
wrong_key_kind401An MCP key sent to the REST API, or an API key sent to the MCP server. Each only opens its own.
insufficient_credits402Not enough AI Credits to run this. Nothing was started or charged.
asset_limit_reached403The pack is at its asset limit.
forbidden403Valid key, but not permitted to do this in this pack.
plan_required403The key is valid, but its account is on Starter. The API needs a paid plan.
not_found404No such pack, asset or job.