# 이미지를 3D 모델로
> **POST** `/v3/generation/image-to-model`
이미지에서 3D 모델을 생성합니다.
## 요청 매개변수
### 요청 헤더
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | 문자열 | 예 | - | `application/json` |
| Authorization | 문자열 | 예 | - | `Bearer {api_key}` |
### 요청 본문
| 매개변수 | 유형 | 필수 | 기본값 | 설명 |
| :-: | :-: | :-: | :-: | :-: |
| input | 문자열 | 예 | - | 이미지 출처. `file_`로 시작하는 파일 토큰, `http(s)://`로 시작하는 URL 또는 `task_`로 시작하는 ID 작업을 허용합니다. |
| model | 문자열 | 아니요 | `tripo-v3.1` | AI 모델 버전. 지원되는 값: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0` |
| enable_image_autofix | 부울 | 아니요 | `false` | 저품질 입력 이미지 자동 개선 |
| texture_alignment | 문자열 | 아니요 | `original_image` | 텍스처 정렬 우선순위. 지원되는 값: `original_image`(원본 이미지 일치 우선순위), `geometry`(지오메트리 일치 우선순위) |
| orientation | 문자열 | 아니요 | `default` | 모델 오리엔테이션. 지원되는 값: `default`, `align_image`(입력 영상 시점에 맞춰 정렬) |
| face_limit | 정수 | 아니요 | 적응형 | 출력의 최대 폴리카운트 |
| texture | 부울 | 아니요 | `true` | 텍스처 맵 활성화 |
| pbr | 부울 | 아니요 | `true` | PBR 재료를 활성화합니다. 활성화되면 `texture`가 강제로 `true`로 전환됩니다. |
| texture_seed | 정수 | 아니요 | 무작위 | 텍스처 생성을 위한 무작위 시드 |
| texture_quality | 문자열 | 아니요 | `standard` | 텍스처 품질. 지원되는 값: `standard`, `detailed`, `extreme` |
| geometry_quality | 문자열 | 아니요 | `standard` | 기하학 품질. `standard`(밸런스), `detailed`(울트라 모드) |
| auto_size | 부울 | 아니요 | `false` | 모델을 실제 크기(미터)에 맞게 자동으로 확장 |
| quad | 부울 | 아니요 | `false` | 쿼드 메시를 출력합니다. 활성화되면 출력 형식이 FBX로 강제 설정됩니다. |
| smart_low_poly | 부울 | 아니요 | `false` | 손으로 만든 토폴로지 스타일로 로우 폴리 모델 생성 |
| generate_parts | 부울 | 아니요 | `false` | 편집 가능한 분할된 부품을 생성합니다. `texture=true`, `pbr=true` 및 `quad=true`와 상호 배타적 |
| compress | 문자열 | 아니요 | - | 압축 유형. `geometry`(meshopt 압축) |
다음 매개변수는 `model >= tripo-v3.0`인 경우에만 유효합니다: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## 요청 예시
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/image-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/image.png",
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
```
## 응답
### 성공반응
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### 응답 필드
| 매개변수 | 유형 | 설명 |
| :-: | :-: | :-: |
| code | 정수 | 상태 코드. `0`는 성공을 나타냅니다. |
| data.task_id | 문자열 | 생성 진행 상황 및 결과를 쿼리하는 데 사용되는 고유 작업 식별자 |
## 오류 코드
| HTTP 상태 코드 | 오류 코드 | 설명 | 추천 |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | 생성 한도를 초과했습니다. | 요청 빈도를 줄이고 나중에 다시 시도하세요. |
| 400 | 2002 | 지원되지 않는 요청 매개변수 | 요청 본문 매개변수 이름 및 값 범위 확인 |
| 400 | 2003 | 입력 파일이 비어 있습니다. | 업로드된 파일이 비어 있지 않은지 또는 URL에 액세스할 수 있는지 확인하세요. |
| 400 | 2004 | 지원되지 않는 파일 형식 | 지원되는 이미지 형식(PNG, JPEG, WebP)을 사용하세요. |
| 400 | 2008 | 입력 내용이 콘텐츠 정책을 위반합니다. | 입력 이미지 교체 및 정책 위반 콘텐츠 제거 |
| 403 | 2010 | 크레딧이 부족합니다. | 크레딧을 추가하고 다시 시도하세요. |
| 400 | 2015 | 모델 버전이 지원 중단됨 | `model`를 현재 지원되는 버전으로 업그레이드하세요. |
| 400 | 2018 | 모델이 너무 복잡해서 다시 메시할 수 없습니다. | `face_limit`를 낮추거나 입력을 단순화하세요. |
이미지를 3D 모델로
POST /v3/generation/image-to-model
이미지에서 3D 모델을 생성합니다.
요청 매개변수
요청 헤더
| 매개변수 |
유형 |
필수 |
기본값 |
설명 |
| Content-Type |
문자열 |
예 |
- |
application/json |
| Authorization |
문자열 |
예 |
- |
Bearer {api_key} |
요청 본문
| 매개변수 |
유형 |
필수 |
기본값 |
설명 |
| input |
문자열 |
예 |
- |
이미지 출처. file_로 시작하는 파일 토큰, http(s)://로 시작하는 URL 또는 task_로 시작하는 ID 작업을 허용합니다. |
| model |
문자열 |
아니요 |
tripo-v3.1 |
AI 모델 버전. 지원되는 값: tripo-p1, tripo-turbo, tripo-v3.1, tripo-v3.0, tripo-v2.5, tripo-v2.0 |
| enable_image_autofix |
부울 |
아니요 |
false |
저품질 입력 이미지 자동 개선 |
| texture_alignment |
문자열 |
아니요 |
original_image |
텍스처 정렬 우선순위. 지원되는 값: original_image(원본 이미지 일치 우선순위), geometry(지오메트리 일치 우선순위) |
| orientation |
문자열 |
아니요 |
default |
모델 오리엔테이션. 지원되는 값: default, align_image(입력 영상 시점에 맞춰 정렬) |
| face_limit |
정수 |
아니요 |
적응형 |
출력의 최대 폴리카운트 |
| texture |
부울 |
아니요 |
true |
텍스처 맵 활성화 |
| pbr |
부울 |
아니요 |
true |
PBR 재료를 활성화합니다. 활성화되면 texture가 강제로 true로 전환됩니다. |
| texture_seed |
정수 |
아니요 |
무작위 |
텍스처 생성을 위한 무작위 시드 |
| texture_quality |
문자열 |
아니요 |
standard |
텍스처 품질. 지원되는 값: standard, detailed, extreme |
| geometry_quality |
문자열 |
아니요 |
standard |
기하학 품질. standard(밸런스), detailed(울트라 모드) |
| auto_size |
부울 |
아니요 |
false |
모델을 실제 크기(미터)에 맞게 자동으로 확장 |
| quad |
부울 |
아니요 |
false |
쿼드 메시를 출력합니다. 활성화되면 출력 형식이 FBX로 강제 설정됩니다. |
| smart_low_poly |
부울 |
아니요 |
false |
손으로 만든 토폴로지 스타일로 로우 폴리 모델 생성 |
| generate_parts |
부울 |
아니요 |
false |
편집 가능한 분할된 부품을 생성합니다. texture=true, pbr=true 및 quad=true와 상호 배타적 |
| compress |
문자열 |
아니요 |
- |
압축 유형. geometry(meshopt 압축) |
다음 매개변수는 model >= tripo-v3.0인 경우에만 유효합니다: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
요청 예시
-cmd">curl -X POST https://openapi.tripo3d.ai/v3/generation/image class="hl-flag">-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"}'
import requests
url = "https://openapi.tripo3d.ai/v3/generation/image-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "https://example.com/image.png",
"model": "tripo-v3.1",
"texture": True,
"pbr": True,
"texture_quality": "detailed"
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
const url = "https://openapi.tripo3d.ai/v3/generation/image-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "https://example.com/image.png",
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
응답
성공반응
{
"code": 0,
"data": {
"task_id": "task_abc123"}
}
응답 필드
| 매개변수 |
유형 |
설명 |
| code |
정수 |
상태 코드. 0는 성공을 나타냅니다. |
| data.task_id |
문자열 |
생성 진행 상황 및 결과를 쿼리하는 데 사용되는 고유 작업 식별자 |
오류 코드
| HTTP 상태 코드 |
오류 코드 |
설명 |
추천 |
| 429 |
2000 |
생성 한도를 초과했습니다. |
요청 빈도를 줄이고 나중에 다시 시도하세요. |
| 400 |
2002 |
지원되지 않는 요청 매개변수 |
요청 본문 매개변수 이름 및 값 범위 확인 |
| 400 |
2003 |
입력 파일이 비어 있습니다. |
업로드된 파일이 비어 있지 않은지 또는 URL에 액세스할 수 있는지 확인하세요. |
| 400 |
2004 |
지원되지 않는 파일 형식 |
지원되는 이미지 형식(PNG, JPEG, WebP)을 사용하세요. |
| 400 |
2008 |
입력 내용이 콘텐츠 정책을 위반합니다. |
입력 이미지 교체 및 정책 위반 콘텐츠 제거 |
| 403 |
2010 |
크레딧이 부족합니다. |
크레딧을 추가하고 다시 시도하세요. |
| 400 |
2015 |
모델 버전이 지원 중단됨 |
model를 현재 지원되는 버전으로 업그레이드하세요. |
| 400 |
2018 |
모델이 너무 복잡해서 다시 메시할 수 없습니다. |
face_limit를 낮추거나 입력을 단순화하세요. |