15분 안에 Tripo API를 시작하고 첫 번째 3D 모델을 생성하세요.
1
API Key 발급
로 이동 API Keys 페이지에서 새 키를 생성하고 복사합니다. 안전하게 보관하세요. 한 번만 표시됩니다.
보안 팁:
API 키를 환경 변수에 저장합니다(TRIPO_API_KEY="sk-..." 내보내기). 소스 코드에 하드 코딩하거나 리포지토리에 커밋하지 마세요.2
첫 번째 요청 보내기
텍스트 설명에서 3D 모델을 생성합니다. 모든 세대의 API는 비동기식입니다. 즉, 응답이 task_id를 즉시 반환합니다.
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/generation/text class="hl-flag">-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer " \
-d '{
"prompt": "a cute cat",
"model": "v3.1-20260211"}' 200응답 — 200 OK
{
"code": 0,
"data": {
"task_id": "task_abc123"}
}3
작업 결과 쿼리
"성공" 상태가 될 때까지 폴링하려면 task_id를 사용하세요. 2초마다 폴링합니다. 일반적인 생성에는 10~120초가 소요됩니다.
-cmd">curl -X GET https://openapi.tripo3d.ai/v3/tasks/{task_id} \
-H "Authorization: Bearer " 200응답 - 작업 완료
{
"code": 0,
"data": {
"task_id": "task_abc123",
"type": "text_to_model",
"status": "success",
"progress": 100,
"output": {
"model_url": "https://...",
"rendered_image_url": "https://..."}
}
}4
모델 다운로드
응답의 output.model_url에서 GLB 3D 모델 파일을 다운로드합니다. 다음에서 직접 사용할 수 있습니다.
BlenderUnityUnreal EngineThree.jsBabylon.jsmodel-viewer
참고:
모델 URL는 5분 후에 만료됩니다. 작업 성공 후 즉시 다운로드하세요. 3D 모델 파일에는 output.model_url를 사용하세요.고급 워크플로우
특정 사용 사례 및 기능에 대한 전체 API 파이프라인을 살펴보세요.
게임 준비 캐릭터
Unity/Unreal.에 사용할 수 있는 뼈대와 애니메이션이 포함된 로우 폴리 캐릭터 생성
호출 순서
귀하의 앱
Tripo API
1POSTimage-to-model
task_id
POLLGET tasks/{task_id} → until success
2POSTrig-check
riggable: true, rig_type: "biped"
3POSTrig
New task_id for rigged model
POLLGET tasks/{task_id} → until success
4POSTretarget
task_id with animated model URLs
POLLGET tasks/{task_id} → until success
API 데이터 흐름
POST
image-to-model
image-to-model
POST
rig-check
rig-check
POST
rig
rig
POST
retarget
retarget
1
POST /v3/generation/image-to-model
입력
Image URL or file_token
출력
task_id
Poll GET /v3/tasks/{task_id} until status=success
2
POST /v3/animations/rig-check
입력
{ input: "task_abc123" }
출력
riggable: true, rig_type: "biped"
If riggable=true, pass task_id + rig_type to rig
3
POST /v3/animations/rig
입력
{ input: "task_abc123", rig_type: "biped" }
출력
New task_id for rigged model
Poll until success, pass rigged task_id to retarget
4
POST /v3/animations/retarget
입력
{ input: "task_rig456", animations: [...] }
출력
task_id with animated model URLs
Download output.model_urls
주요 매개변수
| 매개변수 | 가치 | 왜? |
|---|---|---|
model | P1-20260311 | 게임 자산을 위한 최고의 로우 폴리 토폴로지 |
face_limit | 5000 | Mobile/game-friendly 다각형 개수 |
texture | true | 캐릭터의 시각적 충실도 |
rig_type | biped | 캐릭터용 휴머노이드 해골 |
spec | mixamo | Unity/Unreal 가져오기와 호환 가능 |
animations | preset:walkpreset:idlepreset:run | 필수 운동 세트 |
예상 시간
~105s
비용(크레딧)
~85
import requests, time
HEADERS = {"Authorization": "Bearer " , "Content-Type": "application/json"}
def poll(task_id):
while True:
r = requests.get(f"https://openapi.tripo3d.ai/v3/tasks/{task_id}", headers=HEADERS).json()
if r["data"]["status"] == "success": return r["data"]
if r["data"]["status"] in ("failed","cancelled"): raise Exception(r["data"])
time.sleep(2)
# Step 1 — Generate model
task_id = requests.post("https://openapi.tripo3d.ai/v3/generation/image-to-model",
headers=HEADERS, json={"file_token":"" ,"model":"P1-20260311","face_limit":5000}
).json()["data"]["task_id"]
poll(task_id)
# Step 2 — Rig check
rig_type = requests.post("https://openapi.tripo3d.ai/v3/animations/rig-check",
headers=HEADERS, json={"input": task_id}).json()["data"]["rig_type"]
# Step 3 — Rig
rig_id = requests.post("https://openapi.tripo3d.ai/v3/animations/rig",
headers=HEADERS, json={"input":task_id,"rig_type":rig_type,"spec":"mixamo"}
).json()["data"]["task_id"]
poll(rig_id)
# Step 4 — Retarget animations
anim_id = requests.post("https://openapi.tripo3d.ai/v3/animations/retarget",
headers=HEADERS, json={"input":rig_id,"animations":["preset:walk","preset:idle","preset:run"]}
).json()["data"]["task_id"]
result = poll(anim_id)
print("Animated GLBs:", result["output"]["model_urls"])개발자 팁
- •항상 리그 전에 리그 검사를 호출하세요. 권장되는 rig_type를 반환하고 오류를 방지합니다.
- •2초마다 작업을 폴링합니다. 속도 제한을 피하기 위해 요청 1개를 초과하지 마세요/second
- •Unity/Unreal의 경우 사양: "mixamo"를 사용하세요. 커스텀 파이프라인에는 spec: "tripo"를 사용하세요.
일반적인 함정
- •rig-check가 riggable=false를 반환하는 경우 더 깔끔한 프롬프트로 다시 생성해 보십시오(복잡한 포즈는 피하십시오).
- •Retarget은 조작된 모델 task_ids만 허용합니다. 원시 생성 task_id를 전달하면 실패합니다.