# 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}` |
### Anforderungstext
| 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. Gegenseitig ausschließend mit `texture=true`, `pbr=true` und `quad=true` |
| compress | Zeichenfolge | Nein | - | Komprimierungstyp. `geometry` (Meshopt-Komprimierung) |
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.
Anforderungsparameter
Anforderungsheader
Parameter
Typ
Erforderlich
Standard
Beschreibung
Content-Type
Zeichenfolge
Ja
-
application/json
Authorization
Zeichenfolge
Ja
-
Bearer {api_key}
Anforderungstext
Parameter
Typ
Erforderlich
Standard
Beschreibung
inputs
Objekt[] \
Zeichenfolge[4]
Ja
-
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. Gegenseitig ausschließend mit texture=true, pbr=true und quad=true
compress
Zeichenfolge
Nein
-
Komprimierungstyp. geometry (Meshopt-Komprimierung)
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:
{
"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):
{
"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.
{
"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.
{
"inputs" : [
{"task_id" : "550e8400-e29b-41d4-a716-446655440000" }
],
"model" : "v3.1-20260211" ,
"texture" : true ,
"pbr" : true
}
Fordern Sie Beispiele an
-cmd ">curl -X POST https://openapi.tripo3d.ai/v3/generation/multiview class="hl-flag">-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" }'
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 ())
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
{
"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
Zurück Bild zum 3D-Modell — P-SerieAls nächstes Multiview zum 3D-Modell — P-Serie