# Texto a modelo 3D
> **POST** `/v3/generation/text-to-model`
Genere un modelo 3D a partir de un mensaje de texto.
## 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 |
| :-: | :-: | :-: | :-: | :-: |
| prompt | cadena | si | - | Mensaje de texto, hasta 1024 caracteres |
| 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` |
| negative_prompt | cadena | No | - | Mensaje negativo, hasta 255 caracteres |
| model_seed | entero | No | Aleatorio | Semilla aleatoria para la generación de geometría. |
| image_seed | entero | No | Aleatorio | Semilla aleatoria para la etapa de conversión de texto a imagen |
| 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`.
## Ejemplos de solicitudes
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/generation/text-to-model \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"prompt": "A cat wearing a spacesuit",
"model": "tripo-v3.1",
"texture": true,
"pbr": true,
"texture_quality": "detailed"
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/generation/text-to-model"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"prompt": "A cat wearing a spacesuit",
"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/text-to-model";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
prompt: "A cat wearing a spacesuit",
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 | 2008 | La entrada viola la política de contenido. | Revisar el mensaje y eliminar las descripciones que infrinjan la política. |
| 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. | Reduzca `face_limit` o simplifique el mensaje de entrada |
Texto a modelo 3D
POST/v3/generation/text-to-model
Genere un modelo 3D a partir de un mensaje de texto.
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
prompt
cadena
si
-
Mensaje de texto, hasta 1024 caracteres
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
negative_prompt
cadena
No
-
Mensaje negativo, hasta 255 caracteres
model_seed
entero
No
Aleatorio
Semilla aleatoria para la generación de geometría.
image_seed
entero
No
Aleatorio
Semilla aleatoria para la etapa de conversión de texto a imagen
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.