Rengi Forge

Rengi Forge docs

Rengi Forge is a set of gamedev tools for Claude. It takes assets you already have, from your own work or from an image, video or sound generator, and makes them game-ready: sprites cut from their background, animation videos turned into sprite sheets, autotile sets, seamless PBR textures, clean loops and voice lines, 3D files converted to GLB with LODs and collision, store art for Steam, itch.io, Epic, Google Play and the App Store, app icons, bitmap fonts, and dressed levels. Results open in an interactive viewer right in the chat, with download links.

Connect in Claude

  1. Open Settings → Connectors and choose Add custom connector (or find Rengi Forge in the directory).
  2. Paste https://rengi.dev/app/mcp and press Add.
  3. Press Connect and sign in with Google. That is the only setup.

Claude Code: claude mcp add --transport http rengi-forge https://rengi.dev/app/mcp, then run /mcp to sign in.

Only the tools you need

If you work on one kind of asset, add a smaller set instead of all 33 tools. Claude picks tools better from a short list. Same account, same allowance.

2D, 15 tools
sprites, sheets, normal maps, autotiles, textures, bitmap fonts, 2D tile maps, sprites rendered from 3D models
https://rengi.dev/app/mcp/2d
3D, 16 tools
model conversion, optimization, LODs, colliders, renders, PBR materials, 3D level layout
https://rengi.dev/app/mcp/3d
Audio, 4 tools
sound cleanup, loops, variations, voice takes
https://rengi.dev/app/mcp/audio
Release, 3 tools
store pages for Steam, itch.io, Google Play, Epic and the App Store, app icons
https://rengi.dev/app/mcp/release

Free allowance

Every account gets 300 free credits a day, reset at 00:00 UTC. A call costs 5 to 100 credits (listed per tool below), and failed calls cost nothing. Ask Claude "how many Forge credits do I have left?" or open your account.

Try it

Files

Attach a file in the chat or give a link (PNG, JPG, WebP, MP4, WebM, MOV, GIF, WAV, MP3, OGG, FLAC, FBX, OBJ, glTF/GLB, STL, PLY, DAE, 3DS, TTF/OTF, or a ZIP with a model and its textures, up to 200 MB). For an attached file Claude asks Rengi Forge for a one-time upload link and sends the file there from its code sandbox.

Attached files in claude.ai: one setting

Claude's code sandbox only reaches domains you allow, and connectors are not added for you. Allow Rengi Forge once and attached files go through by themselves:

  1. In claude.ai open Settings → Capabilities.
  2. Under Code execution and file creation, turn on network egress.
  3. In Additional allowed domains, add rengi.dev.

On Team and Enterprise plans an admin sets this. Without it, an upload panel appears in the chat instead: drop the file there and press Enter on the message it fills in. Claude Code and ChatGPT need nothing: files go through as is. Links to files that are already online always work.

Files you send and results are kept for 7 days behind unguessable links, then deleted.

All tools

Every tool only creates new files; none changes or deletes anything of yours.

Level design

Read a prop catalog
level_design_catalog
Ingest your prop catalog: footprint, height, pivot and category computed from each GLB. Returns a catalogId for place.50 credits
Dress a 3D level
level_design_place
Dress a level: placements for every zone, previews and a 3D viewer link.100 credits
Revise a 3D level
level_design_revise
Change a placed level by instruction or structured zone edits: denser or sparser, other assets, remove a kind of prop; untouched zones keep their exact transforms. It cannot cut an empty area inside a zone or move one object: for that, add a keep-clear zone to the layout and place again.50 credits
Fill a 2D tilemap
level_design_place_2d
Fill a 2D tilemap: terrain with proper corner transitions, decorations, obstacles and multi-tile stamps; Tiled .tmj, Unity Tilemap JSON and a preview.100 credits
Revise a 2D tilemap
level_design_revise_2d
Change a 2D map by instruction or zone edits; untouched zones keep their tiles.30 credits

Asset previews

Render model views
asset_render_views
Render a GLB model to four PNG views (three-quarter, front, side, top) for thumbnails and previews, plus mesh stats and size.10 credits
Render a turntable GIF
asset_render_turntable
Render a GLB model as a looping turntable GIF, one full revolution, plus mesh stats.25 credits
Render iso sprite sheet
asset_render_sprites
Transparent isometric sprite sheet, 4 or 8 directions in one row (south first, clockwise), with frame JSON.40 credits

