Generating
Generate a rank tag
Produces a rank_tag — the small badge in front of a player's name, used as a LuckPerms (or any permissions plugin's) prefix or suffix: a rounded background with the rank written on it. In the pack it is a font glyph, exactly like an icon.
Name the rank and a colour: a red OWNER tag. A colour in the prompt is the background unless the prompt says it belongs to the letters or the outline. The shape, face, frame, font, icon and animation are chosen for you and drawn pixel-exact; every one of them can be changed afterwards in the Studio's rank tag editor, where a single rank also keeps the designer's other takes. Ask for an animation (a red OWNER tag with a shine) and the tag plays in game through the pack's text shader.
Name several ranks for a matching set (VIP, MVP and MVP+ tags): one call makes a tag per rank, and tags lists every one made, first to last, with id and job the first's.
One flat charge per call, refunded in full if it fails. Answers when the tags are made.
/packs/{pack}/rank-tagsPath parameters
packstringrequiredThe pack's slug, as returned by the packs endpoints.
Body
promptstringrequiredmax 300 charactersThe rank, and how it should look.
namestringYour label. Absent uses the tag's words.
charstringPin it to a specific character instead of an assigned codepoint.
Response · 202
Done. A rank tag is designed while the request waits, so status is already ready and job needs no polling.
idstringrequiredThe asset's id within the pack.
typestringrequiredWhat 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
kindstringrequiredThe file format it is stored as.
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.
account_suspended403The account is suspended, so its keys open nothing. message says until when, if the suspension has an end date.
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.