API & MCP
Everything a person can do on Normal Map & AO Baker (high → low poly), a program or AI agent can do with the same inputs and get the identical result.
HTTP API
POST https://renderloomnormalmapbaker.usefulweb.site/api/v1/calculate– run Normal Map & AO Baker (high → low poly)GET https://renderloomnormalmapbaker.usefulweb.site/api/v1/tool– inputs, output schema, examples- OpenAPI 3.1: /openapi.json · /openapi.yaml
- Errors:
application/problem+json;422includes per-fielderrors.
Normal Map & AO Baker (high → low poly)
Upload a detailed high-poly mesh and a low-poly mesh with UVs (or let the tool unwrap it). Every texel casts a ray from a cage around the low-poly surface to the high-poly mesh: the hit normal becomes a tangent-space normal map with MikkTSpace-style tangents (OpenGL or DirectX green), and seeded hemisphere rays measure ambient occlusion. Download both maps as PNG together with a report of coverage, misses and mean normal. Runs on the same engine as Renderloom Sculpt Lab.
| Field | Type | Default | Description |
|---|---|---|---|
high | file | — | High-poly mesh (STL, OBJ or PLY). The detailed mesh, for example a sculpt exported from Renderloom Sculpt Lab. |
low | file | — | Low-poly mesh (OBJ with UVs, or STL/PLY to unwrap). An OBJ with vt coordinates. Without UVs the mesh is unwrapped automatically if allowed below. |
autoUnwrap | boolean | true | Unwrap the low-poly mesh when it has no UVs |
size | select (128, 256, 512, 1024) | "256" | Map size (px) |
maps | select (both, normal, ao) | "both" | Maps |
space | select (tangent, object) | "tangent" | Normal space |
convention | select (opengl, directx) | "opengl" | Green channel |
cage | number | 3 | Cage distance (% of the model size). How far above and below the low-poly surface rays search for the high-poly mesh. |
aoSamples | integer | 16 | Occlusion rays per texel |
aoDistance | number | 25 | Occlusion distance (% of the model size) |
seed | integer | 1 | Random seed |
padding | integer | 4 | Edge padding (px) |
Every result contains
inputs (normalised, defaults applied), summary, result (validated against the published schema), units, assumptions, sources, warnings, computedAt and links.
MCP (Model Context Protocol)
- Streamable HTTP endpoint:
https://renderloomnormalmapbaker.usefulweb.site/mcp– protocol revisions 2026-07-28 (stateless) and 2025-11-25 / 2025-06-18 / 2025-03-26 (initialize handshake). - Tools:
renderloom_normal_map_baker - Local stdio connector:
node src/mcp-stdio.ts --tool=renderloom-normal-map-baker
{
"mcpServers": {
"renderloom-normal-map-baker": { "type": "http", "url": "https://renderloomnormalmapbaker.usefulweb.site/mcp" }
}
}