resourcepack.ai
DOCS

Generating

Generate an armour set

Produces armour, in one of two shapes:

- 2d (the default): an armor set, a reskin of one of the vanilla sets, named by setId. The game's own silhouette is kept, so the face and forearms stay bare. A pack holds one of each vanilla set; a second answers conflict. - 3d: an armor3d set, new geometry worn on the player, which needs RP Engine on the server to be seen. A pack may hold as many as it likes; name labels it and setId is ignored.

Takes a few minutes. One charge, refunded in full if it fails. Armour is changed in the Studio's armour editor, not with editAsset.

POST/packs/{pack}/armor

Path parameters

packstringrequired

The pack's slug, as returned by the packs endpoints.

Body

promptstringrequired

What the armour looks like.

shapestringdefault "2d"

A vanilla set reskin, or a 3D set.

Options: 2d, 3d

setIdstring

Which vanilla set to reskin. Required for 2d.

Options: leather, copper, chainmail, iron, gold, diamond, netherite, turtle_scute

namestring

Your label, for a 3d set. Absent uses the prompt's first words.

referenceIdsarray of stringmax 5 entries

Reference images for a 3d set, in order: referenceIds from POST /packs/{pack}/references. A 2d set takes referenceId.

referenceIdstring

A reference image: the referenceId from POST /packs/{pack}/references, or one uploaded in the Studio.

useStyleGuidebooleandefault true

Follow 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.

idstringrequired

The asset's id within the pack.

typestringrequired

What is generating. For an item, item or item3d.

Options: model, vehicle, block, block_face, model_texture, item, item_model, item3d, armor, armor3d, gui, hud, dialog, icon, rank_tag, sound

kindstringrequired

The file format it is stored as.

Options: texture, model, font, sound

statusstringrequired

Always generating — nothing is finished when this returns.

packstringrequired

The pack it was written into.

jobstringrequired

Poll this at GET /jobs/{job} until it leaves generating.

Error codes

Branch on error.code, never on the message.

invalid_request400

Something in the body or query is wrong. message says what.

invalid_api_key401

The key isn't one of ours, or it has been revoked.

missing_api_key401

No Authorization: Bearer header was sent.

wrong_key_kind401

An MCP key sent to the REST API, or an API key sent to the MCP server. Each only opens its own.

insufficient_credits402

Not enough AI Credits to run this. Nothing was started or charged.

account_suspended403

The account is suspended, so its keys open nothing. message says until when, if the suspension has an end date.

asset_limit_reached403

The pack is at its asset limit.

forbidden403

Valid key, but not permitted to do this in this pack.

plan_required403

The key is valid, but its account is on Starter. The API needs a paid plan.

not_found404

No such pack, asset or job.

conflict409

That vanilla target is already reskinned in this pack. Change it in the Studio rather than overwriting it.