Generating
Generate an item
Produces a texture named item:<name> for a 2D sprite, or a model for a 3D one — the response's kind and job say which.
Omit target (or send null) for an item of your own; give a vanilla item id to reskin it. Reskinning one this pack already reskins answers 409: change it in the Studio rather than overwriting it blind. variant needs a target and Minecraft 1.21.4 or newer.
/packs/{pack}/itemsPath parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
Body
promptstringrequiredWhat to draw or build.
targetstringA vanilla item to reskin. Null or absent means a new item.
shapestringdefault "2d"A flat sprite, or real geometry.
Options: 2d, 3d
sizeinteger16–128Sprite edge length. 2D only.
namestringYour label. Falls back to the prompt.
variantbooleanA custom-model-data variant of target rather than a full reskin.
referenceIdstringA reference image already uploaded in the Studio. There is no API endpoint to upload one yet.
referenceStrengthnumber0.05–0.95How closely to follow the reference. Clamped to this range rather than rejected.
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.
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.
conflict409That vanilla target is already reskinned in this pack. Change it in the Studio rather than overwriting it.