생성

파츠 분해

POST/v1/images/parts-board

참조 이미지 한 장을 부품이 펼쳐진 분해도(parts board) — 대상을 부품 단위로 한 캔버스에 나눠 배치한 이미지 — 로 만듭니다.

비동기 id 반환 — 폴링 또는 웹훅일반적 ~180–240s비용 80 credits

이미 가진 자산의 assetId, imageUrl, 또는 multipart image 업로드 중 하나로 이미지를 주세요. 결과는 대상이 부품으로 나뉜 새 이미지 자산입니다. 이 분해도를 이미지 → 3D에 넣으면 부품이 공간적으로 분리된 메시를 얻습니다.

엔진·해상도·프롬프트 없음 파츠 분해는 전부 서버가 고정합니다. 분류기가 대상 종류(메카·차량·캐릭터·생물 등)를 판별해 그에 맞는 분해 방식을 적용하므로, 엔진을 고르거나 프롬프트를 쓰지 않습니다. 고정가 하나·검증된 파이프라인 하나로 두어 모더레이션·마진 우회를 막는 의도된 설계입니다.

파라미터

파라미터설명
assetId조건부
string
분해할, 내가 소유한 기존 이미지 자산 — 워크스페이스의 "파츠로 분해"와 같은 경로입니다. imageUrl이나 multipart image 파일을 보내지 않는 한 필수입니다.
imageUrl조건부
string
소스 이미지 URL(http/https). 로컬 파일은 multipart image 파트로 보냅니다. assetId나 multipart image를 보내지 않는 한 필수입니다.
license선택기본 비공개
string
생성된 분해도의 라이선스. 기본값은 비공개(all-rights-reserved)입니다.
이미지 소스는 정확히 하나 assetId, imageUrl, multipart image 파트 중 하나를 보내세요. 여러 개가 설정되면 우선순위는 multipart image > assetId > imageUrl입니다.

요청

기존 자산 분해
curl -X POST https://api.picoberry.ai/v1/images/parts-board \
  -H "Authorization: Bearer pb_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"assetId":"019abc…"}'
r = requests.post("https://api.picoberry.ai/v1/images/parts-board", headers=headers,
    json={"assetId": "019abc…"})
board_id = r.json()["data"]["id"]
const res = await fetch(`${BASE}/v1/images/parts-board`, {
  method: "POST", headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ assetId: "019abc…" }),
});
const { id } = (await res.json()).data;
이미지 입력 단일 프레임 png, jpeg, webp, 또는 gif, 최대 20 MB. URL은 서버 측에서 가져오므로 공개적으로 접근 가능해야 합니다. 단색 배경에 주제 하나만 또렷할 때 가장 잘 분해됩니다.

응답

응답 · 200
{ "success": true, "data": { "id": "019…", "taskStatus": 0, "type": "image" } }

호출은 즉시 반환됩니다. GET /v1/assets/{id}taskStatus2가 될 때까지 폴링하면 분해도 이미지가 files.image에, 판별된 대상 종류가 details.partsBoard.category에 담깁니다. 이어서 그 이미지를 POST /v1/models/from-image에 넣으면 부품이 분리된 메시가 됩니다.

업로드 또는 URL

호스팅된 자산이 없다면 로컬 파일을 multipart image 파트로 업로드하거나, 공개 imageUrl을 JSON으로 전달하세요.

로컬 업로드
curl -X POST https://api.picoberry.ai/v1/images/parts-board \
  -H "Authorization: Bearer pb_live_xxx" \
  -F "image=@./hero.png"
requests.post("https://api.picoberry.ai/v1/images/parts-board", headers=headers,
    files={"image": open("hero.png", "rb")})
const fd = new FormData();
fd.append("image", fileBlob, "hero.png");
await fetch(`${BASE}/v1/images/parts-board`, { method: "POST", headers, body: fd });

또는 imageUrl로 호스팅된 이미지를 가리킵니다:

curl -X POST https://api.picoberry.ai/v1/images/parts-board \
  -H "Authorization: Bearer pb_live_xxx" \
  -H "Content-Type: application/json" \
  -d '{"imageUrl":"https://…/hero.png"}'

좋은 입력