Models
GET/v1/models
List available models/engines with their config and exact credit cost — the authoritative source for engine names.
Query parameters
| Parameter | Description |
|---|---|
| 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.