# Model Formatı Dönüştürme

> **POST** `/v3/models/convert`

3B modeli başka bir formata dönüştürün.

## İstek Parametreleri

### Başlıkları Talep Et

| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | dize | Evet | - | `application/json` |
| Authorization | dize | Evet | - | `Bearer {api_key}` |

### Talep Gövdesi

#### Temel Parametreler

| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
| :-: | :-: | :-: | :-: | :-: |
| input | dize | Evet | - | Modeli kaynağı. `task_` ile başlayan task_id veya `file_` ile başlayan file_token'yi kabul eder |
| format | dize | Evet | - | Hedef formatı. Mevcut değerler: `GLTF`, `USDZ`, `FBX`, `OBJ`, `STL`, `3MF`. 3MF: Tek renkli 3D. |

#### Mesh Seçenekleri

| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
| :-: | :-: | :-: | :-: | :-: |
| quad | boolean | Hayır | `false` | Dörtlü yeniden işleme |
| force_symmetry | boolean | Hayır | `false` | Simetriyi zorla. Yalnızca `quad`, `true` olduğunda geçerlidir |
| face_limit | tamsayı | Hayır | - | Maksimum poligon sayısı. Atlanırsa orijinal yüz sayısı korunur |
| flatten_bottom | boolean | Hayır | `false` | Alt kısmı düzleştirin |
| flatten_bottom_threshold | şamandıra | Hayır | `0.01` | Düzleştirme derinliği eşiği |

#### Doku Seçenekleri

| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
| :-: | :-: | :-: | :-: | :-: |
| texture_size | tamsayı | Hayır | `4096` | Doku boyutunu piksel cinsinden dağıt |
| texture_format | dize | Hayır | `JPEG` | Doku formatı. Mevcut değerler: `BMP`, `DPX`, `HDR`, `JPEG`, `PNG`, `TARGA`, `TIFF`, `WEBP` |
| bake | boolean | Hayır | `true` | Gelişmiş malzemeleri temel dokulara dönüştürün |
| pack_uv | boolean | Hayır | `false` | Tüm UV'leri birleşik bir düzende paketleyin |
| export_vertex_colors | boolean | Hayır | `false` | Köşe renklerini dahil edin. Yalnızca `OBJ` ve `GLTF` formatları için geçerlidir |

#### Dışa Aktarma Seçenekleri

| Parametre | Tür | Gerekli | Varsayılan | Açıklama |
| :-: | :-: | :-: | :-: | :-: |
| pivot_to_center_bottom | boolean | Hayır | `false` | Pivotu alt merkeze taşıyın |
| scale_factor | şamandıra | Hayır | `1` | Ölçek faktörü |
| with_animation | boolean | Hayır | `true` | İskelet ve animasyon verilerini dahil et |
| animate_in_place | boolean | Hayır | `false` | Yerinde animasyon |
| part_names | dize[] | Hayır | - | Mesh/segment verilerinden dışa aktarılacak parçaların adları |
| export_orientation | dize | Hayır | `+x` | İhracat yönlendirmesi. Mevcut değerler: `-x`, `-y`, `+y` |
| fbx_preset | dize | Hayır | `blender` | Uyumluluk için FBX ön ayarı. Mevcut değerler: `blender`, `3dsmax`, `mixamo` |

## Örnekler İste

### curl

```bash
curl -X POST https://openapi.tripo3d.ai/v3/models/convert \
  -H "Content-Type: application/json" \
  -H "Authorization: Bearer {api_key}" \
  -d '{
    "input": "task_abc123",
    "format": "FBX",
    "quad": true,
    "face_limit": 8000,
    "texture_size": 2048,
    "texture_format": "PNG",
    "pivot_to_center_bottom": true,
    "fbx_preset": "blender"
  }'
```

### Python

```python
import requests

url = "https://openapi.tripo3d.ai/v3/models/convert"
headers = {
    "Content-Type": "application/json",
    "Authorization": "Bearer {api_key}"
}
payload = {
    "input": "task_abc123",
    "format": "FBX",
    "quad": True,
    "face_limit": 8000,
    "texture_size": 2048,
    "texture_format": "PNG",
    "pivot_to_center_bottom": True,
    "fbx_preset": "blender"
}

response = requests.post(url, headers=headers, json=payload)
print(response.json())
```

### JavaScript

```javascript
const url = "https://openapi.tripo3d.ai/v3/models/convert";

const response = await fetch(url, {
  method: "POST",
  headers: {
    "Content-Type": "application/json",
    "Authorization": "Bearer {api_key}"
  },
  body: JSON.stringify({
    input: "task_abc123",
    format: "FBX",
    quad: true,
    face_limit: 8000,
    texture_size: 2048,
    texture_format: "PNG",
    pivot_to_center_bottom: true,
    fbx_preset: "blender"
  })
});

const data = await response.json();
console.log(data);
```

## Yanıt

### Başarılı Yanıt

```json
{
  "code": 0,
  "data": {
    "task_id": "task_def456"
  }
}
```

### Yanıt Alanları

| Parametre | Tür | Açıklama |
| :-: | :-: | :-: |
| code | tamsayı | Durum kodu. `0` başarıyı gösterir |
| data.task_id | dize | Oluşturma ilerlemesini ve sonuçlarını sorgulamak için kullanılan benzersiz görev tanımlayıcı |

## Hata Kodları

| HTTP Durum Kodu | Hata Kodu | Açıklama | Tavsiye |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Üretim sınırı aşıldı | İstek oranını azaltın ve daha sonra yeniden deneyin |
| 400 | 2002 | Desteklenmeyen istek parametreleri | İstek gövdesi parametre adlarını ve değer aralıklarını kontrol edin |
| 400 | 2006 | Geçersiz giriş kaynağı görev türü | `task_id` için görev türünün doğru olduğunu onaylayın |
| 400 | 2007 | Kaynak görevi başarıyla tamamlanmadı | Dönüştürmeye başlamadan önce kaynak görevin tamamlanmasını bekleyin |
| 403 | 2010 | Yetersiz kredi | Kredileri tamamlayın ve yeniden deneyin |
