# Multiview zum 3D-Modell
> **POST** `/v3/generation/multiview-to-model`
Generieren Sie ein 3D-Modell aus Multiview-Bildern.
## Anforderungsparameter
### Anforderungsheader
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | Zeichenfolge | Ja | - | `application/json` |
| Authorization | Zeichenfolge | Ja | - | `Bearer {api_key}` |
| Parameter | Typ | Erforderlich | Standard | Beschreibung |
| :-: | :-: | :-: | :-: | :-: |
| inputs | Objekt[] \ | Zeichenfolge[4] | Ja | - | Multiview-Bilder. **Drei Formate – genau eines verwenden, nicht mischen.** **view-key (empfohlen)**: `[{"front":"..."},{"back":"..."}]` mit Schlüsseln `front`/`left`/`back`/`right`; Werte sind URL, `file_token` oder verschachtelte `{url}` / `{file_token}` / `{object:{bucket,key}}`. Die Reihenfolge spielt keine Rolle; Mindestens 2 Ansichten erforderlich, einschließlich `front`. **Legacy-Positionierung**: festes 4-String-Array `[front, left, back, right]`; Eine leere Zeichenfolge überspringt einen Slot. **task_id**: `[{"task_id":"<uuid>"}]` (Einzelelement-Array) zur Wiederverwendung der 4-Ansicht-Ausgabe einer vorherigen `generate_multiview_image`- oder `edit_multiview_image`-Aufgabe; Quellaufgabe muss `success` sein |
| model | Zeichenfolge | Nein | `tripo-v3.1` | Modellversion AI. Unterstützte Werte: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0` |
| face_limit | ganze Zahl | Nein | Adaptiv | Maximale Polyanzahl für die Ausgabe |
| texture | Boolescher Wert | Nein | `true` | Aktivieren Sie Texturkarten |
| pbr | Boolescher Wert | Nein | `true` | Aktivieren Sie PBR-Materialien. Wenn aktiviert, wird `texture` zu `true` gezwungen |
| texture_seed | ganze Zahl | Nein | Zufällig | Zufälliger Startwert für die Texturgenerierung |
| texture_quality | Zeichenfolge | Nein | `standard` | Texturqualität. Unterstützte Werte: `standard`, `detailed`, `extreme` |
| geometry_quality | Zeichenfolge | Nein | `standard` | Geometriequalität. `standard` (symmetrisch), `detailed` (Ultra-Modus) |
| auto_size | Boolescher Wert | Nein | `false` | Skalieren Sie das Modell automatisch auf reale Abmessungen in Metern |
| quad | Boolescher Wert | Nein | `false` | Geben Sie ein Quad-Netz aus. Wenn diese Option aktiviert ist, wird das Ausgabeformat auf FBX erzwungen |
| smart_low_poly | Boolescher Wert | Nein | `false` | Generieren Sie ein Low-Poly-Modell mit handgefertigtem Topologiestil |
| generate_parts | Boolescher Wert | Nein | `false` | Generieren Sie bearbeitbare segmentierte Teile. Nicht kompatibel mit `texture`, `pbr`, `quad` oder `smart_low_poly` — siehe Hinweis unten |
| compress | Zeichenfolge | Nein | - | Komprimierungstyp. `geometry` (Meshopt-Komprimierung) |
| export_orientation | Zeichenfolge | Nein | `+x` | Exportausrichtung. Verfügbare Werte: `-x`, `-y`, `+y` |
**Hinweise zu `generate_parts`:**
Nicht kompatibel mit `texture`, `pbr`, `quad` oder `smart_low_poly`:
- `texture=true` oder `pbr=true` — einschließlich des Weglassens von `texture`, das standardmäßig `true` ist — wird die Anfrage mit Fehlercode `1004` abgelehnt.
- `quad=true` — quad wird ignoriert; die zurückgegebenen Teile sind Dreiecksmeshes.
- `smart_low_poly=true` — smart_low_poly hat Vorrang und Teile werden NICHT erzeugt.
Um Teile zu generieren, setzen Sie `texture=false` und `pbr=false` und senden Sie weder `quad` noch `smart_low_poly`.
**Hinweise zu `export_orientation`:**
- Gilt nur für diese Generierung. Wenn das Modell in Nachbearbeitungsaufgaben (Texturen, Rigging, Retargeting, Konvertierung, ...) verwendet werden soll, wird empfohlen, diesen Parameter **nicht** zu setzen.
- Wenn dieser Parameter gesetzt ist, kann die Nachbearbeitung aufgrund einer falschen Modellausrichtung das Endergebnis beeinträchtigen, während die Aufgabe weiterhin `status: success` meldet — es wird kein Fehler ausgelöst. Bitte mit Vorsicht verwenden.
- Wenn Sie das Modell nachbearbeiten möchten, lassen Sie diesen Parameter leer und konvertieren Sie die Ausrichtung im letzten Schritt über `/v3/models/convert`.
Die folgenden Parameter sind nur gültig, wenn `model >= tripo-v3.0`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## Eingabeformate
### view-key (empfohlen)
Jedes Array-Element ist ein Objekt mit genau einem Schlüssel unter `front`, `left`, `back` oder `right`. Die Reihenfolge spielt keine Rolle; Der Server kanonisiert auf `[front, left, back, right]`. `front` ist erforderlich; Mindestens zwei Ansichten dürfen nicht leer sein.
**Mit URLs:**
```json
{
"inputs": [
{"front": "https://example.com/front.png"},
{"back": "https://example.com/back.png"},
{"right": "https://example.com/right.png"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"
}
```
**Mit file_tokens (erhalten über die Upload-Datei API):**
```json
{
"inputs": [
{"front": "3154b4b0-4647-4032-aa82-827441ae92ef"},
{"back": "58ea3eab-6a08-4deb-98f9-e60f1802954d"},
{"right": "584b0e07-8576-4eb4-bf49-2e149e0252f6"}
],
"model": "tripo-v3.1",
"texture": false,
"geometry_quality": "detailed"
}
```
### Legacy-Position
Genau vier Saiten in der Reihenfolge `[front, left, back, right]`. Verwenden Sie eine leere Zeichenfolge `""`, um eine Ansicht zu überspringen.
```json
{
"inputs": [
"file_front_token",
"",
"https://example.com/back.png",
"https://example.com/right.png"
]
}
```
### task_id (Mehrfachansichtsaufgabe wiederverwenden)
Übergeben Sie den ID einer vorherigen `generate_multiview_image`- oder `edit_multiview_image`-Aufgabe, um deren 4-Ansichten-Ausgabe für die 3D-Generierung wiederzuverwenden. `inputs` muss ein Einzelelementarray mit einem `task_id`-Objekt sein – nicht mit Ansichtsschlüssel- oder Positionsslots mischen. Die Quellaufgabe muss den Status `success` haben.
```json
{
"inputs": [
{"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"texture": true,
"pbr": true
}
```
## Fordern Sie Beispiele an
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/multiview-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/multiview-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"inputs": [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.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/multiview-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
inputs: [
"https://example.com/front.png",
"https://example.com/back.png",
"https://example.com/left.png",
"https://example.com/right.png"
],
model: "tripo-v3.1",
texture: true,
pbr: true,
texture_quality: "detailed"
})
});
const data = await response.json();
console.log(data);
```
## Antwort
### Erfolgsantwort
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### 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 Anforderungshäufigkeit und versuchen Sie es später noch einmal |
| 400 | 2002 | Nicht unterstützter Anforderungsparameter | Überprüfen Sie die Parameternamen und Wertebereiche des Anforderungshauptteils |
| 400 | 2003 | Die Eingabedatei ist leer | Stellen Sie sicher, dass die hochgeladene Datei nicht leer ist oder dass auf URL zugegriffen werden kann |
| 400 | 2004 | Nicht unterstützter Dateityp | Verwenden Sie ein unterstütztes Bildformat (PNG, JPEG, WebP). |
| 400 | 2008 | Die Eingabe verstößt gegen die Inhaltsrichtlinien | Ersetzen Sie das Eingabebild und entfernen Sie richtlinienverletzende Inhalte |
| 403 | 2010 | Unzureichende Credits | Fügen Sie Credits hinzu und versuchen Sie es erneut |
| 400 | 2015 | Modellversion veraltet | Aktualisieren Sie `model` auf eine aktuell unterstützte Version |
| 400 | 2018 | Das Modell ist zu komplex für eine Neuvernetzung | Senken Sie `face_limit` oder vereinfachen Sie die Eingabe |
Multiview zum 3D-Modell
POST/v3/generation/multiview-to-model
Generieren Sie ein 3D-Modell aus Multiview-Bildern.
Nicht kompatibel mit texture, pbr, quad oder smart_low_poly:
texture=true oder pbr=true — einschließlich des Weglassens von texture, das standardmäßig true ist — wird die Anfrage mit Fehlercode 1004 abgelehnt.
quad=true — quad wird ignoriert; die zurückgegebenen Teile sind Dreiecksmeshes.
smart_low_poly=true — smart_low_poly hat Vorrang und Teile werden NICHT erzeugt.
Um Teile zu generieren, setzen Sie texture=false und pbr=false und senden Sie weder quad noch smart_low_poly.
Hinweise zu export_orientation:
Gilt nur für diese Generierung. Wenn das Modell in Nachbearbeitungsaufgaben (Texturen, Rigging, Retargeting, Konvertierung, …) verwendet werden soll, wird empfohlen, diesen Parameter nicht zu setzen.
Wenn dieser Parameter gesetzt ist, kann die Nachbearbeitung aufgrund einer falschen Modellausrichtung das Endergebnis beeinträchtigen, während die Aufgabe weiterhin status: success meldet — es wird kein Fehler ausgelöst. Bitte mit Vorsicht verwenden.
Wenn Sie das Modell nachbearbeiten möchten, lassen Sie diesen Parameter leer und konvertieren Sie die Ausrichtung im letzten Schritt über /v3/models/convert.
Die folgenden Parameter sind nur gültig, wenn model >= tripo-v3.0: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
Eingabeformate
view-key (empfohlen)
Jedes Array-Element ist ein Objekt mit genau einem Schlüssel unter front, left, back oder right. Die Reihenfolge spielt keine Rolle; Der Server kanonisiert auf [front, left, back, right]. front ist erforderlich; Mindestens zwei Ansichten dürfen nicht leer sein.
Übergeben Sie den ID einer vorherigen generate_multiview_image- oder edit_multiview_image-Aufgabe, um deren 4-Ansichten-Ausgabe für die 3D-Generierung wiederzuverwenden. inputs muss ein Einzelelementarray mit einem task_id-Objekt sein – nicht mit Ansichtsschlüssel- oder Positionsslots mischen. Die Quellaufgabe muss den Status success haben.