Modellformatkonvertierung
# Modellformatkonvertierung
> **POST** `/v3/models/convert`
Konvertieren Sie ein 3D-Modell in ein anderes Format.
## Anforderungsparameter
### Anforderungsheader
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | Zeichenfolge | Ja | - | `application/json` |
| Authorization | Zeichenfolge | Ja | - | `Bearer {api_key}` |
### Anforderungstext
#### Grundparameter
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| input | Zeichenfolge | Ja | - | Modellquelle. Akzeptiert einen task_id, der mit `task_` beginnt, oder einen file_token, der mit `file_` beginnt |
| format | Zeichenfolge | Ja | - | Zielformat. Verfügbare Werte: `GLTF`, `USDZ`, `FBX`, `OBJ`, `STL`, `3MF`. 3MF: 3D mit einer einzigen Farbe. |
#### Mesh-Optionen
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| quad | Boolescher Wert | Nein | `false` | Quad-Neuvernetzung |
| force_symmetry | Boolescher Wert | Nein | `false` | Kräftesymmetrie. Nur gültig, wenn `quad` `true` ist |
| face_limit | ganze Zahl | Nein | - | Maximale Polyanzahl. Wenn es weggelassen wird, bleibt die ursprüngliche Anzahl der Gesichter erhalten |
| flatten_bottom | Boolescher Wert | Nein | `false` | Boden abflachen |
| flatten_bottom_threshold | schweben | Nein | `0.01` | Schwellenwert für die Abflachungstiefe |
#### Texturoptionen
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| texture_size | ganze Zahl | Nein | `4096` | Größe der diffusen Textur in Pixeln |
| texture_format | Zeichenfolge | Nein | `JPEG` | Texturformat. Verfügbare Werte: `BMP`, `DPX`, `HDR`, `JPEG`, `PNG`, `TARGA`, `TIFF`, `WEBP` |
| bake | Boolescher Wert | Nein | `true` | Backen Sie fortschrittliche Materialien in Basistexturen |
| pack_uv | Boolescher Wert | Nein | `false` | Packen Sie alle UVs in ein einheitliches Layout |
| export_vertex_colors | Boolescher Wert | Nein | `false` | Scheitelpunktfarben einbeziehen. Nur gültig für die Formate `OBJ` und `GLTF` |
#### Exportoptionen
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| pivot_to_center_bottom | Boolescher Wert | Nein | `false` | Bewegen Sie den Drehpunkt nach unten in die Mitte |
| scale_factor | schweben | Nein | `1` | Skalierungsfaktor |
| with_animation | Boolescher Wert | Nein | `true` | Beziehen Sie Skelett- und Animationsdaten ein |
| animate_in_place | Boolescher Wert | Nein | `false` | Animation vor Ort |
| part_names | string[] | Nein | - | Namen der zu exportierenden Teile aus mesh/segment-Daten |
| export_orientation | Zeichenfolge | Nein | `+x` | Exportausrichtung. Verfügbare Werte: `-x`, `-y`, `+y` |
| fbx_preset | Zeichenfolge | Nein | `blender` | FBX aus Kompatibilitätsgründen voreingestellt. Verfügbare Werte: `blender`, `3dsmax`, `mixamo` |
## Fordern Sie Beispiele an
### 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);
```
## Antwort
### Erfolgreiche Antwort
```json
{
"code": 0,
"data": {
"task_id": "task_def456"
}
}
```
### Antwortfelder
| Parameter | Typ | Beschreibung |
| :-: | :-: | :-: |
| code | ganze Zahl | Statuscode. `0` zeigt Erfolg an |
| data.task_id | Zeichenfolge | Eindeutiger Aufgabenbezeichner, der zum Abfragen des Generierungsfortschritts und der Ergebnisse verwendet wird |
## Fehlercodes
| HTTP Statuscode | Fehlercode | Beschreibung | Empfehlung |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Generationslimit überschritten | Reduzieren Sie die Anforderungsrate und versuchen Sie es später erneut |
| 400 | 2002 | Nicht unterstützte Anforderungsparameter | Überprüfen Sie die Parameternamen und Wertebereiche des Anforderungshauptteils |
| 400 | 2006 | Ungültiger Aufgabentyp der Eingabequelle | Bestätigen Sie, dass der Aufgabentyp für `task_id` korrekt ist |
| 400 | 2007 | Die Quellaufgabe wurde nicht erfolgreich abgeschlossen | Warten Sie, bis die Quellaufgabe abgeschlossen ist, bevor Sie mit der Konvertierung beginnen |
| 403 | 2010 | Unzureichende Credits | Guthaben aufladen und erneut versuchen |
Modellformatkonvertierung
POST /v3/models/convert
Konvertieren Sie ein 3D-Modell in ein anderes Format.
Anforderungsparameter
Anforderungsheader
| Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
| Content-Type |
Zeichenfolge |
Ja |
- |
application/json |
| Authorization |
Zeichenfolge |
Ja |
- |
Bearer {api_key} |
Anforderungstext
Grundparameter
| Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
| input |
Zeichenfolge |
Ja |
- |
Modellquelle. Akzeptiert einen task_id, der mit task_ beginnt, oder einen file_token, der mit file_ beginnt |
| format |
Zeichenfolge |
Ja |
- |
Zielformat. Verfügbare Werte: GLTF, USDZ, FBX, OBJ, STL, 3MF. 3MF: 3D mit einer einzigen Farbe. |
Mesh-Optionen
| Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
| quad |
Boolescher Wert |
Nein |
false |
Quad-Neuvernetzung |
| force_symmetry |
Boolescher Wert |
Nein |
false |
Kräftesymmetrie. Nur gültig, wenn quad true ist |
| face_limit |
ganze Zahl |
Nein |
- |
Maximale Polyanzahl. Wenn es weggelassen wird, bleibt die ursprüngliche Anzahl der Gesichter erhalten |
| flatten_bottom |
Boolescher Wert |
Nein |
false |
Boden abflachen |
| flatten_bottom_threshold |
schweben |
Nein |
0.01 |
Schwellenwert für die Abflachungstiefe |
Texturoptionen
| Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
| texture_size |
ganze Zahl |
Nein |
4096 |
Größe der diffusen Textur in Pixeln |
| texture_format |
Zeichenfolge |
Nein |
JPEG |
Texturformat. Verfügbare Werte: BMP, DPX, HDR, JPEG, PNG, TARGA, TIFF, WEBP |
| bake |
Boolescher Wert |
Nein |
true |
Backen Sie fortschrittliche Materialien in Basistexturen |
| pack_uv |
Boolescher Wert |
Nein |
false |
Packen Sie alle UVs in ein einheitliches Layout |
| export_vertex_colors |
Boolescher Wert |
Nein |
false |
Scheitelpunktfarben einbeziehen. Nur gültig für die Formate OBJ und GLTF |
Exportoptionen
| Parameter |
Typ |
Erforderlich |
Standard |
Beschreibung |
| pivot_to_center_bottom |
Boolescher Wert |
Nein |
false |
Bewegen Sie den Drehpunkt nach unten in die Mitte |
| scale_factor |
schweben |
Nein |
1 |
Skalierungsfaktor |
| with_animation |
Boolescher Wert |
Nein |
true |
Beziehen Sie Skelett- und Animationsdaten ein |
| animate_in_place |
Boolescher Wert |
Nein |
false |
Animation vor Ort |
| part_names |
string[] |
Nein |
- |
Namen der zu exportierenden Teile aus mesh/segment-Daten |
| export_orientation |
Zeichenfolge |
Nein |
+x |
Exportausrichtung. Verfügbare Werte: -x, -y, +y |
| fbx_preset |
Zeichenfolge |
Nein |
blender |
FBX aus Kompatibilitätsgründen voreingestellt. Verfügbare Werte: blender, 3dsmax, mixamo |
Fordern Sie Beispiele an
-cmd">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"}'
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())
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);
Antwort
Erfolgreiche Antwort
{
"code": 0,
"data": {
"task_id": "task_def456"}
}
Antwortfelder
| Parameter |
Typ |
Beschreibung |
| code |
ganze Zahl |
Statuscode. 0 zeigt Erfolg an |
| data.task_id |
Zeichenfolge |
Eindeutiger Aufgabenbezeichner, der zum Abfragen des Generierungsfortschritts und der Ergebnisse verwendet wird |
Fehlercodes
| HTTP Statuscode |
Fehlercode |
Beschreibung |
Empfehlung |
| 429 |
2000 |
Generationslimit überschritten |
Reduzieren Sie die Anforderungsrate und versuchen Sie es später erneut |
| 400 |
2002 |
Nicht unterstützte Anforderungsparameter |
Überprüfen Sie die Parameternamen und Wertebereiche des Anforderungshauptteils |
| 400 |
2006 |
Ungültiger Aufgabentyp der Eingabequelle |
Bestätigen Sie, dass der Aufgabentyp für task_id korrekt ist |
| 400 |
2007 |
Die Quellaufgabe wurde nicht erfolgreich abgeschlossen |
Warten Sie, bis die Quellaufgabe abgeschlossen ist, bevor Sie mit der Konvertierung beginnen |
| 403 |
2010 |
Unzureichende Credits |
Guthaben aufladen und erneut versuchen |