PicoBerry API + MCP정식 출시

API Reference

Generate 3D

Submit a text-to-3D or image-to-3D job and retrieve the asset.

Text-to-3D and image-to-3D are separate endpoints. Both return an asset with taskStatus: 0; poll GET /v1/assets/{id} until taskStatus is 2.

Text → 3D

POST /v1/models/from-text
{
  "prompt": "a stylized treasure chest, low-poly",
  "engine": "tripo",
  "polycount": 10000,
  "texture": true
}
FieldTypeRequiredDescription
promptstringYesThe generation prompt. Up to 1,024 characters.
enginestringNoEngine / model, e.g. tripo, tripo-v3.1, hunyuan-3.1. See GET /v1/models?category=3d.
polycountintegerNoTarget polygon count, 100–2,000,000. Clamped to the model's supported range.
texturebooleanNoGenerate PBR textures. Defaults to true.
licensestringNoDefaults to all-rights-reserved.

Image → 3D

POST /v1/models/from-image

Pass an imageUrl (JSON) or upload the file directly (multipart/form-data with an image field, ≤ 20 MB — png, jpeg, webp, or gif). One of the two is required. A PicoBerry-generated image URL works as input.

curl -X POST https://api.picoberry.ai/v1/models/from-image \
  -H "Authorization: Bearer pb_live_xxx" \
  -F "engine=tripo" \
  -F "image=@./ref.png"

engine, polycount, texture, and license behave as for Text → 3D.

Response

{ "success": true, "data": { "id": "019...", "taskStatus": 0, "type": "model_3d", "files": {} } }

On success (taskStatus: 2), files.model holds a signed GLB URL and files.thumbnail / files.textures the preview and maps:

{
  "success": true,
  "data": {
    "id": "019...",
    "taskStatus": 2,
    "type": "model_3d",
    "files": { "model": "https://...signed.glb", "thumbnail": "https://...signed.png" }
  }
}

Export to another format

To download as FBX or OBJ (bundled as a .zip with textures), call POST /v1/assets/{id}/download with { "format": "glb" | "fbx" | "obj" }. See the Download page.

Follow-up operations

The finished asset id can be fed into post-processing:

  • POST /v1/assets/{id}/remesh — retopologize to a target polygon count.
  • POST /v1/assets/{id}/texture — re-generate PBR textures.
  • POST /v1/assets/{id}/animate — auto-rig and optionally retarget an animation.