# Rengi Forge: Texture Atlas Packer

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

Packs multiple textures into a single atlas image with edge-filled gutters to prevent mipmap bleeding, returning UV rects for both bottom-left and top-left coordinate origins.

## Facts

- Endpoint: POST https://rengi.dev/v1/texture-tools/atlas?utm_source=zero.xyz
- Price: $0.05/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-texture-atlas-packer-ffa46317
- Structured record (JSON): https://api.zero.xyz/v1/capabilities/cap_QYJGH178ZiKRDQFHHITa8

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-texture-atlas-packer-ffa46317 -d '<json body>'
```

Example prompt: Pack these 12 texture PNG files into a single atlas with 8 pixels of edge-filled gutter so mipmaps don't bleed, max atlas size 4096, power-of-two on — I need UV rects for both Unity (bottom-left) and Unreal (top-left) origins.

## When to prefer this

Choose this endpoint when you need a production-ready texture atlas with mipmap-safe edge-filled gutters and dual UV coordinate outputs (bottom-left and top-left origins). It is particularly valuable in game development pipelines targeting Unity, Unreal, OpenGL, or DirectX where correct UV origin conventions matter. Prefer it over generic sprite packers when mipmap bleed prevention via edge-filled padding is a requirement rather than just blank padding.

## Known failure modes

- Textures exceeding the specified maxSize when packed — atlas overflow error
- Individual image URLs that are unreachable or return non-image content
- Input array exceeding 256 textures — rejected with validation error
- maxSize or padding values outside allowed ranges (64–8192 and 0–64 respectively)
- Malformed base64 image data in the image field
- Total pixel area of textures too large to fit even at maxSize

## How this service works

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

## Output

Returns a packed atlas image along with UV rectangle mappings for each named input texture, provided in both bottom-left coordinate origin (Unity, OpenGL) and top-left coordinate origin (DirectX, Unreal Engine) formats. Gutters are edge-filled (not blank) to prevent mipmap color bleed at texture boundaries.

## Request schema (JSON Schema)

```json
{
 "type": "object",
 "properties": {
  "maxSize": {
   "type": "integer",
   "default": 4096,
   "maximum": 8192,
   "minimum": 64
  },
  "padding": {
   "type": "integer",
   "default": 8,
   "maximum": 64,
   "minimum": 0,
   "description": "Gutter around each texture, filled with its edge pixels so mipmaps do not bleed."
  },
  "textures": {
   "type": "array",
   "items": {
    "type": "object",
    "required": [
     "name"
    ],
    "properties": {
     "name": {
      "type": "string",
      "maxLength": 120,
      "minLength": 1
     },
     "image": {
      "type": "string"
     },
     "imageUrl": {
      "type": "string",
      "format": "uri"
     }
    },
    "additionalProperties": false
   },
   "maxItems": 256,
   "minItems": 1
  },
  "powerOfTwo": {
   "type": "boolean",
   "default": true
  }
 }
}
```

## More

- Live health (JSON, refreshed every minute): https://www.zero.xyz/c/rengi-forge-texture-atlas-packer-ffa46317/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)
