图像 → 3D
POST/v1/models/from-image
将任意图像(包括你自己生成的图像)转换为带纹理的网格。
传入 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*、meshy6 和 hunyuan-3.x 支持,参见下文。 |
| engine可选 string | 使用哪个 3D 引擎,例如 tripo、hunyuan-3.1。省略则使用默认值。列表:GET /v1/models?category=3d。 |
| polycount可选 integer | 目标面数,100–2,000,000,会限制到模型的取值范围。 |
| texture可选默认 true boolean | 生成 PBR 纹理。设为 false 可获得更快的无纹理网格。 |
图像来源仅限一个 请发送
imageUrl、imageUrls、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 });图像输入 单帧
png、jpeg、webp 或 gif,最大 20 MB。URL 由服务端获取,必须可公开访问。响应
响应 · 200
{ "success": true, "data": { "id": "019…", "taskStatus": 0, "type": "model_3d" } }调用会立即返回。轮询 GET /v1/assets/{id},直到 taskStatus 为 2;成功时 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] }) });支持的引擎
tripo、tripo-v3.0、tripo-v3.1、tripo-v3.1-ultra、tripo-game-ready、meshy6、hunyuan-3.0、hunyuan-3.1、hunyuan-3.1-lite。其他引擎返回 400。