Catalog

Models

GET/v1/models

List available models/engines with their config and exact credit cost — the authoritative source for engine names.

Query parameters

ParameterDescription
categoryOPTIONALdefault 3d
string
Which surface to list: 3d (text-to-3D), image-to-3d, image, remesh, texture, animate, parts-board, or uv-unwrap.

Request

request
curl "https://api.picoberry.ai/v1/models?category=3d" \
  -H "Authorization: Bearer pb_live_xxx"
requests.get("https://api.picoberry.ai/v1/models", headers=headers, params={"category": "3d"})
await fetch(`${BASE}/v1/models?category=3d`, { headers });

Response

An array of models — each carries its name (use this as the engine / model value), display label, description, and exact credit cost. Treat this endpoint as the source of truth over any list copied into docs.

response · 200
{ "success": true, "data": [
  {
    "name": "tripo",
    "label": "PB Slim",
    "description": "Fast low-poly mesh for game engines",
    "cost": 60,
    "textureCost": 20,
    "duration": 90000,
    "paidOnly": false,
    "polygonConfig": { "default": 5000, "min": 500, "max": 20000 }
  }
] }
category defaults to 3d A bare GET /v1/models returns only text-to-3D engines, and an unrecognized value falls back to 3d rather than erroring — always pass the category you mean. Image models additionally carry supportedAspectRatios.
The two 3D surfaces are separate catalogs category=3d lists text-to-3D engines only. Engines whose vendor takes image input alone — meshy-7 — have no text-to-3D entry and appear only under category=image-to-3d. Because an unrecognized category silently falls back to 3d, a guessed value returns a plausible list that is missing them; pass image-to-3d explicitly when you mean image-to-3D.

There is also GET /v1/animations?engine=tripo|meshy for the animation preset catalog.