快速开始
从 API 密钥到下载好的 3D 模型,只需四步。下面每段代码都可在 curl、Python 或 JavaScript 中复制粘贴即用,在顶部栏选择所需语言即可。
Base URLhttps://api.picoberry.ai
认证Bearer / x-api-key
格式JSON · { success, data }
1. 获取 API 密钥
本 API 面向付费用户开放——需要有效订阅,或至少完成过一次积分购买。打开账户 → API 密钥,创建密钥并复制——密钥仅显示一次。完整说明见认证页面。
设置
export PB_KEY="pb_live_xxxxxxxxxxxx"
export BASE="https://api.picoberry.ai"import requests, time
BASE = "https://api.picoberry.ai"
headers = {"Authorization": "Bearer pb_live_xxxxxxxxxxxx"}const BASE = "https://api.picoberry.ai";
const headers = { Authorization: "Bearer pb_live_xxxxxxxxxxxx" };密钥请保存在服务器端
pb_live_ 密钥可能花光你的全部积分余额——切勿将其放入客户端代码或提交到代码仓库。2. 发起生成
发起一个文生 3D 任务。该调用会立即返回资产 id 和 taskStatus: 0——生成在后台运行。图像也可通过 POST /v1/images 以相同方式进行。
请求
curl -X POST $BASE/v1/models/from-text \
-H "Authorization: Bearer $PB_KEY" -H "Content-Type: application/json" \
-d '{"prompt":"a stylized treasure chest, low-poly","engine":"tripo"}'r = requests.post(f"{BASE}/v1/models/from-text", headers=headers,
json={"prompt": "a stylized treasure chest, low-poly", "engine": "tripo"})
asset_id = r.json()["data"]["id"]const r = await fetch(`${BASE}/v1/models/from-text`, { method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({ prompt: "a stylized treasure chest, low-poly", engine: "tripo" }) });
const assetId = (await r.json()).data.id;响应 · 200
{ "success": true, "data": { "id": "019f3a39-…", "taskStatus": 0, "type": "model_3d" } }3. 轮询直到完成
生成是异步的。请轮询 GET /v1/assets/{id},直到 taskStatus 变为 2。3D 任务通常需要约 60–120 秒,图像只需几秒。成功后,files.model 中会包含一个签名的 GLB URL。
0 排队中1 处理中2 成功3 失败
轮询
# set ASSET_ID from the response above, then repeat until .data.taskStatus is 2
curl $BASE/v1/assets/$ASSET_ID -H "Authorization: Bearer $PB_KEY"while True:
a = requests.get(f"{BASE}/v1/assets/{asset_id}", headers=headers).json()["data"]
if a["taskStatus"] in (2, 3): break
time.sleep(4)
model_url = a["files"]["model"]let a;
do {
a = (await (await fetch(`${BASE}/v1/assets/${assetId}`, { headers })).json()).data;
if (a.taskStatus < 2) await new Promise(res => setTimeout(res, 4000));
} while (a.taskStatus < 2);
const modelUrl = a.files.model;4. 下载模型
files.model 是可直接使用的 GLB。若需要特定格式——FBX/OBJ,或适用于 Unity 的纹理拆分——请导出以获取新的签名下载 URL。
请求
curl -X POST $BASE/v1/assets/$ASSET_ID/download \
-H "Authorization: Bearer $PB_KEY" -H "Content-Type: application/json" \
-d '{"format":"glb"}'d = requests.post(f"{BASE}/v1/assets/{asset_id}/download", headers=headers,
json={"format": "glb"}).json()["data"]
download_url = d["url"]const d = (await (await fetch(`${BASE}/v1/assets/${assetId}/download`, { method: "POST",
headers: { ...headers, "Content-Type": "application/json" },
body: JSON.stringify({ format: "glb" }) })).json()).data;
const downloadUrl = d.url;响应 · 200
{ "success": true, "data": { "url": "https://…signed", "format": "glb", "filename": "model.glb" } }后续步骤
这就是完整流程——密钥 → 生成 → 轮询 → 下载。接下来: