Every request carries your API key as a Bearer token — the API is login-only, anonymous calls are rejected. The response is a binary .glb. Pass just seed for a randomized monster, or add body / weapon / palette to art-direct it.
# seed is the only required param — add body/weapon/palette to art-direct curl "https://gobkit.com/api/generate?seed=42&body=normal&weapon=sword&palette=slate" \ -H "Authorization: Bearer gk_live_your_api_key" \ -o goblin.glb
Load it into any engine, or hand the file to your agent. It ships rigged with idle / walk / attack clips — ready to play. Each generation spends 10 credits; re-fetching a monster you already made is free.
// in Codex / Cursor, tell your agent: "Call the Gobkit API with my key to generate a goblin enemy, download the .glb, and add it to my game as the first enemy."
401. Params: seed (uint, required); optional body (short/normal/heavy/giant), weapon (unarmed/sword/spear/axe/stick on every plan — dagger/greatsword/greataxe/bow/mage/doubleaxe require a paid plan; on Free those return 403 weapon_locked), palette (slate/red/green/blue/amber/violet). Returns a .glb. Spends 10 credits; 402 when out of credits.
POST /api/promptDescribe what you want in plain English (or Chinese) instead of reading this table — {"prompt":"a blue greataxe goblin","execute":true} generates it. Omit execute and you get a costed plan back with nothing charged. Over 10 units it returns a parallel batch plan rather than generating inline. GET /api/prompt needs no auth and returns the full vocabulary, so an agent can learn the interface before it has a key.
reload=1Re-download a unit you already generated: add &reload=1 to GET /api/generate with the same seed. Free for a seed already in your library, billed normally for anything else. Every response carries X-GK-Charged (0 or 10) so you always know what a call cost — save the GLB bytes when you first receive them rather than generating twice.
POST /api/keysCreate an API key (MAX plan) — shown once. Create & revoke keys on your Account page.
GET /api/meYour account: plan, remaining credits, and reset date (signed-in session).
agent[] first. Every model URL is in the flat glbs[] array; the same URLs with metadata are at packs[].models[].url. Keys after notice are a back-compat copy of the first pack — ignore them. Full loading code for Three.js, Unity, Godot and Blender is on /freebies. Works in any glTF 2.0 engine (Three.js, Unity, Godot, Unreal, Blender). AI-agent notes: /llms.txt.
GET /api/communityNo auth, CORS open — the community CC0 library: user-uploaded rigged creatures, reviewed by a human before publishing. Returns items[] with title, creator, license, model_url, thumb_url, page_url, tri_count and a specs object measured from the uploaded GLB by the server (triangles, materials, draw calls, texture size, bones, animation clip names) — not self-reported. Different animation rule from /api/free: these ship separate named clips (idle / move / attack) you play by name, not one timeline you slice. Read the top-level usage object first. /api/showcase is the old name for the same handler and still works.
POST /api/communityNo auth — publish a model to the community wall. multipart/form-data: model (a .glb, required) plus optional thumb, title, creator_name. A human reviews each submission unless you hold a harness publishing key. Returns a slug, a status (published or pending_review) and a manage_token shown once, so you can take your own model down later. Uploading releases the model under CC0 1.0.
Auth: an API key or your logged-in session — both require an account and spend the same credit balance. API keys require the MAX plan. Payments & tax are handled by Paddle. MCP direct-call is on the roadmap.