Overview

The browser texture generators (PBR map generation, normal maps, noise, gradients, etc.) run client-side. The API covers the server-side parts: seamless processing and format export.

OperationEndpointAuth
Make seamlessPOST /api/texture/seamlessRequired
Export seamless resultPOST /api/texture/seamless/exportRequired
Convert image to PNGPOST /api/texture/to-pngOptional
Channel-pack exportPOST /api/texture/channel-pack/exportRequired
Generic texture exportPOST /api/texture/exportRequired
Resize + exportPOST /api/texture/resize/exportRequired

Make a texture seamless

POST /api/texture/seamless Auth required

Processes an image so it tiles seamlessly, returning a PNG. Seam quality is reported via response headers.

FieldTypeDescription
filefile *Image to make seamless.
widthintOutput width (default 1024).
heightintOutput height (default 1024).

Response headers include X-Seam-Score and X-Tileable. Counts as one premium operation.

Convert an image to PNG

POST /api/texture/to-png Optional auth

Converts tiff, tif, bmp, avif, or gif images to PNG for preview.

Export to production formats

The export endpoints re-encode a PNG (often produced by a client-side generator) into tiff, bmp, avif, or exr. All require authentication and count as a premium operation.

FieldTypeDescription
filefile *Image to export.
formatstringOne of tiff, bmp, avif, exr (default tiff).
bash
curl -X POST https://api.geometry-labs.com/api/texture/export \
  -H "Authorization: Bearer $GL_TOKEN" \
  -F "file=@normal_map.png" \
  -F "format=exr"

Resolution limits

Maximum texture output resolution is enforced per plan. Exceeding it returns 413.

PlanMax texture output
Free2K (2048px)
Basic4K (4096px)
Pro8K (8192px)
Team8K (8192px)