# Rengi Forge: Bitmap Font Generator

> Rengi Forge: Bitmap Font Generator is a paid API for AI agents from rengi.dev, paid per call via x402, $0.1/call, status unknown (last checked 2026-10-22).

Converts a TTF/OTF font file into a bitmap font atlas (PNG), BMFont .fnt file with kerning, JSON metrics, and a sample line preview

## Facts

- Endpoint: POST https://rengi.dev/v1/font-tools/bitmap?utm_source=zero.xyz
- Price: $0.1/call
- Payment: x402
- Status: unknown
- Last checked: 2026-10-22
- Activations on Zero: 0
- Tags: x402
- Canonical page: https://www.zero.xyz/c/rengi-forge-bitmap-font-generator-38939f2c
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_c3dlQDHod6dt0L8sHe-ML

Status and success rate cover calls made through Zero and Zero's own probes. Third-party monitors may report differently.

## How to call it through Zero

Zero handles the 402 payment challenge and records the run. With the Zero CLI installed (`npm i -g @zeroxyz/cli`):

```sh
zero fetch --capability rengi-forge-bitmap-font-generator-38939f2c -d '<json body>'
```

Example prompt: Take my TTF font (I'll give it as base64) and generate a bitmap font atlas in pixel mode at 16px for the Cyrillic character set, with white glyphs and a 1px black outline — I need the PNG atlas, the BMFont .fnt file with kerning, and a JSON of the metrics.

## When to prefer this

Choose this endpoint when you need a ready-to-import bitmap font for a game engine (Unity, Godot, LibGDX) in BMFont format, especially when targeting pixel art aesthetics with crisp no-antialiasing rendering. It is ideal when you need kerning data, multi-charset support including Cyrillic, configurable outlines, and all standard BMFont artifacts in one call. Prefer over manual font tooling or generic image generation when you need the full BMFont pipeline including .fnt, atlas PNG, and JSON metrics together.

## Known failure modes

- Invalid or corrupt base64 font data — returns error indicating unparseable font
- Font URL unreachable or non-font file — returns fetch or parse error
- Requested size out of range (below 6 or above 256) — validation error
- charset=custom with no chars field provided — missing required field error
- Color value not matching 6-digit hex pattern — validation error
- Font missing glyphs for requested character set — partial atlas or error

## How this service works

Font tools: 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. Full schema: https://rengi.dev/v1/font-tools/schema

## Output

Returns an atlas PNG containing all rasterized glyphs, a BMFont-format .fnt file with per-glyph metrics and kerning pairs, a JSON file with the font metrics, and a rendered preview image of the sample text line. In pixel mode, glyphs are snapped to whole pixels with no antialiasing for crisp retro rendering.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "font": {
   "type": "string",
   "description": "TTF or OTF file as base64."
  },
  "mode": {
   "enum": [
    "pixel",
    "smooth"
   ],
   "type": "string",
   "default": "pixel",
   "description": "pixel: crisp, no antialiasing, for pixel art games; smooth: antialiased."
  },
  "size": {
   "type": "integer",
   "default": 16,
   "maximum": 256,
   "minimum": 6,
   "description": "Pixel size (em)."
  },
  "chars": {
   "type": "string",
   "maxLength": 4000,
   "description": "charset=custom: exactly these characters."
  },
  "color": {
   "type": "string",
   "default": "#ffffff",
   "pattern": "^#?[0-9a-fA-F]{6}$",
   "description": "Glyph colour baked into the atlas (white lets the engine tint it)."
  },
  "sample": {
   "type": "string",
   "default": "The quick brown fox 0123 Привіт, як справи?",
   "maxLength": 200
  },
  "charset": {
   "enum": [
    "ascii",
    "latin1",
    "cyrillic",
    "custom"
   ],
   "type": "string",
   "default": "cyrillic"
  },
  "fontUrl": {
   "type": "string",
   "format": "uri"
  },
  "outline": {
   "type": "integer",
   "default": 0,
   "maximum": 8,
   "minimum": 0
  },
  "padding": {
   "type": "integer",
   "default": 1,
   "maximum": 8,
   "minimum": 0
  },
  "outlineColor": {
   "type": "string",
   "default": "#000000",
   "pattern": "^#?[0-9a-fA-F]{6}$"
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rengi-forge-bitmap-font-generator-38939f2c/health.json
- [Zero catalog index](https://www.zero.xyz/llms.txt)
- [Other services from rengi.dev](https://www.zero.xyz/host/rengi.dev/llms.txt)
