# Vista múltiple al modelo 3D
> **POST** `/v3/generation/multiview-to-model`
Genere un modelo 3D a partir de imágenes multivista.
## Solicitar parámetros
### Encabezados de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadena | si | - | `application/json` |
| Authorization | cadena | si | - | `Bearer {api_key}` |
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| inputs | objeto[] \ | cadena [4] | si | - | Imágenes multivista. **Tres formatos: use exactamente uno, no mezcle.** **view-key (recomendado)**: `[{"front":"..."},{"back":"..."}]` con claves `front`/`left`/`back`/`right`; los valores son URL, `file_token` o `{url}`/`{file_token}`/`{object:{bucket,key}}` anidados. El orden no importa; Se requieren al menos 2 vistas, incluida `front`. **posicional heredado**: matriz fija de 4 cadenas `[front, left, back, right]`; la cadena vacía salta un espacio. **task_id**: `[{"task_id":"<uuid>"}]` (matriz de un solo elemento) para reutilizar la salida de 4 vistas de una tarea anterior `generate_multiview_image` o `edit_multiview_image`; la tarea de origen debe ser `success` |
| model | cadena | No | `tripo-v3.1` | Versión del modelo AI. Valores admitidos: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0` |
| face_limit | entero | No | Adaptativo | Polígono máximo para la salida |
| texture | booleano | No | `true` | Habilitar mapas de textura |
| pbr | booleano | No | `true` | Habilite los materiales PBR. Cuando está habilitado, `texture` se fuerza a `true` |
| texture_seed | entero | No | Aleatorio | Semilla aleatoria para generación de textura. |
| texture_quality | cadena | No | `standard` | Calidad de la textura. Valores admitidos: `standard`, `detailed`, `extreme` |
| geometry_quality | cadena | No | `standard` | Calidad de la geometría. `standard` (equilibrado), `detailed` (modo Ultra) |
| auto_size | booleano | No | `false` | Escale automáticamente el modelo a dimensiones reales en metros. |
| quad | booleano | No | `false` | Genera una malla cuádruple. Cuando está habilitado, el formato de salida se fuerza a FBX |
| smart_low_poly | booleano | No | `false` | Genere un modelo low-poly con un estilo de topología hecho a mano |
| generate_parts | booleano | No | `false` | Genera piezas segmentadas editables. No compatible con `texture`, `pbr`, `quad` ni `smart_low_poly` — véase la nota a continuación |
| compress | cadena | No | - | Tipo de compresión. `geometry` (compresión de tienda) |
| export_orientation | cadena | No | `+x` | Orientación exportadora. Valores disponibles: `-x`, `-y`, `+y` |
**Notas sobre `generate_parts`:**
No compatible con `texture`, `pbr`, `quad` ni `smart_low_poly`:
- `texture=true` o `pbr=true` — incluida la omisión de `texture`, que por defecto es `true` — la solicitud se rechaza con el código de error `1004`.
- `quad=true` — quad se ignora; las piezas devueltas son mallas de triángulos.
- `smart_low_poly=true` — smart_low_poly tiene prioridad y las piezas NO se producen.
Para generar piezas, establezca `texture=false` y `pbr=false`, y no envíe `quad` ni `smart_low_poly`.
**Notas sobre `export_orientation`:**
- Se aplica solo a esta generación. Si el modelo se va a usar en tareas de postprocesamiento (textura, rig, reorientación, conversión, ...), se recomienda **no** establecer este parámetro.
- Si se establece, el postprocesamiento puede afectar el resultado final debido a una orientación incorrecta del modelo, aunque la tarea siga informando `status: success` — no se genera ningún error. Úselo con precaución.
- Si planea postprocesar el modelo, deje este parámetro sin definir y convierta la orientación en el último paso mediante `/v3/models/convert`.
Los siguientes parámetros solo son válidos cuando `model >= tripo-v3.0`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## formatos de entradas
### clave de vista (recomendado)
Cada elemento de la matriz es un objeto con exactamente una clave entre `front`, `left`, `back` o `right`. El orden no importa; el servidor canonicaliza a `[front, left, back, right]`. Se requiere `front`; al menos dos vistas no deben estar vacías.
**Con URL:**
```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"
}
```
**Con file_tokens (obtenido a través del archivo de carga 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"
}
```
### legado posicional
Exactamente cuatro cadenas en orden `[front, left, back, right]`. Utilice una cadena vacía `""` para omitir una vista.
```json
{
"inputs": [
"file_front_token",
"",
"https://example.com/back.png",
"https://example.com/right.png"
]
}
```
### task_id (reutilizar tarea de vista múltiple)
Pase el ID de una tarea `generate_multiview_image` o `edit_multiview_image` anterior para reutilizar su salida de 4 vistas para la generación 3D. `inputs` debe ser una matriz de un solo elemento con un objeto `task_id`; no lo mezcle con clave de vista o ranuras posicionales. La tarea de origen debe estar en estado `success`.
```json
{
"inputs": [
{"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"texture": true,
"pbr": true
}
```
## Ejemplos de solicitudes
### 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);
```
## Respuesta
### Respuesta exitosa
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### Campos de respuesta
| Parámetro | Tipo | Descripción |
| :-: | :-: | :-: |
| code | entero | Código de estado. `0` indica éxito |
| data.task_id | cadena | Identificador de tarea único utilizado para consultar el progreso y los resultados de la generación. |
## Códigos de error
| Código de estado HTTP | Código de error | Descripción | Recomendación |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Límite de generación excedido | Reduzca la frecuencia de las solicitudes y vuelva a intentarlo más tarde |
| 400 | 2002 | Parámetro de solicitud no admitido | Verifique los nombres de los parámetros del cuerpo de la solicitud y los rangos de valores |
| 400 | 2003 | El archivo de entrada está vacío | Confirme que el archivo cargado no esté vacío o que se pueda acceder al URL |
| 400 | 2004 | Tipo de archivo no compatible | Utilice un formato de imagen compatible (PNG, JPEG, WebP) |
| 400 | 2008 | La entrada viola la política de contenido. | Reemplace la imagen de entrada y elimine el contenido que infringe las políticas |
| 403 | 2010 | Créditos insuficientes | Añade créditos y vuelve a intentarlo |
| 400 | 2015 | Versión del modelo obsoleta | Actualice `model` a una versión actualmente compatible |
| 400 | 2018 | El modelo es demasiado complejo para volver a mallarlo. | Bajar `face_limit` o simplificar la entrada |
Vista múltiple al modelo 3D
POST/v3/generation/multiview-to-model
Genere un modelo 3D a partir de imágenes multivista.
Solicitar parámetros
Encabezados de solicitud
Parámetro
Tipo
Requerido
Predeterminado
Descripción
Content-Type
cadena
si
-
application/json
Authorization
cadena
si
-
Bearer {api_key}
Parámetro
Tipo
Requerido
Predeterminado
Descripción
inputs
objeto[] \
cadena [4]
si
-
model
cadena
No
tripo-v3.1
Versión del modelo AI. Valores admitidos: tripo-p1, tripo-turbo, tripo-v3.1, tripo-v3.0, tripo-v2.5, tripo-v2.0
face_limit
entero
No
Adaptativo
Polígono máximo para la salida
texture
booleano
No
true
Habilitar mapas de textura
pbr
booleano
No
true
Habilite los materiales PBR. Cuando está habilitado, texture se fuerza a true
texture_seed
entero
No
Aleatorio
Semilla aleatoria para generación de textura.
texture_quality
cadena
No
standard
Calidad de la textura. Valores admitidos: standard, detailed, extreme
geometry_quality
cadena
No
standard
Calidad de la geometría. standard (equilibrado), detailed (modo Ultra)
auto_size
booleano
No
false
Escale automáticamente el modelo a dimensiones reales en metros.
quad
booleano
No
false
Genera una malla cuádruple. Cuando está habilitado, el formato de salida se fuerza a FBX
smart_low_poly
booleano
No
false
Genere un modelo low-poly con un estilo de topología hecho a mano
generate_parts
booleano
No
false
Genera piezas segmentadas editables. No compatible con texture, pbr, quad ni smart_low_poly — véase la nota a continuación
compress
cadena
No
-
Tipo de compresión. geometry (compresión de tienda)
No compatible con texture, pbr, quad ni smart_low_poly:
texture=true o pbr=true — incluida la omisión de texture, que por defecto es true — la solicitud se rechaza con el código de error 1004.
quad=true — quad se ignora; las piezas devueltas son mallas de triángulos.
smart_low_poly=true — smart_low_poly tiene prioridad y las piezas NO se producen.
Para generar piezas, establezca texture=false y pbr=false, y no envíe quad ni smart_low_poly.
Notas sobre export_orientation:
Se aplica solo a esta generación. Si el modelo se va a usar en tareas de postprocesamiento (textura, rig, reorientación, conversión, …), se recomienda no establecer este parámetro.
Si se establece, el postprocesamiento puede afectar el resultado final debido a una orientación incorrecta del modelo, aunque la tarea siga informando status: success — no se genera ningún error. Úselo con precaución.
Si planea postprocesar el modelo, deje este parámetro sin definir y convierta la orientación en el último paso mediante /v3/models/convert.
Los siguientes parámetros solo son válidos cuando model >= tripo-v3.0: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
formatos de entradas
clave de vista (recomendado)
Cada elemento de la matriz es un objeto con exactamente una clave entre front, left, back o right. El orden no importa; el servidor canonicaliza a [front, left, back, right]. Se requiere front; al menos dos vistas no deben estar vacías.
Pase el ID de una tarea generate_multiview_image o edit_multiview_image anterior para reutilizar su salida de 4 vistas para la generación 3D. inputs debe ser una matriz de un solo elemento con un objeto task_id; no lo mezcle con clave de vista o ranuras posicionales. La tarea de origen debe estar en estado success.