Sprites

Slice a sprite sheet
sprite_tools_slice
Cut a sprite sheet into frames by grid or by transparent gaps; frame PNGs plus a ZIP.5 credits
Pack a sprite atlas
sprite_tools_pack
Pack frames into one atlas (MaxRects) with padding and edge extrusion; TexturePacker JSON and Unity JSON.5 credits
Clean up pixel art
sprite_tools_pixelate
Clean pixel art: find the true pixel grid, downscale to it, snap to a palette, hard alpha.10 credits
Remove a background
sprite_tools_remove_bg
Cut a sprite, prop or character out of its background: exact keying for one-color backgrounds (text and holes too), AI segmentation for busy ones; clean edges with no halo, trimmed, with a pivot. AI mode handles one main subject, not text on photos.5 credits
Turn a video into a sprite sheet
sprite_tools_video_to_sheet
Turn an animation video or GIF (from Kling, Veo, Sora or a capture) into a sprite sheet: frames at your fps, background removed, every frame aligned to one box and pivot so it does not jitter, the best loop point, TexturePacker JSON, Godot SpriteFrames and a GIF preview.15 credits
Make a sprite normal map
sprite_tools_normal_map
Normal map for a sprite or sprite sheet, for 2D lights in Unity URP 2D and Godot: a rounded bevel from the silhouette plus surface detail, alpha kept, OpenGL or DirectX; a height map and a preview lit by a moving light.5 credits
Make an autotile set
sprite_tools_autotile
Two terrain textures (grass over dirt, sand over water) to a full 47-tile autotile set with natural, seamless edges, outer and inner corners, plus ready rules: Tiled wang set, Godot 4 TileSet terrains, Unity Rule Tile (editor script), JSON, and a painted preview map.15 credits

3D models

Optimize a GLB
glb_optimizer_optimize
Shrink a GLB (up to 10 MB) for web or mobile: dedup, join draw calls, gentle simplify, textures to WebP at a max size, meshopt or Draco compression; before/after renders, size report and loader notes for three.js and Unity.20 credits
Optimize a large GLB
glb_optimizer_optimize_large
Shrink a large GLB (up to 50 MB) for web or mobile, same pipeline as optimize: dedup, join, simplify, WebP textures, meshopt or Draco.50 credits
Inspect a GLB
glb_optimizer_inspect
Inspect a GLB without changing it: triangles, draw calls, materials, texture memory, animations, glTF validator errors, and concrete suggestions to make it lighter.5 credits
Convert a model to GLB
glb_optimizer_convert
Convert FBX, OBJ (zip with .mtl and textures), glTF (zip), STL, PLY, DAE or 3DS to one GLB: Y-up, in meters, materials and FBX animations kept. Returns the GLB, a report, a validator pass and a preview render.15 credits
Make LODs
glb_optimizer_lod
Generate a LOD chain from a GLB (default 100/50/25/10% of triangles) with locked borders so UV seams and silhouettes hold; one GLB per level, a side-by-side render and Unity LODGroup transition heights.20 credits
Make 3D collision
glb_optimizer_colliders
Collision for a model: a set of convex hulls that hug the shape (V-HACD), ready for Godot (-convcolonly nodes), Unreal (UCX_ names) and Unity (convex MeshColliders via an editor script), plus hulls.json for any engine and a see-through overlay to check.15 credits

Textures

Make a texture seamless
texture_tools_seamless
Make a texture tile without visible seams: removes baked lighting, hides the seam along the path where the image already matches. Returns the tile and a 2x2 preview.10 credits
Make PBR maps
texture_tools_pbr
PBR maps from one albedo image: normal (OpenGL for Unity/three.js and DirectX for Unreal), 16-bit height, roughness and ambient occlusion, plus a lit preview.15 credits
Pack texture channels
texture_tools_pack
Pack grayscale maps into one texture for an engine preset: Unreal ORM, Unity URP metallic/smoothness, Unity HDRP mask map. Missing maps get sensible constants.5 credits
Build a texture atlas
texture_tools_atlas
Pack textures into one atlas with edge-filled gutters so mipmaps do not bleed; UV rects for bottom-left (Unity, OpenGL) and top-left (DirectX, Unreal) origins.5 credits

Audio

Clean up a sound
audio_tools_clean
Trim silence, normalize loudness to a LUFS target with a -1 dBTP ceiling, add anti-click fades and convert (ogg, wav, mp3; mono for SFX). Returns the file, a waveform and measured stats.5 credits
Make a seamless loop
audio_tools_loop
Turn music or ambience into a seamless loop: cuts at zero crossings and crossfades the end into the start with an equal-power curve. Returns the loop, a 3x preview and loop points in samples.10 credits
Make SFX variations
audio_tools_variations
Make 2-12 variations of one sound effect with small pitch and volume changes, so repeated footsteps or hits do not sound copy-pasted. Returns each file and a ZIP.10 credits
Clean up voice lines
audio_tools_voice
Make a voice recording or TTS take game-ready: rumble high-passed, noise reduced against the measured floor, sibilance tamed, dialogue loudness (-18 LUFS) with a -1 dBTP ceiling, and a long take split into one file per phrase with a CSV cue sheet.10 credits

Store art and icons

Make Steam store art
store_assets_steam
Every Steam store and library capsule from one key art at the exact required sizes: logo composited per Steam rules, Library Hero without logo, separate transparent Library Logo, page background, a contact sheet and a ZIP.20 credits
Make app icon sets
store_assets_icons
App icons from one square art: iOS 1024 with Contents.json, Android adaptive icon layers at every density plus legacy and Play Store 512, and web favicons with a manifest snippet. Preview with the masks launchers apply.10 credits
Make store art for itch.io, Google Play, Epic and the App Store
store_assets_stores
One key art and logo to the store images beyond Steam: itch.io cover 630x500, Google Play feature graphic 1024x500, Epic landscape 2560x1440 and portrait 1200x1600; gameplay screenshots fitted to Google Play 1920x1080 and App Store iPhone 6.9", 6.3" and iPad 13" sizes without stretching, no alpha where stores reject it.20 credits

Fonts

Make a bitmap font
font_tools_bitmap
Bitmap font from a TTF/OTF: atlas PNG, BMFont .fnt with kerning, JSON and a preview of a sample line. Pixel mode snaps glyphs to whole pixels with no antialiasing.10 credits

For agents with a wallet

The same tools are also open without an account, paid per call in USDC through x402: MCP at https://rengi.dev/mcp, HTTP described in llms.txt and openapi.json.

TypeScript (npm i @x402/fetch @x402/evm viem), with PRIVATE_KEY a wallet holding a little USDC on Base:

import { wrapFetchWithPaymentFromConfig } from "@x402/fetch";
import { ExactEvmScheme } from "@x402/evm/exact/client";
import { privateKeyToAccount } from "viem/accounts";

const account = privateKeyToAccount(process.env.PRIVATE_KEY as `0x${string}`);
const pay = wrapFetchWithPaymentFromConfig(fetch, { schemes: [{ network: "eip155:8453", client: new ExactEvmScheme(account) }] });
const res = await pay("https://rengi.dev/v1/sprite-tools/remove-bg", {
  method: "POST", headers: { "content-type": "application/json" },
  body: JSON.stringify({ imageUrl: "https://rengi.dev/samples/prop-on-white.png" }),
});
console.log(await res.json()); // { image: <link to the cut-out PNG>, mode, ... }

Python (pip install "x402[httpx,evm]"):

import asyncio, os
from eth_account import Account
from x402 import SchemeRegistration, x402ClientConfig
from x402.http.clients import wrapHttpxWithPaymentFromConfig
from x402.mechanisms.evm.exact import ExactEvmScheme

signer = Account.from_key(os.environ["PRIVATE_KEY"])
config = x402ClientConfig(schemes=[SchemeRegistration(network="eip155:8453", client=ExactEvmScheme(signer=signer))])

async def main():
    async with wrapHttpxWithPaymentFromConfig(config, timeout=180) as http:
        r = await http.post("https://rengi.dev/v1/sprite-tools/remove-bg", json={"imageUrl": "https://rengi.dev/samples/prop-on-white.png"})
        print(r.json())

asyncio.run(main())

You pay only when the call succeeds. Any paid tool works the same way; see llms.txt for the inputs.

Help

Email support@rengi.dev. Include the tool name and roughly when you called it.