Assets

List assets

GET/v1/assets

List the assets in your library, newest first.

Query parameters

ParameterDescription
pageOPTIONALdefault 1
integer
1-based page number (≥1).
limitOPTIONALdefault 20
integer
Page size, 1100.
offsetOPTIONAL
integer
Assets to skip, as an alternative to page (01000000). Skips exactly this many rows and takes precedence over page when both are sent. Use one or the other. Note: the list is newest-first, so if assets are created while you page, the window shifts (possible repeats/gaps) — page a stable set with category/keyword or after generation settles.
categoryOPTIONAL
string
Filter by kind — all, 3d, image, remesh, texture, animation, palette.
keywordOPTIONAL
string
Substring match on the asset name, up to 255 characters.

Request

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

Response

response · 200
{ "success": true, "data": [
  { "id": "019…", "type": "model_3d", "taskStatus": 2, "files": { "thumbnail": "https://…png" } },
  { "id": "019…", "type": "image", "taskStatus": 2, "files": { "thumbnail": "https://…png" } }
] }

data is an array of assets, each the same shape as GET /v1/assets/{id}. The response envelope also carries a total count alongside data so you can page to the end.

Paging Walk page (or offset, in limit-sized steps) until you've read the total count, and narrow the set up front with category and keyword.