# UV inteligente
> **POST** `/v3/mesh/uv`
Vuelve a desplegar las UV de un modelo 3D y reasigna sus texturas, rigging y animaciones existentes al nuevo diseño.
Cada tarea cuesta **20** créditos. El resultado incluye `model_url` y una vista previa del diseño UV `uv_render_url`. El modelo de entrada no debe superar **80.000 triángulos equivalentes** (un cuadrilátero cuenta como dos); los modelos mayores se aceptan al crear la tarea, pero esta falla y se reembolsan los créditos.
## 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}` |
### Cuerpo de solicitud
| Parámetro | Tipo | Requerido | Predeterminado | Descripción |
| :-: | :-: | :-: | :-: | :-: |
| input | cadena | si | — | Origen del modelo. Acepta un task_id, un file_token o una URL |
| model | cadena | No | `default` | Versión del modelo UV inteligente. Solo se admite `default` |
| bake | booleano | No | `true` | Hornear las texturas existentes en el nuevo diseño UV. Con `false` solo se devuelve la geometría con UV |
| export_orientation | cadena | No | — | Orientación del modelo exportado: `+x`, `-x`, `+y` o `-y` |
| compress | cadena | No | — | Tipo de compresión. `geometry`: compresión meshopt |
## Ejemplos de solicitudes
### curl
```bash
curl -X POST https://openapi.tripo3d.ai/v3/mesh/uv \
-H "Content-Type: application/json" \
-H "Authorization: Bearer {api_key}" \
-d '{
"input": "task_abc123",
"bake": true
}'
```
### Python
```python
import requests
url = "https://openapi.tripo3d.ai/v3/mesh/uv"
headers = {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
}
payload = {
"input": "task_abc123",
"bake": True
}
response = requests.post(url, headers=headers, json=payload)
print(response.json())
```
### JavaScript
```javascript
const url = "https://openapi.tripo3d.ai/v3/mesh/uv";
const response = await fetch(url, {
method: "POST",
headers: {
"Content-Type": "application/json",
"Authorization": "Bearer {api_key}"
},
body: JSON.stringify({
input: "task_abc123",
bake: true
})
});
const data = await response.json();
console.log(data);
```
## Respuesta
### Respuesta exitosa
```json
{
"code": 0,
"data": {
"task_id": "task_def456"
}
}
```
### Campos de respuesta
| Parámetro | Tipo | Descripción |
| :-: | :-: | :-: |
| code | entero | Código de estado. `0` indica éxito |
| data.task_id | cadena | Identificador único de la tarea para consultar el progreso y el resultado |
## 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 tasa de solicitudes y vuelva a intentarlo más tarde |
| 400 | 1004 | Parámetro o entrada no válidos | Revise los nombres, valores y el origen de entrada |
| 403 | 2010 | Créditos insuficientes | Recarga créditos y vuelve a intentarlo |
UV inteligente
POST/v3/mesh/uv
Vuelve a desplegar las UV de un modelo 3D y reasigna sus texturas, rigging y animaciones existentes al nuevo diseño.
Cada tarea cuesta 20 créditos. El resultado incluye model_url y una vista previa del diseño UV uv_render_url. El modelo de entrada no debe superar 80.000 triángulos equivalentes (un cuadrilátero cuenta como dos); los modelos mayores se aceptan al crear la tarea, pero esta falla y se reembolsan los créditos.
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}
Cuerpo de solicitud
Parámetro
Tipo
Requerido
Predeterminado
Descripción
input
cadena
si
—
Origen del modelo. Acepta un task_id, un file_token o una URL
model
cadena
No
default
Versión del modelo UV inteligente. Solo se admite default
bake
booleano
No
true
Hornear las texturas existentes en el nuevo diseño UV. Con false solo se devuelve la geometría con UV