Every change Wellknown observed on this MCP server, newest first, with what it was before and what it became. Tool-surface changes carry the definition diff. Nothing here is edited after the fact.
Recently observed → Unavailable
Live → Recently observed
Added "gripforge_terrain_map_use"; changed the definition of "gripforge_game_concepts", "gripforge_game_project", "gripforge_gamekit_remove" and 6 more (179 tools before, 180 now)
⟨106 unchanged words⟩ of 2 turned into seamless 1024 px textures. Maps (counts.maps) are environment paintings, one image each: the level is then built and dressed to match them. Show the plan and price to the user; ⟨49 unchanged words⟩
⟨38 unchanged words⟩ to generate per slot (heroes up to 24, maps up to 6: the first is the whole playfield from above, the others are zones seen through the game camera). Default: what the blueprint needs minus ⟨22 unchanged words⟩ minimum":0,"type":"integer"},"heroes":{"maximum":96,"minimum":0,"type":"integer"},"maps":{"maximum":96,"minimum":0," ⟨313 unchanged words⟩
⟨36 unchanged words⟩ — every new project also gets the defaultinterfacekits ui.menu (title / pause / options / load and save screen), input.remap (key remapping)and, settings.graphics (graphics options), ui.prompts (on-screen key prompts that follow remapping and the gamepad), ui.endscreen (end screen and credits), save.persistence (save slots, quick save, autosave), audio.core (game audio: mixer, music, effects, event → sound table), i18n.text (game texts in the player’s language: translation tables in the translations collection, ICU plurals) and ui.theme (the design of every interface as kit config: colours, font, shapes, key glyphs; unset = built-in look), addedBy default: keep and configure them, ⟨77 unchanged words⟩
⟨137 unchanged words⟩ a required kit fails with toggle_requires. The defaultinterfacekits (ui.menu, input.remap, settings.graphics, ui.prompts, ui.endscreen, save.persistence, audio.core, i18n.text, ui.theme) are included unless set to false here ⟨157 unchanged words⟩
⟨20 unchanged words⟩ ) only when the user asks. The defaultinterfacekits (ui.menu, input.remap, settings.graphics, ui.prompts, ui.endscreen, save.persistence, audio.core, i18n.text, ui.theme, addedBy default: present in every new game) ⟨10 unchanged words⟩ falls back to its own default keys, pause, graphics, key hints andgraphics.end screen, without save slots or sound, with English / French texts and the built-in interface look (ui.endscreen requires ui.menu: remove it first). Refused with 409 kit_in_use while other installed kits ⟨38 unchanged words⟩
⟨177 unchanged words⟩ fluid_surfaces through project data (web renderer). world.terrain adds a seeded large landscape (terrain_edits data), movement.traversal climbing / swimming / gliding with stamina, world.elements data-driven fire, water, ice, electricity and poison (element_rules, element_materials, element_climates data). Call this BEFORE gripforge_gamekit_install. 0 credits.
⟨17 unchanged words⟩ by kind and/or game style id (devil-may-cry,genshin…open-world-adventure…). Every item carries `rank` {score/100, grade ⟨32 unchanged words⟩
⟨54 unchanged words⟩ look id or alias (devil-may-cry, dmc,genshinopen-world-adventure)","type":"string"},"target": ⟨20 unchanged words⟩
Add a game look (devil-may-cry,genshin…open-world-adventure…) to tags so gripforge_style_kit can find the ⟨12 unchanged words⟩
⟨14 unchanged words⟩ look id or alias (devil-may-cry, dmc,genshinopen-world-adventure)","type":"string"},"tags": ⟨22 unchanged words⟩
⟨6 unchanged words⟩ e.g. \"devil may cry like\", \"genshinopen world adventure plaza\"","maxLength":240,"minLength":2 ⟨6 unchanged words⟩
Resolve a prompt like "Devil May Cry like" / "genshinopen world adventure" to a game-style id, then return the ⟨37 unchanged words⟩
⟨8 unchanged words⟩ devil may cry like\", \"un ennemigenshin\open world adventure\", \"elden ring\"","maxLength":240 ⟨8 unchanged words⟩
⟨36 unchanged words⟩ , optional rebuilt wheels and rigid wheel rig. For grilles or trim on a reconstructed recess, set curves.fitSurface.panel to its non-structural panel name to follow the final part. Returns a NEW private work version with GLB/Blend/optional ⟨49 unchanged words⟩
⟨62 unchanged words⟩ ,"cleanPaint":{"type":"boolean"},"denoise":{"description":"Bounded Body smoothing across UV seams; pins open boundaries, retains UVs and wheel/caliper transforms; review small details","properties":{"iterations":{"maximum":80,"minimum":1,"type":"integer"},"maxOffsetM":{"maximum":0.05,"minimum":0,"type":"number"},"normalIterations":{"maximum":30,"minimum":0,"type":"integer"}},"type":"object"},"features":{"description":"Measured replacement panels and ⟨37 unchanged words⟩ 0.01,"minimum":0,"type":"number"},"panel":{"maxLength":80,"minLength":1,"type":"string"}},"required":["axis"],"type":" ⟨413 unchanged words⟩ with measured tyres, dished spokes and brakerotors;rotors.preserveOptional
Play a terrain studio map in a game — Make a map of the terrain studio the world of a game that has the world.terrain kit. Pass map (a terrain studio map id, lvl_…) or scene (a scene id, with terrain when the scene has several terrain nodes). The map is baked once into a file (heights, ground roles, lakes and rivers, vegetation, roads, spawn and objective points) stored in the Library and bound to the terrain_map slot; the project data keeps its reference in terrain_maps. The same file is delivered to Godot, Unity and Unreal with the kit. Buildings and other non-vegetation props, and terrain holes, are not carried yet (counted in…
Added "gripforge_moba_map"; changed the definition of "gripforge_asset_clone", "gripforge_audio_kit", "gripforge_library_pull" and 1 more (178 tools before, 179 now)
Copy a published Community asset into the connected workspace.FirstAssetstakeandcostsarmor1setsgenerationarecredit;free by default. Only anarmorexplicitsetcreatorcosts
Added "gripforge_ability_vfx" (177 tools before, 178 now)
Give every ability of a game its cast effect — Write and bind a cast effect for each ability of a Game Kit project that has none: an area gets a ground shockwave, a line a bolt and its trail, an arc a sweeping crescent, a self cast a rising aura; colour from the ability's words (fire, frost, wind, holy…), size from its range, ultimates larger. The project needs the fx.ability_vfx kit (the moba preset installs it) and an abilities collection (gripforge_moba_roster writes it). Effects are procedural sources saved as VFX items and bound to ability_vfx:<ability id>, immediately. replace: true rewrites the existing ones; abilities limits to so…
Added "gripforge_moba_roster" (176 tools before, 177 now)
Set the champions of a MOBA project — Turn champions into the playable roster of a moba project (preset "moba"). Pass the Library ids of 1 to 10 champions that carry an ability pack (the items made by gripforge_abilities_generate: rigged model + basic_attack and ability_q…r clips). Writes the moba_heroes and abilities collections (ids <hero>__ability_q), binds each champion to moba_hero_<n> and the player's champion (player, else the first) to player_character. Bots play the other champions. Returns the heroes with their attack and Q/W/E/R. Then gripforge_game_play_url to play. 0 credits.
Added "gripforge_abilities_generate"; changed the definition of "gripforge_generate_prop", "gripforge_generate_vehicle" and "gripforge_scene_review" (175 tools before, 176 now)
⟨17 unchanged words⟩ "minLength":1,"type":"string"},"concept_items":{"description":"2–4 distinct owned views of the same prop for Meshy multi-image-to-3D. Exclusive with concept_item; geometry standard/2k.","items":{"maxLength":160,"minLength":1,"type":"string"},"maxItems":4,"minItems":2,"type":"array"},"idempotency_key":{"description":"Stable key per asset ⟨174 unchanged words⟩
Generate a vehicleasfromfunctionalreviewed
Added "gripforge_motion_generate" and "gripforge_vehicle_finish"; changed the definition of "gripforge_game_concepts" and "gripforge_generate_prop" (173 tools before, 175 now)
⟨66 unchanged words⟩ style bible, heroes and bosses one image each (MOBA and hero games: each hero with its ability kit and ability icons, see hero_kits), enemies, NPCs, weapons, vehicles, buildings, ⟨77 unchanged words⟩
⟨35 unchanged words⟩ :false,"description":"Concepts to generate perslot.slot (heroes up to 24). Default: what the blueprint needs minus what is ⟨184 unchanged words⟩ ":120,"minLength":2,"type":"string"},"hero_kits":{"description":"Each hero comes with its ability kit — role, lane, basic attack, passive + Q/W/E/R (type, range, cooldown, cost, effect, VFX, cast animation) — and a sheet of 5 ability icons in its colours (1 more image per hero). Default from the blueprint: on for lane-arena (MOBA). Turn it on for any game whose heroes have abilities (hero shooter, ARPG).","type":"boolean
Added "gripforge_generate_weapon_catalog" and "gripforge_library_optimize"; changed the definition of "gripforge_asset_search", "gripforge_generate_prop" and "gripforge_library_list" (171 tools before, 173 now)
⟨12 unchanged words⟩ Returns provenance, import requirements and Library ids. Results are ranked best first by fitness for a GripForge game (score/100, grade A–D, reasons: triangle budget for the target, rigged and clean rig, clips, empty-handed characters, attachable weapons, classified, file size, adoption); `best` is the top pick across sources. Prefer grade A/B; read the reasons before choosing a C/D. Search both sources before manufacturing missing roles. An ⟨20 unchanged words⟩
⟨62 unchanged words⟩ "maxLength":200,"type":"string"},"sort":{"description":"rank (default): best fit first; newest: most recent first.","enum":["rank","newest"],"type":"string"},"source":{"description":"Defaults to both.","enum":["workspace","community","both"],"type":"string"},"target":{"description":"Platform the game ships on: sets the triangle and file budgets of the rank. Defaults to mobile.","enum":["mobile","desktop
Added "gripforge_projectile_create"; changed the definition of "gripforge_game_creation", "gripforge_game_project", "gripforge_gamekit_installed" and 1 more (170 tools before, 171 now)
⟨115 unchanged words⟩ on the selected engine (including web/Three.js). quote refine with message updates the same plan after approval, preserves selected assets and reviewed work, and persists the conversation. use_reference with slot_id and an owned image asset_id supplies an uploaded concept for visual review. assets searches compatible workspace/communityitems;items ranked by the brief and role; select chooses one or sets mode=generate with a ⟨56 unchanged words⟩ a Game Kit prototype, without generating extra assets. With explicit allow_incomplete=true on the build quote, unreviewed models are excluded and missing slots use module defaults where available or remain empty. Show missing_assets before approval; never imply that an incomplete prototype is finished. Native engine projects still need CLI delivery/import; a ⟨25 unchanged words⟩
Added "gripforge_shield_export" and "gripforge_shield_vfx" (168 tools before, 170 now)
gripforge_shield_export — ADMIN ONLY. Compile a shield recipe into reusable native source files for Three.js, Godot 4, Unity or Unreal 5, using the same geometry and shader functions. Returns files keyed by relative path plus install instructions. Write ALL files into a dedicated directory; never overwrite an existing modified package without checking. Includes enable/hit/shatter runtime; no mannequin or preview environment. Native builds require target-engine verification; source export is not visual certification.
gripforge_shield_vfx — ADMIN ONLY. Create an original editable 3D elemental shield using the shared shield-vfx module: 17 styles, radius/stretch, colours, intensity, quality and seed. Same shaders used in Studio and native exports. save=true by default queues persistent rendering/review/workspace save; poll generation_read for Studio URL. save=false returns an unsaved project. No commercial reference assets, collision or damage. Recipe compilation needs no AI; saving uses the normal VFX review pipeline. Work is not visually validated automatically.
Added "gripforge_weapon_motion", "gripforge_weapon_motion_review" and "gripforge_weapon_profile"; changed the definition of "gripforge_game_concepts" (165 tools before, 168 now)
⟨118 unchanged words⟩ private review images; nothing is sent to 3D. The plan also returns ambient_kits: the kits of the theme's atmosphere (weather, lighting, snow tracks) with their config; install them in the game project next to the blueprint's gameplay kits.
gripforge_weapon_motion — Queue a persistent weapon-aware motion draft from an owned armed GLB. Axe/hammer get distinct procedural cleave, backhand and overhead attacks; sword uses the explicit UAL sword pack. Staff attacks fail with compatible_motion_missing; no silent sword fallback. Holds Grip finger poses, supports a second-hand anchor with IK. Poll gripforge_generation_read, cancel/retry with generation tools. Returns a NEW work asset and Character Studio URL; never replaces the game/source or visually validates a result. 0 generation credits.
Changed the definition of "gripforge_game_creation"
⟨43 unchanged words⟩ user approval of the shown price. get returnsprogressa persistent operation log, slots, studio_url and the same project to resume. Planning can select an appropriate preset OR compose real engine-compatible modules. A missing preset never means the genre needs a native engine. composition.modules pins all module versions; composition.tasks lists the custom logic still to implement. Assembly is a foundation, not a completed custom game: use the coding agent to finish those tasks on the selected engine (including web/Three.js). assets searches compatible workspace/community items; select chooses one ⟨102 unchanged words⟩
Added "gripforge_game_creation" (164 tools before, 165 now)
Prepare and resume a game — The website and CLI share this saved 3D game creation workflow. Ask which engine (Unity, Godot, Unreal, Three.js) if unspecified; do not choose silently. create saves a brief without spending. quote(operation=plan) estimates AI preparation, accept(quote_token) starts its durable job ONLY after user approval of the shown price. get returns progress, slots, studio_url and the same project to resume. assets searches compatible workspace/community items; select chooses one or sets mode=generate with a prompt. For generation: quote concept, obtain approval, accept, poll get, show the concept, appr…
Added "gripforge_gamekit_installed", "gripforge_generate_vehicle", "gripforge_prepare_vehicle" and 2 more; changed the definition of "gripforge_game_capabilities", "gripforge_game_project", "gripforge_gamekit_configure" and 7 more (159 tools before, 164 now)
Start here for an existing project.Report the capabilities a Game Kit project provides, ⟨18 unchanged words⟩ and which catalogue kits would fill each gap.CallThe installed kits (gripforge_gamekit_installed) come first; call this BEFORE gripforge_gamekit_install to pick the next kit. 0 credits.
⟨86 unchanged words⟩ to create or pick the project, then gripforge_gamekit_installed (existing project) or
Added "gripforge_game_concepts" (158 tools before, 159 now)
Game concepts — Concept art for a whole game, reused before generated. Use it when a user asks for a game "like God of War", "a GTA", "a Zelda": call stage=plan with the game they named. The plan lists concepts that already exist for that game (GripForge community catalog or the workspace) and theme assets already in the library: reuse them first. It then prices the missing concepts: one style bible, heroes and bosses one image each, enemies, NPCs, weapons, vehicles, buildings, props and VFX in sheets of 6 cut automatically, textures in sheets of 2 turned into seamless 1024 px textures. Show the plan and pri…
Added "gripforge_scene_realism"; changed the definition of "gripforge_generate_building" and "gripforge_generate_prop" (157 tools before, 158 now)
Reusable plan → artistic concept → isolated reference views → review → Meshy build workflow. Generate 1–4 coherent2KimagesbuildingthroughconceptOpenAIimages(1536×1024throughhighGripForgequality, default) or Imagine (2K), saved as private Library drafts; alternate views ⟨68 unchanged words⟩
Added "gripforge_architecture_schema", "gripforge_generate_building" and "gripforge_generate_district"; changed the definition of "gripforge_gamekit_get", "gripforge_gamekit_search" and "gripforge_generation_read" (154 tools before, 157 now)
⟨15 unchanged words⟩ README docs, config JSON schema with defaults, published versions, andpublishedsummaryversions.{ tagline, tags, targets, status, cover, coverUrl } with the featured image URL. Pass with_usage=true to also list the workspace projects ⟨16 unchanged words⟩
⟨47 unchanged words⟩ Certificate recorded, valid to 2026-12-20
Authorization not required
Added "gripforge_asset_clone", "gripforge_asset_search" and "gripforge_generation_quote"; changed the definition of "gripforge_generate", "gripforge_generate_character", "gripforge_generate_prop" and 1 more (151 tools before, 154 now)
⟨28 unchanged words⟩ image. Image-to-3D.","type":"string"},"idempotency_key":{"description":"Stable key per asset role. Reuse after an uncertain response to avoid duplicate paid jobs.","pattern":"^[a-zA-Z0-9_.:-]{8,160}$","type":"string"},"kind":{"description":"What to forge — ⟨74 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false{},"properties":{"item":{"additionalProperties":{},"descriptionpropertyNames":{"Library item of the generated asset (id
Changed the definition of "gripforge_game_project", "gripforge_gamekit_deliver" and "gripforge_gamekit_search"
⟨227 unchanged words⟩ "},"target":{"description":"create: pass the confirmed enginetarget.explicitlyDefault(Three.js=web).web.Ask the user to choose Unity / Godot / Unreal Engine / Three.js before creating if unknown. API default web is for compatibility, not an engine choice.","enum":["web","godot"," ⟨25 unchanged words⟩
Added "gripforge_creature_analyze", "gripforge_creature_rig" and "gripforge_creature_rig_schema" (148 tools before, 151 now)
Creature rig · detect anatomy — Queue multiview mesh inspection and vision anatomy detection for an OWNED GLB. Detect actual body, legs, arms, claws, wings or tail without imposing a humanoid/eight-leg template. Returns a persistent job_id. Poll gripforge_generation_read with include_preview=true for the annotated views, editable profile and uncertainty flags. No rig mutation. 0 GripForge credits; configured server vision/Blender required.
Creature rig · manufacture — Create a NEW private draft character/enemy from a completed creature analysis and optional corrected anatomy. Blender builds the skeleton, surface-smoothed skin weights and procedural starting/diagnostic clips. Grounded leg chains get in-place walk/run with IK. Returns job_id; poll gripforge_generation_read for the Character Studio link, skinned GLB, editable .blend, anatomy and deformation report. Never automatically replaces or validates the source. Every anatomy proposal requires explicit review; use generation_cancel/retry to control durable work. Finger/facial authoring and finished comb…
Creature rig · schema — Read the reusable creature anatomy/rig workflow, coordinate contract, limits and export formats. Detect anatomy before authoring; source GLB, asset instances and draft rig stay separate. Blender is the worker, GripForge is the review renderer.
Added "gripforge_abilities" (147 tools before, 148 now)
Abilities / skills · four engines — combat.abilities: inspect schema, get an editable Chrono Crab example, validate a pack or export executable Three.js, Godot, Unity and Unreal source adapters. Shared costs, cooldowns, conditions, targeting, windup/active/recovery and presentation cues. Native adapters require the game combat backend and asset bindings. Returns relative path/content files; no rig/animation/VFX generation or automatic installation. Persist through gripforge_gamekit_configure config.pack or project data. 0 credits.
Added "gripforge_map_import_unreal", "gripforge_map_import_unreal_schema", "gripforge_map_schema" and 1 more; changed the definition of "gripforge_generation_read" and "gripforge_map_generate" (143 tools before, 147 now)
⟨17 unchanged words⟩ work revision with a Studio link. include_preview returnsantheactualsavedrenderedimageVFXorimageallwhenmapavailable.concept views (at most 4). Set preview_view to return one chosen concept view. Concepts are generated illustrations, not implemented-map renders. Success does not mean visual approval or promotion.
Added "gripforge_joystick_kit" (142 tools before, 143 now)
Ready-to-use joystick · Unreal / Godot / Unity / Three.js — Generate input.joystick source files and installation instructions: touch + mouse, independent dual sticks, radial deadzone, continuous holding and release/focus reset. Unreal runtime Pawn component, Godot CanvasLayer scene, Unity UI component, Three.js DOM controls + GripForge input.actions bridge. Feeds the existing movement controller rather than replacing physics, collision or networking. Returns files with relative path/content; the agent writes them into the target project and compiles/tests there. Does not install automatically, modify project settings or claim runtime validation. 0 cr…
Unknown → Live
First tool surface recorded: 142 tools (server version 0.1.8)
https://gripforge.ai/mcp (mcp_streamable_http) — from mcp_registry
Showing the latest 29 events. The API returns up to 500 and filters by kind: ?kind=tool_surface_changed
⟨29 unchanged words⟩ Community hits: clone with /api/v1/community/{id}/clone (1freecreditunlessfirstthetakecreator sets a price in credits) then pull. Free to search.
⟨29 unchanged words⟩ for that (that is the sync).FirstCommunitycloneassetsofareafreecommunitytoassetclone into your lockercostsunless1theircredit.creator sets a price in credits.
Finish aRepair generatedvehicleautomotivelikesurfaces.aPreferred:gamesourcecar:(immutableonestaticmaterialGLBperwithsurfaceBody/Wheel_*(varnishedgroups)paint,+glass,repairchrome,reciperubberqueues a persistent Blender job; guided glazing/panel regions,plasticpaint cleanup,honeycombcolouredgrillecaliper extraction,litmeasuredhead-replacement panels/curves with PBR andtaillights)fitted boundaries, optional rebuilt wheels and rigid wheel rig. Returns asmoothedNEWbodyprivatesoworkreflectionsversionstaywithsteady,GLB/Blend/optional FBX andmodelledGripForgewheelsreview(tyre,link.spokedDoesrim,notbrakepromotedisc,orcaliper)overwriteintheplacesource.ofRegionstheusepainted+Yones.up/+ZVehiclesforwardfrommetres,gripforge_generate_propbounded(subtypedisplacement;vehicle)region-onlyareglassalreadystaysfinished.opaque,Wheelsauthored transmissive panes needthemansplitauthoredfirstcabin.(gripforge_vehicle_wheels).Poll/cancel/retryRewritesgeneration-jobs.the0Libraryproviderfile;credits.onceLegacyperidvehicle.without0repaircredits.uses one-time material/wheel finish and rewrites its Library file.
⟨3 unchanged words⟩ properties":{"id":{"description":"Libraryidid;ofwith repair pins source, without repair uses legacy finish","type":"string"},"idempotency_key":{"maxLength":160,"minLength":8,"type":"string"},"name":{"type":"string"},"repair":{"description":"Guided surface repair; never edits thevehiclesource","properties":{"calipers":{"properties":{"color":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"tolerance":{"maximum":0.4,"minimum":0.05,"type":"number"}},"required":["color"],"type":"object"},"cleanPaint":{"type":"boolean"},"features":{"description":"Measured(lib_…)replacement panels and detail curves; explicit PBR, clipping, symmetry, 250k vertex budget.","properties":{"curves":{"items":{"properties":{"closed":{"type":"boolean"},"fitSurface":{"properties":{"axis":{"enum":["x","y","z"],"type":"string"},"direction":{"anyOf":[{"const":1,"type":"number"},{"const":-1,"type":"number"}]},"offsetM":{"maximum":0.01,"minimum":0,"type":"number"}},"required":["axis"],"type":"object"},"material":{"properties":{"coat":{"maximum":1,"minimum":0,"type":"number"},"color":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"emission":{"maximum":10,"minimum":0,"type":"number"},"ior":{"maximum":2.5,"minimum":1,"type":"number"},"metallic":{"maximum":1,"minimum":0,"type":"number"},"roughness":{"maximum":1,"minimum":0.02,"type":"number"},"transmission":{"maximum":1,"minimum":0,"type":"number"}},"type":"object"},"mirrorX":{"type":"boolean"},"name":{"type":"string"},"points":{"items":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"maxItems":128,"minItems":2,"type":"array"},"radiusM":{"maximum":0.08,"minimum":0.0005,"type":"number"}},"required":["name","points"],"type":"object"},"maxItems":256,"type":"array"},"panels":{"items":{"properties":{"fitBoundary":{"properties":{"axis":{"enum":["x","y","z"],"type":"string"},"direction":{"anyOf":[{"const":1,"type":"number"},{"const":-1,"type":"number"}]},"fullSurface":{"type":"boolean"},"offsetM":{"maximum":0.01,"minimum":0,"type":"number"}},"required":["axis"],"type":"object"},"material":{"properties":{"coat":{"maximum":1,"minimum":0,"type":"number"},"color":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"emission":{"maximum":10,"minimum":0,"type":"number"},"ior":{"maximum":2.5,"minimum":1,"type":"number"},"metallic":{"maximum":1,"minimum":0,"type":"number"},"roughness":{"maximum":1,"minimum":0.02,"type":"number"},"transmission":{"maximum":1,"minimum":0,"type":"number"}},"type":"object"},"mirrorX":{"type":"boolean"},"name":{"type":"string"},"normal":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"points":{"items":{"items":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"maxItems":12,"minItems":2,"type":"array"},"maxItems":12,"minItems":2,"type":"array"},"replace":{"properties":{"axis":{"enum":["x","y","z"],"type":"string"},"depthM":{"maximum":0.5,"minimum":0.001,"type":"number"}},"required":["axis"],"type":"object"},"sealRadiusM":{"maximum":0.03,"minimum":0.0005,"type":"number"},"segmentsU":{"maximum":96,"minimum":4,"type":"integer"},"segmentsV":{"maximum":96,"minimum":4,"type":"integer"},"structural":{"description":"New coachwork shell, required with replaceBody; cannot fit or clip the discarded source.","type":"boolean"}},"required":["name","points"],"type":"object"},"maxItems":32,"type":"array"},"replaceBody":{"description":"Explicitly replace coachwork in a new work copy using structural panels; preserve wheels and Body calipers.","type":"boolean"}},"type":"object"},"paintColor":{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},"regions":{"items":{"properties":{"bounds":{"prefixItems":[{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"},{"prefixItems":[{"type":"number"},{"type":"number"},{"type":"number"}],"type":"array"}],"type":"array"},"fitAxis":{"enum":["x","y","z"],"type":"string"},"maxOffsetM":{"maximum":0.05,"minimum":0,"type":"number"},"name":{"type":"string"},"select":{"enum":["neutral","paint","all"],"type":"string"},"surface":{"enum":["glass","paint"],"type":"string"}},"required":["name","bounds","select","surface","fitAxis"],"type":"object"},"maxItems":16,"type":"array"},"rig":{"properties":{"wheelRadius":{"type":"number"},"wheelWidth":{"type":"number"}},"required":["wheelRadius","wheelWidth"],"type":"object"},"wheelRebuild":{"description":"Replace generated wheel meshes with measured tyres, dished spokes and brake rotors; preserve Body calipers and wheel pivots.","properties":{"radiusM":{"maximum":1.5,"minimum":0.1,"type":"number"},"
Generate, check and set the map of a MOBA project — The map of a moba project as a gameplay plan: bounds, team bases and spawns, 1 to 5 lanes (the minions' paths), structure slots (towers, inhibitors, nexus), jungle zones and camp slots, objective zones, the divider (river: walkable; chasm, lava, void: crossed only at bridges), crossings, bush zones, walls, camera limits and symmetry. action "generate" builds a fair map (mirrored through the centre) from lanes, divider, size, team_size, camps_per_jungle, objectives, bushes, walls and returns it with a playability report; apply: true puts it in the project (moba_maps, the match's map and team s…
stage=plan quotesReadthevehicle_schemawholefirst.pipelineRecommendedwithoutrecipe.workflow=body_wheelsspending.follows conceptmakes→thereferencesmaster(fiveimage.wheel-lessbuildbodymakesviewsisolated+Meshywheel)body,→cabin,geometrydoors(stop/review)and→ topology (stop/review) → build (PBR + wheel,then+assemblesrig).independentEachinstancesgeometry review uses scene_review withpivots,thesocketsreturned assetRef andopen/closemustGLBbeclips.approvedPinnedbeforepartsthecannextcomepaidfromstep.MeshyRigging preserves UVs and corner normals,TripoGLB/FBX/BlendorandBlender;measuredomitChaosonesetup.sourceToptoviewregenerateisonlyreview-only.thatparts.body.geometryrole.acceptsExplicitunfinishedquoteHunyuan/BlenderbudgetGLB;required.parts.body.topologyReturnspinsdurablethejob_id;reviewedpollreducedgeneration_readGLB; parts.<role>.source reuses finished meshes. Legacy modular_doors remains available foreditablearticulatedpartsdoors.andstage=planclosed/openquotesStudioeachscenes.stageWorkwithoutdraftspending;only:paidmatchingstagesseams,requiresourceitsorientationbudget.andDurableopenjob;doorpollbaysgeneration_read.needWorkvisualdraft,review.real-renderDoesreviewnotandautomaticallytarget-enginereplacedrivinggametestassets.required;Readnovehicle_schemaautomaticfirst.publication/replacement.
⟨37 unchanged words⟩ ","enum":["plan","concept","references","geometry","topology","build"],"type":"string"},"workspace_id" ⟨21 unchanged words⟩
⟨8 unchanged words⟩ of the exact saved work revision. Poll generation_read. Optional assetRef records the review on the exact isolated asset revision as well; required for vehicle geometry/topology gates. This does not promote or replace the validated version.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"assetRef":{"properties":{"assetId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"fileRole":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"revisionId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"}},"required":["assetId","revisionId"],"type":"object"},"expectedRevision":{"exclusiveMinimum":0,"maximum":9007199254740991, ⟨48 unchanged words⟩
Generate hero abilities — A hero's abilities ready to play in Character Studio: the kit (role, lane, basic attack, passive + Q/W/E/R with type, range, cooldown, cost, effect, VFX brief, cast animation) from a hero concept or written from one sentence; the basic attack and Q/W/E/R casts animated with NVIDIA Kimodo on the rigged character; and the gripforge.abilities/1 pack (targeting, damage/heal, timings) bound to those clips and stored on the result. Call stage=plan first (free) and show the abilities and price (1 credit per clip, 5 for a kit); then stage=build with the returned kit. Poll gripforge_generation_read wi…
⟨154 unchanged words⟩ wheels split with hub pivots so it drives. Then finished like a game car: paint, glass, chrome, grille and lamp materials, smoothed body, modelled wheels. Detected from the prompt (car, truck, van ⟨15 unchanged words⟩
Generate motions from text — Custom animations generated from text with NVIDIA Kimodo on GripForge's GPU, retargeted onto a rigged Library character (or the UAL mannequin): spell casts, signature attacks, emotes, anything the standard clip pack (gripforge_animate) lacks. Kit mode turns a MOBA hero concept's basic attack and Q/W/E/R into clips in one call. Call stage=plan first (free) and show the prompts and price (1 credit per clip); stage=build queues a durable job — poll gripforge_generation_read with job_id (a cold GPU takes a few minutes). The result is a kind=animation Library item, one clip per prompt.
Finish a vehicle — Finish a generated vehicle like a game car: one material per surface (varnished paint, glass, chrome, rubber, plastic, honeycomb grille, lit head- and taillights), a smoothed body so reflections stay steady, and modelled wheels (tyre, spoked rim, brake disc, caliper) in place of the painted ones. Vehicles from gripforge_generate_prop (subtype vehicle) are already finished. Wheels need them split first (gripforge_vehicle_wheels). Rewrites the Library file; once per vehicle. 0 credits.
⟨132 unchanged words⟩ meshy","tripo"],"type":"string"},"subtype":{"description":"vehicle: made as the Vehicles prop sub-kind — no grip style, nose on +Z, the four wheels split with hub pivots so it drives. Detected from the prompt (car, truck, van, kart…) when omitted; none opts out.","enum":["vehicle","none"],"type":"string"}},"required":["prompt"],"type":"object"}
⟨19 unchanged words⟩ and/or game style id (devil-may-cry, genshin…). Every item carries `rank` {score/100, grade A–D, reasons}: fitness for a GripForge game on the target platform. sort=rank lists the best fit first — use it to choose between candidates. Same origin as Studio — not a marketplace.
⟨29 unchanged words⟩ "Search name/filename/description/tags","type":"string"},"sort":{"description":"newest (default) or rank: best fit for a GripForge game first","enum":["newest","rank"],"type":"string"},"style":{"description":"Game look id or alias (devil-may-cry, dmc, genshin)","type":"string"},"target":{"description":"Platform for the rank budgets (triangles, file size). Defaults to mobile.","enum":["mobile","desktop"],"type":"string"}},"type":"object"}
Generate a weapon catalogue — Plan then manufacture 1–64 original static weapon models using the existing Meshy PBR pipeline. plan is free and returns an exact aggregate quote and plan_hash. build requires that hash, an explicit budget covering the quote and a stable idempotency_key. One durable job, two bounded fabrication lanes, per-weapon checkpoints and billing; cancellation/retry preserves finished work and provider task IDs. Results remain private work assets. Inspect geometry, textures and actual renderer output before publishing. Does not create attack/reload animations, grip bindings, or flexible-chain physics. P…
Derive a lighter version — Derive a lighter version of a static model (prop, weapon, equipment, vehicle) for a target: decimated to `triangles`, textures bounded to `texture` px, saved as a NEW Library item linked to its master (meta.lod_of). The master is never changed — generate high once, derive mobile/desktop versions. Wheel pivots and nodes are kept. 0 credits.
⟨7 unchanged words⟩ get","assets","create","select","use_reference","approve_concept","approve_asset","quote","accept","cancel","retry","dismiss"],"type":"string"},"allow_incomplete":{"type":"boolean"},"asset_id":{"maxLength":100,"type":"string ⟨16 unchanged words⟩ "maxLength":100,"type":"string"},"message":{"maxLength":1500,"minLength":3,"type":"string"},"mode":{"enum":["select","generate" ⟨2 unchanged words⟩ string"},"operation":{"enum":["plan","refine","concept","generate","build"]," ⟨38 unchanged words⟩
⟨28 unchanged words⟩ preset (see gripforge_gamekit_search) or an explicit kitsmap;map — every new project also gets the default interface kits ui.menu (title / pause / options), input.remap (key remapping) and settings.graphics (graphics options), addedBy default: keep and configure them, leave one out ({ "ui.menu": false }) or remove it only if the user asks; get returns the full ProjectDetail (installed kits, ⟨57 unchanged words⟩
⟨135 unchanged words⟩ preset. Unchecking a required kit fails with toggle_requires. The default interface kits (ui.menu, input.remap, settings.graphics) are included unless set to false here — only when the user asked for it.","propertyNames":{"type":"string"}, ⟨146 unchanged words⟩
⟨23 unchanged words⟩ addedBy (user / agent / auto / preset / default — the interface kits every new game gets), provides, requires and config, plus the ⟨87 unchanged words⟩
⟨18 unchanged words⟩ in gripforge_gamekit_installed) only when the user asks. The default interface kits (ui.menu, input.remap, settings.graphics, addedBy default: present in every new game) are removed only when the user asks; the game then falls back to its own default keys, pause and graphics. Refused with 409 kit_in_use while other installed kits ⟨38 unchanged words⟩
Create projectile VFX — ADMIN ONLY. Create an editable 3D projectile: ignition, elemental volume, world-space trail, embers, contact flash, oriented ring and soot. 20 named variants: darts, short bolts, orbs, wisps, carrot rocket, spinning disc, spears, comets, coils and lightning. config.variant selects the geometry, trail and impact; style/color optionally override its palette. Omit variant to retain the original elemental recipe. To save several catalogue entries, pass variants=[IDs] without config/name: one persistent job renders/reviews each item sequentially, preserves completed items on retry and returns resu…
gripforge_weapon_motion_review — Independently sample the saved weapon-motion GLB at 60 Hz: grip drift, finger pose, wrist rotation, joint discontinuities, second-hand reach and torso overlaps. Reports technicalPassed separately from visualStatus=not_reviewed. Inspect idle, wind-up, impact, recovery and locomotion in GripForge before using the draft. No promotion or mutation.
gripforge_weapon_profile — Measure an owned armed GLB instance and return its editable weapon/motion profile: explicit family, holding hand, dimensions, grip anchors, handle and cutting-edge axes. Use gripforge_attach first. Default axes are +Y handle and +Z edge; inspect/correct them. Does not mutate the Library source or certify the initial seating.
⟨19 unchanged words⟩ to switch the kit off without uninstalling it. Configure installed kits freely rather than recoding what they do. Returns { kit, project } with the new ⟨8 unchanged words⟩
⟨88 unchanged words⟩ "minLength":4,"type":"string"},"reason":{"description":"One sentence: why you do this, recorded in the project history (required in spirit when you go against the installed-kits rule).","maxLength":300,"type":"string"},"workspace_id":{"description":"Workspace authorized by the ⟨16 unchanged words⟩
⟨18 unchanged words⟩ scenes and config under gripforge/kits/<kit>/, Unity gets an embedded UPM package plus C# filesfor kitsandwithUnreal aUnityBlueprint-firstemitterplugin(thefornet.*everymultiplayerkitkits)withandanrecipesengineotherwise,deliveryUnreal(gameplaygetsand net.* kits; recipes otherwise), web needs nothing. Kits always deliver at their latest version; a kit the project copied locally is delivered from its copy. Call with dry_run=true FIRST: it returns the plan ⟨87 unchanged words⟩ blocked plan answers 409 with the plan:forceabacksfileupeditedtheninoverwritestheeditedenginefilesproject is reported (modified_file),accept_breakingneverallowsoverwrittenasilently;majorforceupdate.backs it up then overwrites it. Credits: the first delivery of a kit ⟨23 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"accept_breaking":{"description":"true → allow a breaking (major) update.","type":"boolean"},"dry_run":{"description":"true → plan only ⟨95 unchanged words⟩ a-z0-9][a-z0-9._-]*$","type":"string"},"version":{"description":"Exact version; only the latest is deliverable. Default latest.","maxLength":40,"type":"string"}},"required":["id"],"type":" ⟨125 unchanged words⟩ description":"Engine to deliver to: godot (addon + kit files), unity (C# files for theUPMnet.*packagekits,+recipesC#otherwisefiles), unreal (recipesplugins), web (native, nothing to write). Kits without an engine delivery get recipes.","enum":["godot","unity"," ⟨25 unchanged words⟩
⟨12 unchanged words⟩ provides, requires), edges labelled by capability, same-scene overlaps (conflicts: several enabled providers of one exclusive capability) and unresolved requirements. Pass project_id for the installed ⟨29 unchanged words⟩
⟨15 unchanged words⟩ README docs, config JSON schema with defaults,publishedversionversionsand changelog (information only: projects always run the latest version), and summary { tagline, tags, targets, ⟨32 unchanged words⟩
Add amodulargameplay kit (a brick) to a Game Kit project (gkp_…).;Dependenciesinstallingdeclaredmarksinthat thekitgamemanifestusesareit.resolvedDecideanditaddedyourself,automatically;notheconfirmationresponseneeded.returnsAlways theplanlatest(addversion;/dependenciesupgradeare/addedkeep)automatically.andKits are bricks that go together: two kits handling theupdatedsamecapabilities.thingPass(e.g.dry_run=truetwotolightings)previewarewithoutawriting.same-sceneCalloverlap,gripforge_game_capabilitiesneverfirstatogame-levelseeconflictwhat—theonlyprojectone ismissingactive in a scene. Returns { plan,gripforge_gamekit_searchapplied,toprojectfind};thedry_run=truekitpreviews without writing. Check gripforge_gamekit_installed first, thengripforge_gamekit_configure togripforge_gamekit_search; tuneit.with gripforge_gamekit_configure. Legacy genre kits (legacy.*)are not installable here —use gripforge_kit. 0 credits.
⟨102 unchanged words⟩ "minLength":4,"type":"string"},"rangereason":{"description":"SemverOnerangesentence:towhysatisfyyou(e.g.do^1.2.0this,1.x).recordedDefault:inlatestthecompatibleprojectversion.history (required in spirit when you go against the installed-kits rule).","maxLength":80300,"type":"string"},"workspace_id":{" ⟨21 unchanged words⟩
Uninstall a kit from a Game Kit project (gkp_…). Remove a kit the user installed (addedBy user in gripforge_gamekit_installed) only when the user asks. Refused with 409 kit_in_use while other installed kits ⟨38 unchanged words⟩
⟨79 unchanged words⟩ kit requires.","type":"boolean"},"reason":{"description":"One sentence: why you do this, recorded in the project history (required in spirit when you go against the installed-kits rule).","maxLength":300,"type":"string"},"workspace_id":{"description":"Workspace authorized by the ⟨16 unchanged words⟩
⟨28 unchanged words⟩ each hit then carries state { installed,updateAvailable, compatibleenabled,conflictsfills, reason } and kits that fill one of its missing capabilities rank first. Kits are bricks that go together: a kit handling the same thing as an installed one is a same-scene overlap (only one active in a scene), never a reason to skip it. Returns { kits, presets }; each kit ⟨69 unchanged words⟩ budgets and bloom; edit world_lights through project data. world.fluids adds interactive mud / blood surfaces, displaced 3D wheel ruts and footprints; edit fluid_surfaces through project data (web renderer). Call this BEFORE gripforge_gamekit_install. 0 credits.
CheckBringorGameapplyKitsGametoKittheirupdateslatest version
CheckProjectsoralwaysapplyfollowkitthe latest version of their kits: the studio updatesinthem automatically when aGameprojectKitisproject.opened. Use this to do it now. Dry-run by default: returns the plan (from / to version,breaking changes,migrationsto run)without writing.. Pass apply=true towrite the new lockfile and runapplytheit.migrations;Arangemigrationnarrowswiththeauto=falsetargetisversionnever(e.g.applied^1.2.0).byOmititself:idittoischeckyoureverytaskinstalled—kitapplyinitsonenotecall.(config,Calldata)gripforge_gamekit_getthenoncalltheagain.targetOmitversionid toreadcheckitseverymanifestinstalledfirst.kit. 0 credits.
⟨5 unchanged words⟩ {"description":"true to apply the update(newtolockfilethe+latest version (automatic migrations run). Default false = plan only.","type ⟨39 unchanged words⟩ Library item.","maxLength":80,"minLength":4,"type":"string"},"range":{"description":"Semver range to satisfy (e.g. ^1.2.0, 1.x). Default: latest compatible version.","maxLength":80,"type":"string"},"workspace_id":{" ⟨20 unchanged words⟩
Installed kits of a project (use these first) — Start here for an existing project. Lists the kits installed in a Game Kit project (gkp_…), first and marked priority: id, name, enabled, addedBy (user / agent / auto / preset), provides, requires and config, plus the rule that goes with them. Versions are for your information (projects always follow the latest): each kit also has version (in the project), latest, delivered { godot | unity | unreal } (the version the last engine delivery carries — a delivered game can run an older one) and pendingMigrations (manual migrations left to you). Installed kits are choices already made for this game…
Generate a vehicle as functional parts — stage=plan quotes the whole pipeline without spending. concept makes the master image. build makes isolated Meshy body, cabin, doors and wheel, then assembles independent instances with pivots, sockets and open/close GLB clips. Pinned parts can come from Meshy, Tripo or Blender; omit one source to regenerate only that role. Explicit quote budget required. Returns durable job_id; poll generation_read for editable parts and closed/open Studio scenes. Work draft only: matching seams, source orientation and open door bays need visual review. Does not automatically replace game assets. Read vehicl…
Prepare segmented vehicle hinges in Blender — Durable Blender preparation of an owned static segmented GLB. Map each Door_FL/FR/RL/RR or Wheel_FL/FR/RL/RR to exact mesh node names from the segmentation report. Keeps geometry placement, UVs and PBR; normalizes +Z forward/metres using yaw and length; adds hinge origins, seat/entry sockets and portable GLB open/close/preview clips. Optional hinge coordinates are in normalized vehicle metres. thickness adds an inward door shell, not a full cabin. Optional cuts provide strictly convex door outlines [forwardZ,heightY] and depth [near,far] measured from the centre on that side, in normalized me…
Modular vehicle manufacturing contract — Read the concept-first vehicle recipe, canonical parts, hinge convention, limits, quotes and revision workflow.
Separate an existing vehicle with Tripo — Quote then queue one durable Tripo v2 semantic segmentation of an owned immutable GLB, including Meshy or Blender sources. stage=plan is free; stage=build requires quoted budget. 40 Tripo provider credits, distinct from the GripForge quote. Returns job_id; inspect parts and texture preservation in generation_read. No automatic completion, retexture, articulation, publication or replacement. A segmented output still needs hinge preparation.
⟨60 unchanged words⟩ "number"}},"type":"object"},"concept_viewsconcept_presentation":{"description":"ConceptDefaultstagescene:uniqueartistic concept in its neighbourhood preserving the user atmosphere and lighting. isolated: technical views of the SAME building for Meshy. Keep rich architectural detail in both.","enum":["scene","isolated"],"type":"string"},"concept_provider":{"description":"Default openai (GPT Image 2.5 Sunburst, high quality). xai explicitly selects Imagine. Provider is pinned in the durable job; never silently falls back. Read the provider-specific concept_quote.","enum":["openai","xai"],"type":"string"},"concept_reference":{"additionalProperties":false,"description":"Owned artistic reference to EDIT into new scene/isolated views. Distinct from recipe.concept, which reuses an existing front view without generation. Exclusive with recipe.concept/concepts/source and stage=build.","properties":{"assetId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"fileRole":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"revisionId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"}},"required":["assetId","revisionId"],"type":"object"},"concept_views":{"description":"Unique views starting with front_right. Defaultfront_right,onefront_leftview for scene,rear_right.threeEveryforalternateisolated.viewAlternateeditsviews edit the SAME master. recipe.conceptcan reusereuses an existingmastermaster;withoutconcept_referenceregeneratingguidesit.a NEW master.","items":{"enum":["front_right", ⟨367 unchanged words⟩ :{"description":"plan is free: exactconcept_promptsprompts and separate image/3D quotes.Realisticconceptstylecreatesusesreviewablephotographicworkspacematerials,images.glazing,Firstconstructionreviewandartisticnatural-lightscene,guidance.thenconceptisolatedcreatesviewsreviewableofworkspacetheimages;SAMEbuildbuilding,manufacturesthen build 3D from chosen isolated references.","enum":["plan","concept" ⟨12 unchanged words⟩
⟨20 unchanged words⟩ , no biped rig. polycount defaults to 4000. Quoted against the shared subscription, or 10credits.GripForge credits if it cannot cover the complete operation. Returns a persistent job_id immediately; poll gripforge_generation_read, ⟨7 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"concept_item":{"description":"Owned concept image in this workspace; forces Meshy image-to-3D.","maxLength":160,"minLength":1,"type":"string"},"idempotency_key":{"description":"Stable key per asset ⟨16 unchanged words⟩ ,160}$","type":"string"},"meshQuality":{"description":"Meshy geometry and PBR texture quality. Requested texture resolution is retained through optimization.","properties":{"geometry":{"enum":["standard","2k","4k"],"type":"string"},"texture":{"enum":["2k","4k","8k"],"type":"string"}},"required":["geometry","texture"],"type":"object"},"name":{"description":"Library name","maxLength":160,"type":"string"},"optimize":{"description":"Default true; false retains the provider mesh for close-up review.","type":"boolean"},"polycount":{"description":"Target triangles ⟨32 unchanged words⟩
Architecture materials and ambient occlusion — Apply reusable architectural surface profiles and GTAO to a saved work scene. Read gripforge_scene_schema.realism first. assignments [{nodeId,material:"*" or a named slot,surface:{preset:preserve|brick|stone|metal|glass,detail:0..1,weathering:0..1,regions:[]}}]; surface:null removes only this local profile. Optional glass regions use explicit normalized mesh-local min/max bounds and interior parallax settings. Never guess masks from colours. ambientOcclusion {enabled,radius:0.02..3 metres,intensity:0..1,quality:low|medium|high}, or null to remove. Preserves transforms, source PBR maps, other …
⟨17 unchanged words⟩ work revision with a Studio link. include_preview returnsthesavedimage or all mapmap/building conceptviewsimages (at most 4). Set preview_view to return one chosenconceptview. Concepts are generated illustrations, notimplemented-mapverified 3D renders. Success does not mean visual approval or promotion.
⟨20 unchanged words⟩ ["overview","top_down","entrance","objective","front_right","front_left","rear_right","rear_left"],"type":"string"},"workspace_id":{ ⟨21 unchanged words⟩
Architecture · schema — Read the reusable Meshy building and district contract, example, limits and plan → build workflow. Separate immutable Library assets, scene instances and shared SceneDocument. No paid generation.
Generate a building — Reusable plan → concept → review → Meshy build workflow. Generate 1–4 coherent 2K building concept images through GripForge, saved as private Library drafts; alternate views reference one master. Separate explicit budgets for concepts and 3D. Accepts text, owned single/multiple concept views or an owned static GLB. Meshy PBR/geometry quality, bounded geometry and uniform metric fit. Durable jobs return workspace links; poll generation_read, cancel/retry preserves finished steps. Review images before building and the real Studio render before publishing. No guaranteed interiors, collisions or …
Generate a district — Plan then build a straight-street district from 1–8 distinct Meshy buildings, each manufactured once and reused as separate editable instances. Includes road, pavements, spawn, daylight and camera in the shared Map SceneDocument. Optional owned PBR road/pavement maps; otherwise simple solid surfaces. Plan returns layout, provider-credit count and account quote without spending. Build requires a budget and returns a persistent job, then Map Studio link. Private work version requiring visual review; no automatic Community publication or game replacement.
⟨32 unchanged words⟩ image. Image-to-3D.","type":"string"},"idempotency_key":{"description":"Stable key per asset role. Reuse after an uncertain response to avoid duplicate paid jobs.","pattern":"^[a-zA-Z0-9_.:-]{8,160}$","type":"string"},"kind":{"description":"character | enemy | ⟨94 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false{},"properties":{"item":{"additionalProperties":{},"descriptionpropertyNames":{"Library item of the generated character (idtype":"string"},file_url)"type":"object"},"propertyNamesjob":{"type":"string"},"job_id":{"type":"objectstring"},"library_url":{"type":"string"},"notes":{"items":{"type":"string"},"type":"array"},"provider":{"type":"string"},"stage":{"type":"string"},"status":{"type":"string"},"status_url":{"type":"string"},"studio_url":{"type":"string"}},"type":"object"}
⟨21 unchanged words⟩ biped rig. polycount defaults to 4000. 10 credits. Returns a persistent job_id immediately; poll gripforge_generation_read, then download and import the completed model.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"idempotency_key":{"description":"Stable key per asset role. Reuse after an uncertain response to avoid duplicate paid jobs.","pattern":"^[a-zA-Z0-9_.:-]{8,160}$","type":"string"},"name":{"description":"Library name","maxLength ⟨39 unchanged words⟩
⟨28 unchanged words⟩ is written to meta.style for gripforge_attach. 10 credits. Returns a persistent job_id; poll gripforge_generation_read. Do NOT write one-off Meshy scripts.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"idempotency_key":{"description":"Stable key per asset role. Reuse after an uncertain response to avoid duplicate paid jobs.","pattern":"^[a-zA-Z0-9_.:-]{8,160}$","type":"string"},"name":{"description":"Library name (default: ⟨61 unchanged words⟩
{"$schema":"https://json-schema.org/draft/2020-12/schema","additionalProperties":false{},"properties":{"item":{"additionalProperties":{ ⟨2 unchanged words⟩ :"string"},"type":"object"},"job":{"type":"string"},"job_id":{"type":"string"},"library_url":{"type":"string"},"notes":{"items":{"type":"string"},"type":"array"},"provider":{"type":"string"},"stage":{"type":"string"},"status":{"type":"string"},"status_url":{"type":"string"},"studio_url":{"type":"string"}},"type":"object"}
Copy a Community asset to the workspace — Copy a published Community asset into the connected workspace. First take costs 1 generation credit; an armor set costs 1 per piece. Repeated takes are not billed again but may create another copy: reuse an existing workspace id when possible. Returns the private Library item and signed file URL. Download it with gripforge_library_pull, then import into the actual game.
Search workspace and Community assets — Search actual asset models, materials and animations, independently of Game Kit modules. Returns provenance, import requirements and Library ids. Search both sources before manufacturing missing roles. An empty kit search does not mean there are no assets. Search is free; never substitutes proxy geometry for finished models.
Estimate generation usage before spending — Free quote for a model, concept, texture, rig or animation. Reports the account funding mode, available balance and estimated operation cost. A subscription combines AI and paid asset generation in one monthly limit without also charging generation credits. Quote every missing role, propose the plan, and obtain a generation budget before submitting paid jobs. Estimates cover one operation, not the full concept/rig/review pipeline.
⟨266 unchanged words⟩ to deliver to: godot (files), unity/(C# files for the net.* kits, recipes otherwise), unreal (recipes), web (native, nothing ⟨31 unchanged words⟩
⟨99 unchanged words⟩ description":"Engine target the kit must support.DefaultForweb.game creation, use the engine chosen by the user or identified in their project; ask Unity / Godot / Unreal Engine / Three.js if unknown. The API web default is not user consent.","enum":["web","godot"," ⟨23 unchanged words⟩
⟨15 unchanged words⟩ ,"include_preview":{"type":"boolean"},"preview_view":{"enum":["overview","top_down","entrance","objective"],"type":"string"},"workspace_id":{"description":"Workspace authorized by the ⟨16 unchanged words⟩
GenerateCreate map concept views or an editable map
Queue a persistent mapgenerationjob.intostage=concept creates a private master overview plus optional views and stops. views: overview,top_down,entrance,objective. All additional views are conditioned on thecommonSAMEScenepinnedEngine.master; they are illustrations, not exact 3D renders. reference is an environment screenshot for a NEW layout. To add views to an existing concept, pass source_concept instead; the master is kept unchanged and is free. One credit per new image (full new 4-view set = 4); default is overview only. Poll generation_read with include_preview=true to see the views. After the user selects the concept, submit stage=build with the returned concept and a new idempotency key. Build costs 1 credit and is the default for existing callers; legacy concept_item accepts a Library image ID, while concept pins its exact version. wizard: style realistic|stylized|lowpoly|handpainted; world open_world|closed_arena|dungeon|linear|battle_map; terrainplains|desert_canyon|forest|snow|island|volcanic;auto|plains|desert_canyon|forest|snow|island|volcanic; size small|medium|large; boundary fixed|infinite (open edge, finite terrain); spawn single|teams; teams2|4.2|4;Resultboss,safeZone,extractioncontainsbooleans. sources selects catalog/workspace/community props. Build uses the common Scene Engine with independent terrain, regions, paths,spawnzones and asset instances.WorkCancel/retryiskeepsnotsuccessfulautomaticallyimagesvalidated.andPollbilling.generation_read.No automatic visual validation, promotion or Unreal import.
{"$schema":"https://json-schema.org/draft/2020-12/schema","properties":{"concept":{"description":"Exact chosen concept revision for stage=build. Mutually exclusive with concept_item.","properties":{"assetId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"fileRole":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"revisionId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"}},"required":["assetId","revisionId"],"type":"object"},"concept_item":{"description":"Legacy Library concept image ID. Prefer an immutable concept reference.","pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"idempotency_key":{"maxLength":160,"minLength":8, ⟨5 unchanged words⟩ "minLength":3,"type":"string"},"reference":{"description":"Pinned source-environment screenshot for stage=concept only. Upload to Library and pin first.","properties":{"assetId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"fileRole":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"revisionId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"}},"required":["assetId","revisionId"],"type":"object"},"seed":{"maximum":90071992547409912147483647,"minimum":-9007199254740991-2147483647,"type":"integer"},"wizardsource_concept":{"description":"Existing immutable master to add views to, stage=concept only. Mutually exclusive with reference; never regenerate this master.","properties":{"assetId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"fileRole":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"},"revisionId":{"pattern":"^[a-zA-Z0-9][a-zA-Z0-9_.:-]{0,159}$","type":"string"}},"required":["assetId","revisionId"],"type":"object"},"sources":{"items":{"enum":["catalog","workspace","community"],"type":"string"},"maxItems":3,"minItems":1,"type":"array"},"stage":{"enum":["concept","build"],"type":"string"},"structure":{"additionalProperties":{},"
Import a portable Unreal scene — Queue a persistent import of schema gripforge.unreal-studio-import.v1. Upload files via local gripforge_map_unreal_upload_local or POST /api/v1/maps/import/unreal/assets first. document is a common SceneDocument with workspace-owned immutable assets, separate props, static foliage patches and editable terrain. source={engine:unreal,level:/Game/...,sha256,warnings:[]}. Returns job_id; poll generation_read for studio_url. Always a NEW private work scene; no overwrite, automatic validation or Community publication. 0 credits; storage quota applies.
Unreal to Studio import contract — Read the native export → binary upload → persistent map import workflow, limits and explicit conversion caveats. Native extraction requires the local MCP and an installed Unreal editor. Hosted MCP/API consume the resulting portable SceneDocument; they cannot read your local .umap/.uasset files.
Map concept and generation workflow — Read the concept-first map workflow, immutable image reference format, costs and an example. Concepts, map work scenes and external engine delivery are separate steps.
Prepare a scene for fast browser loading — Queue resumable browser texture variants for a saved scene. Preserve original GLBs, geometry, transforms, PBR, animations and Library heads. Color textures up to 1024px, data maps up to 512px and terrain color up to 4096px; WebP encoding. Saves a new work revision only if expectedRevision still matches. Does not promote validated. Poll generation_read for byte savings and studio_url. 0 credits; storage quota applies. New Unreal imports do this automatically.