후처리

오토리깅 & 애니메이트

POST/v1/assets/{id}/animate

휴머노이드나 동물을 자동으로 리깅하고, 선택적으로 프리셋 클립을 리타깃합니다 — 수동 웨이트 페인팅이 필요 없습니다.

비동기 id를 반환합니다 — 폴링하거나 웹훅을 사용하세요일반적 ~2–4 min비용 엔진마다 다름

경로의 {id}는 원본 모델입니다. 결과 — 리깅된, 그리고 -rig-animate의 경우 애니메이션까지 적용된 메시 — 는 자산에 기록됩니다.

파라미터

파라미터설명
engine선택
string
사용할 리그 엔진 — 예: tripo-rig-animate, tripo-rig, meshy-rig-animate, meshy-rig. -rig-animate 엔진은 리깅과 함께 프리셋 클립을 적용하고, -rig 엔진은 리깅만 합니다. 생략하면 기본값을 사용합니다. 목록: GET /v1/models?category=animate.
preset선택
string
-rig-animate 엔진용 애니메이션 프리셋 id(예: walk), 최대 64자. 카탈로그는 GET /v1/animations로 조회하세요. 생략하면 리깅만 합니다.
license선택
string
결과물의 사용 권한. 기본값은 비공개(모든 권리 보유)입니다.
callbackUrl선택
string
폴링 대신 완성된 자산을 여러분의 서버로 푸시합니다 — 웹훅을 참고하세요.
원본은 리깅 가능한 형태여야 합니다 오토리깅에는 명확한 휴머노이드나 동물 형태가 필요합니다. 소품, 배경, 추상적인 형태는 400error.code 13008로 실패합니다.

요청

요청
curl -X POST https://api.picoberry.ai/v1/assets/019…/animate \
  -H "Authorization: Bearer pb_live_xxx" -H "Content-Type: application/json" \
  -d '{"engine":"tripo-rig-animate","preset":"walk"}'
requests.post(f"{BASE}/v1/assets/{id}/animate", headers=headers,
    json={"engine": "tripo-rig-animate", "preset": "walk"})
await fetch(`${BASE}/v1/assets/${id}/animate`, { method: "POST",
  headers: { ...headers, "Content-Type": "application/json" },
  body: JSON.stringify({ engine: "tripo-rig-animate", preset: "walk" }) });

애니메이션 프리셋

GET/v1/animations?engine=tripo|meshy

엔진에서 사용할 수 있는 프리셋 클립을 조회합니다. 프리셋은 엔진 전용입니다 — Tripo 프리셋은 Meshy 엔진에서 실행되지 않으므로, 항상 애니메이트에 사용하는 것과 같은 엔진에서 선택하세요.

요청
curl "https://api.picoberry.ai/v1/animations?engine=tripo" \
  -H "Authorization: Bearer pb_live_xxx"
requests.get("https://api.picoberry.ai/v1/animations", headers=headers,
    params={"engine": "tripo"})
await fetch(`${BASE}/v1/animations?engine=tripo`, { headers });
응답 · 200
{ "success": true, "data": [
  { "id": "walk", "name": "Walk", "category": "Movement" },
  { "id": "run", "name": "Run", "category": "Movement" },
  { "id": "slash", "name": "Slash", "category": "Combat" }
] }

각 프리셋은 id(/animatepreset으로 전달), 표시용 name, category를 가집니다 — Movement, Combat, Emotion, Dance, Sports, Daily, Gesture 중 하나입니다.

응답

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

taskStatus2가 될 때까지 GET /v1/assets/{id}를 폴링하세요. 완성된 files.model에 리그와 베이크된 클립이 담깁니다. 비동기 및 폴링을 참고하세요.

프리셋은 엔진 전용입니다 Tripo 프리셋은 Meshy 엔진에서 실행되지 않습니다. 애니메이트에 사용하는 것과 같은 엔진에서 프리셋을 선택하세요.