# Multivisualização para modelo 3D
> **POST** `/v3/generation/multiview-to-model`
Gere um modelo 3D a partir de imagens multiview.
## Parâmetros de solicitação
### Solicitar cabeçalhos
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| Content-Type | cadeia | Sim | - | `application/json` |
| Authorization | cadeia | Sim | - | `Bearer {api_key}` |
### Corpo da Solicitação
| Parâmetro | Tipo | Obrigatório | Padrão | Descrição |
| :-: | :-: | :-: | :-: | :-: |
| inputs | objeto[] \ | sequência[4] | Sim | - | Imagens multivisualização. **Três formatos — use exatamente um, não misture.** **view-key (recomendado)**: `[{"front":"..."},{"back":"..."}]` com chaves `front`/`left`/`back`/`right`; os valores são URL, `file_token` ou `{url}`/`{file_token}`/`{object:{bucket,key}}` aninhados. A ordem não importa; são necessárias pelo menos 2 visualizações, incluindo `front`. **posicional legado**: array fixo de 4 strings `[front, left, back, right]`; string vazia pula um slot. **task_id**: `[{"task_id":"<uuid>"}]` (matriz de elemento único) para reutilizar a saída de 4 visualizações de uma tarefa `generate_multiview_image` ou `edit_multiview_image` anterior; a tarefa de origem deve ser `success` |
| model | cadeia | Não | `tripo-v3.1` | Versão do modelo AI. Valores suportados: `tripo-p1`, `tripo-turbo`, `tripo-v3.1`, `tripo-v3.0`, `tripo-v2.5`, `tripo-v2.0` |
| face_limit | inteiro | Não | Adaptativo | Polycount máximo para a saída |
| texture | booleano | Não | `true` | Habilitar mapas de textura |
| pbr | booleano | Não | `true` | Habilite materiais PBR. Quando ativado, `texture` é forçado a `true` |
| texture_seed | inteiro | Não | Aleatório | Semente aleatória para geração de textura |
| texture_quality | cadeia | Não | `standard` | Qualidade de textura. Valores suportados: `standard`, `detailed`, `extreme` |
| geometry_quality | cadeia | Não | `standard` | Qualidade geométrica. `standard` (balanceado), `detailed` (modo Ultra) |
| auto_size | booleano | Não | `false` | Dimensione automaticamente o modelo para dimensões do mundo real em metros |
| quad | booleano | Não | `false` | Produza uma malha quádrupla. Quando ativado, o formato de saída é forçado para FBX |
| smart_low_poly | booleano | Não | `false` | Gere um modelo low-poly com estilo de topologia artesanal |
| generate_parts | booleano | Não | `false` | Gere peças segmentadas editáveis. Mutuamente exclusivo com `texture=true`, `pbr=true` e `quad=true` |
| compress | cadeia | Não | - | Tipo de compressão. `geometry` (compressão meshopt) |
Os seguintes parâmetros são válidos apenas quando `model >= tripo-v3.0`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.
## formatos de entrada
### chave de visualização (recomendado)
Cada elemento da matriz é um objeto com exatamente uma chave entre `front`, `left`, `back` ou `right`. A ordem não importa; o servidor canoniza para `[front, left, back, right]`. `front` é obrigatório; pelo menos duas visualizações não devem estar vazias.
**Com 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"
}
```
**Com file_tokens (obtido através do upload do arquivo 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"
}
```
### posicional legado
Exatamente quatro strings na ordem `[front, left, back, right]`. Use uma sequência vazia `""` para ignorar uma visualização.
```json
{
"inputs": [
"file_front_token",
"",
"https://example.com/back.png",
"https://example.com/right.png"
]
}
```
### task_id (reutilizar tarefa de multivisualização)
Passe o ID de uma tarefa `generate_multiview_image` ou `edit_multiview_image` anterior para reutilizar sua saída de 4 visualizações para geração 3D. `inputs` deve ser uma matriz de elemento único com um objeto `task_id` — não misture com chave de visualização ou slots posicionais. A tarefa de origem deve estar no status `success`.
```json
{
"inputs": [
{"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"texture": true,
"pbr": true
}
```
## Exemplos de solicitação
### 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);
```
## Resposta
### Resposta de sucesso
```json
{
"code": 0,
"data": {
"task_id": "task_abc123"
}
}
```
### Campos de resposta
| Parâmetro | Tipo | Descrição |
| :-: | :-: | :-: |
| code | inteiro | Código de status. `0` indica sucesso |
| data.task_id | cadeia | Identificador de tarefa exclusivo usado para consultar o progresso e os resultados da geração |
## Códigos de erro
| Código de status HTTP | Código de erro | Descrição | Recomendação |
| :-: | :-: | :-: | :-: |
| 429 | 2000 | Limite de geração excedido | Reduza a frequência de solicitações e tente novamente mais tarde |
| 400 | 2002 | Parâmetro de solicitação não compatível | Verifique os nomes dos parâmetros do corpo da solicitação e os intervalos de valores |
| 400 | 2003 | O arquivo de entrada está vazio | Confirme se o arquivo enviado não está vazio ou se URL está acessível |
| 400 | 2004 | Tipo de arquivo não suportado | Use um formato de imagem compatível (PNG, JPEG, WebP) |
| 400 | 2008 | A entrada viola a política de conteúdo | Substitua a imagem de entrada e remova o conteúdo que viola a política |
| 403 | 2010 | Créditos insuficientes | Adicione créditos e tente novamente |
| 400 | 2015 | Versão do modelo obsoleta | Atualize `model` para uma versão atualmente suportada |
| 400 | 2018 | O modelo é muito complexo para ser refeito | Reduza `face_limit` ou simplifique a entrada |
Multivisualização para modelo 3D
POST/v3/generation/multiview-to-model
Gere um modelo 3D a partir de imagens multiview.
Parâmetros de solicitação
Solicitar cabeçalhos
Parâmetro
Tipo
Obrigatório
Padrão
Descrição
Content-Type
cadeia
Sim
-
application/json
Authorization
cadeia
Sim
-
Bearer {api_key}
Corpo da Solicitação
Parâmetro
Tipo
Obrigatório
Padrão
Descrição
inputs
objeto[] \
sequência[4]
Sim
-
model
cadeia
Não
tripo-v3.1
Versão do modelo AI. Valores suportados: tripo-p1, tripo-turbo, tripo-v3.1, tripo-v3.0, tripo-v2.5, tripo-v2.0
face_limit
inteiro
Não
Adaptativo
Polycount máximo para a saída
texture
booleano
Não
true
Habilitar mapas de textura
pbr
booleano
Não
true
Habilite materiais PBR. Quando ativado, texture é forçado a true
texture_seed
inteiro
Não
Aleatório
Semente aleatória para geração de textura
texture_quality
cadeia
Não
standard
Qualidade de textura. Valores suportados: standard, detailed, extreme
geometry_quality
cadeia
Não
standard
Qualidade geométrica. standard (balanceado), detailed (modo Ultra)
auto_size
booleano
Não
false
Dimensione automaticamente o modelo para dimensões do mundo real em metros
quad
booleano
Não
false
Produza uma malha quádrupla. Quando ativado, o formato de saída é forçado para FBX
smart_low_poly
booleano
Não
false
Gere um modelo low-poly com estilo de topologia artesanal
generate_parts
booleano
Não
false
Gere peças segmentadas editáveis. Mutuamente exclusivo com texture=true, pbr=true e quad=true
compress
cadeia
Não
-
Tipo de compressão. geometry (compressão meshopt)
Os seguintes parâmetros são válidos apenas quando model >= tripo-v3.0: texture_quality, geometry_quality, auto_size, quad, smart_low_poly, generate_parts, compress.
formatos de entrada
chave de visualização (recomendado)
Cada elemento da matriz é um objeto com exatamente uma chave entre front, left, back ou right. A ordem não importa; o servidor canoniza para [front, left, back, right]. front é obrigatório; pelo menos duas visualizações não devem estar vazias.
Passe o ID de uma tarefa generate_multiview_image ou edit_multiview_image anterior para reutilizar sua saída de 4 visualizações para geração 3D. inputs deve ser uma matriz de elemento único com um objeto task_id — não misture com chave de visualização ou slots posicionais. A tarefa de origem deve estar no status success.