生成

图像 → 3D

POST/v1/models/from-image

将任意图像(包括你自己生成的图像)转换为带纹理的网格。

异步 返回一个 id,可轮询或使用 webhook通常 约 60–120 秒费用 ≈60–80 积分

传入 imageUrl(JSON),或上传文件(multipart image)。二者必居其一。若需更高精度的几何,可将同一对象的 2–4 个视图作为 imageUrls(或 multipart images 部分)发送,详见多视图

参数

参数说明
imageUrl条件必填
string
源图像 URL(http/https)。除非发送 multipart image 文件,否则必填。PicoBerry 生成的图像的 files.image URL 也可用于此处。
imageUrls条件必填
string[]
多视图:同一对象的 2–4 个视图,按 [front, left, back, right] 排序。本地文件放入 multipart images 部分。多视图仅 tripo*meshy6hunyuan-3.x 支持,参见下文
engine可选
string
使用哪个 3D 引擎,例如 tripohunyuan-3.1。省略则使用默认值。列表:GET /v1/models?category=3d
polycount可选
integer
目标面数,1002,000,000,会限制到模型的取值范围。
texture可选默认 true
boolean
生成 PBR 纹理。设为 false 可获得更快的无纹理网格。
图像来源仅限一个 请发送 imageUrlimageUrls、multipart image 或 multipart images 部分中的一个。multipart 文件优先于 URL 字段。

请求

multipart 上传
curl -X POST https://api.picoberry.ai/v1/models/from-image \
  -H "Authorization: Bearer pb_live_xxx" \
  -F "engine=tripo" -F "image=@./ref.png"
requests.post("https://api.picoberry.ai/v1/models/from-image", headers=headers,
    data={"engine": "tripo"}, files={"image": open("ref.png", "rb")})
const fd = new FormData();
fd.append("engine", "tripo"); fd.append("image", fileBlob, "ref.png");
await fetch(`${BASE}/v1/models/from-image`, { method: "POST", headers, body: fd });
图像输入 单帧 pngjpegwebpgif,最大 20 MB。URL 由服务端获取,必须可公开访问。

响应

响应 · 200
{ "success": true, "data": { "id": "019…", "taskStatus": 0, "type": "model_3d" } }

调用会立即返回。轮询 GET /v1/assets/{id},直到 taskStatus2;成功时 files.model 为签名的 GLB。随后可用重构网格纹理自动绑定对同一 id 进行精修。

多视图

发送同一对象的 2–4 个视图,即可生成单个更高精度的网格。按 [front, left, back, right] 排序(正面在前):托管 URL 使用 imageUrls,本地文件使用 multipart images 部分。积分与单张图像生成相同(无按视图倍增)。

2–4 个视图
curl -X POST https://api.picoberry.ai/v1/models/from-image \
  -H "Content-Type: application/json" \
  -d '{"engine":"meshy6","imageUrls":["https://…/front.png","https://…/left.png"]}'
requests.post("https://api.picoberry.ai/v1/models/from-image", headers=headers,
    json={"engine": "meshy6", "imageUrls": ["https://…/front.png", "https://…/left.png"]})
await fetch(`${BASE}/v1/models/from-image`, { method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ engine: "meshy6", imageUrls: [front, left] }) });
支持的引擎 tripotripo-v3.0tripo-v3.1tripo-v3.1-ultratripo-game-readymeshy6hunyuan-3.0hunyuan-3.1hunyuan-3.1-lite。其他引擎返回 400