이미지 → 3D
POST/v1/models/from-image
어떤 이미지든 — 여러분이 직접 생성한 것도 포함 — 텍스처가 입혀진, 게임에 바로 쓸 수 있는 메시로 변환합니다.
imageUrl을 전달하거나(JSON) 파일을 업로드하세요(multipart image). 둘 중 정확히 하나가 필요합니다. 더 정밀한 형상을 원하면 같은 대상의 2~4개 뷰를 imageUrls(또는 multipart images 파트)로 보내세요 — 멀티뷰 참고.
파라미터
| 파라미터 | 설명 |
|---|---|
| imageUrl string | 소스 이미지 URL. multipart image 파일을 보내지 않는 한 필수입니다. |
| imageUrls string[] | 멀티뷰 — 같은 대상의 2~4개 뷰, 순서 [front, left, back, right]. 로컬 파일은 multipart images 파트로. tripo*·meshy6·hunyuan-3.x 엔진만 멀티뷰를 지원합니다. |
| engine string | 예: tripo, hunyuan-3.1. |
| polycount · texture int · bool | 텍스트 → 3D와 동일합니다. |
요청
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은 서버 측에서 가져오므로 공개적으로 접근 가능해야 합니다.멀티뷰
같은 대상의 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을 반환합니다.