{"uid":"cap_zUGXMLmP_k8y85_UWlu9L","slug":"rengi-forge-2d-level-revise-6c81ff58","name":"Rengi Forge: 2D Level Revise","description":"Level design: Change a 2D map by instruction or zone edits; untouched zones keep their tiles. Full schema: https://rengi.dev/v1/level-design/schema","url":"https://rengi.dev/v1/level-design/revise-2d?utm_source=zero.xyz","method":"POST","headers":{},"bodySchema":{"type":"object","properties":{"edits":{"type":"array","items":{"type":"object","required":["zoneId","rules"],"properties":{"rules":{"type":"array","items":{"anyOf":[{"type":"object","required":["kind","density"],"properties":{"kind":{"type":"string","const":"scatter"},"tags":{"type":"array","items":{"type":"string"}},"names":{"type":"array","items":{"type":"string"}},"density":{"type":"number","maximum":1,"minimum":0}},"additionalProperties":false},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","const":"along"},"tags":{"type":"array","items":{"type":"string"}},"inset":{"type":"integer","default":0,"maximum":10,"minimum":0},"names":{"type":"array","items":{"type":"string"}},"spacing":{"type":"integer","default":1,"maximum":20,"minimum":1}},"additionalProperties":false},{"type":"object","required":["kind","count","radius"],"properties":{"kind":{"type":"string","const":"cluster"},"tags":{"type":"array","items":{"type":"string"}},"count":{"type":"integer","maximum":60,"minimum":1},"names":{"type":"array","items":{"type":"string"}},"radius":{"type":"number","maximum":40,"exclusiveMinimum":0},"clusters":{"type":"integer","default":1,"maximum":30,"minimum":1}},"additionalProperties":false},{"type":"object","required":["kind"],"properties":{"kind":{"type":"string","const":"stamp"},"tags":{"type":"array","items":{"type":"string"}},"count":{"type":"integer","default":1,"maximum":30,"minimum":1,"description":"Stamps per zone; building lots usually take 1."},"names":{"type":"array","items":{"type":"string"}}},"additionalProperties":false},{"type":"object","required":["kind","name"],"properties":{"at":{"anyOf":[{"type":"string","const":"centroid"},{"type":"array","items":false,"maxItems":2,"minItems":2,"prefixItems":[{"type":"number"},{"type":"number"}]}],"default":"centroid"},"kind":{"type":"string","const":"anchor"},"name":{"type":"string"}},"additionalProperties":false}]},"maxItems":12},"zoneId":{"type":"string"}},"additionalProperties":false},"maxItems":50},"jobId":{"type":"string"},"instruction":{"type":"string","maxLength":2000}}},"responseSchema":null,"example":null,"exampleRequest":null,"tags":["x402"],"displayCostAmount":"0.3","displayCostAsset":"USDC","priceDynamic":false,"priceHint":null,"priceStatus":"priced","priceSource":"probe","requiresHandshake":false,"reviewCount":0,"rating":{"score":"0.00","successRate":"0.00","reviews":0,"stars":null,"state":"unrated"},"availabilityStatus":"unknown","priceObserved":null,"sessionDeposit":null,"pricing":{"kind":"static","summary":"$0.3/call","primary":{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.3","per":"call","confidence":"exact"},"accepted":[{"kind":"static","protocol":"x402","network":"base","amountUsd":"0.3","per":"call","confidence":"exact"}]},"paymentMethods":[{"uid":"pm_A1mXlh6oj7Fic-mmhG7iG","protocol":"x402","methodType":"crypto","chain":"base","mode":"charge","costAmount":"0.3","costPer":"request","priority":0,"asset":"0x833589fCD6eDb6E08f4c7C32D4f71b54bdA02913","unit":"request","depositMicros":null,"planRef":null}],"brandName":null,"brandSlug":null,"brandBaseUrl":null,"brandDocsUrl":null,"whatItDoes":"Revises a 2D game map by applying zone-targeted tile placement rules (scatter, cluster, stamp, along-border, anchor) while leaving untouched zones intact.","exampleAgentPrompt":"In my 2D dungeon map, update zone 'forest_01' to scatter trees at 0.6 density using tiles tagged 'tree', and stamp a single castle building named 'castle_keep' in zone 'castle_courtyard' — leave all other zones untouched.","exampleUseCases":[{"title":"Populate forest zone with scattered trees","prompt":"Take my 2D level and scatter trees across the 'forest_north' zone at about 40% density using tiles tagged 'foliage' — don't touch anything outside that zone."},{"title":"Add clustered rock formations to a cave area","prompt":"In my cave level, place 3 clusters of 15 rocks each with a radius of 8 inside zone 'cave_floor', using tile names 'boulder_small' and 'boulder_large'."},{"title":"Stamp buildings along a town zone border","prompt":"For zone 'town_district', place houses along its border with an inset of 2 and spacing of 3 using tiles tagged 'building', and anchor a market square at the centroid named 'town_square'."}],"resultDescription":"Returns the revised 2D level data with the specified zone edits applied — tile placements from scatter, cluster, along, stamp, and anchor rules are merged into the map while all untouched zones remain unchanged. The full output schema is available at https://rengi.dev/v1/level-design/schema.","failureModes":["Invalid zoneId — zone not found in the level","Rule parameters out of range (e.g. density >1, radius >40, count >60)","Too many rules per zone (max 12 per zone)","Unknown tile names or tags not found in the asset library","Malformed edits array or missing required rule fields","Payment not received or insufficient USDC balance (x402)"],"whenToPreferThis":"Choose this endpoint when you need precise, zone-scoped tile placement in an existing 2D map using structured rules (scatter, cluster, stamp, along-border, anchor) and must guarantee that untouched zones remain unchanged. Prefer it over full-level regeneration when iterating on specific areas of a level design without disturbing the rest of the map.","instructions":null,"reviewSummary":null,"reviewSummaryHighlights":null,"reviewSummaryConcerns":null,"reviewSummaryGeneratedAt":null,"activationCount":0,"lastUsedAt":null,"lastSuccessfullyRanAt":null,"lastHealthCheckAt":"2026-10-22T12:41:32.757Z","isFirstParty":false,"canonicalSlug":"rengi-forge-2d-level-revise-6c81ff58"}