# Smart UV

**Base URL:** `https://openapi.tripo3d.com/v3`

**Endpoint:** `POST /mesh/uv`

Re-unwrap a 3D model's UVs and remap the existing textures, rigging and animation onto the new layout. Besides the model, the result also carries a UV atlas preview image.

## Request Parameters

### input

- **Type:** string
- **Required:** Required

Model source. Accepts task_id, file_token, or URL. Accepts the following input types:**Choose exactly one** of the following — do not pass multiple types simultaneously.

- task_id — The task ID returned by a previous 3D generation task (`text_to_model`, `image_to_model`, or `multiview_to_model`). The system automatically uses the 3D model output from that task.
Example: `task_abc123`
- file_token — Upload a 3D model file via the File Upload API first, then pass the returned token.
Example: `file_abc123`
- URL — A publicly accessible direct link to a 3D model file.
Example: `https://example.com/model.glb`



- The input model must not exceed **80,000 equivalent triangles** (a quad counts as two). Larger models are accepted at creation but the task fails, and the credits are refunded — reduce the polycount first, for example with Retopology.

### model

- **Type:** string
- **Required:** Optional
- **Default:** `default`

Smart UV model version. Only `default` is supported.
### bake

- **Type:** boolean
- **Required:** Optional
- **Default:** `true`

Bake the existing textures onto the new UV layout. Set to false to skip texture baking and return geometry with UVs only.
### export_orientation

- **Type:** string
- **Required:** Optional

Exported model facing. One of `+x`, `-x`, `+y`, `-y`.
### compress

- **Type:** string
- **Required:** Optional

Compression type.
- `geometry` — meshopt compression for reduced file size.



- The following parameters are only valid when `model ≥ v3.0-20250812`: `texture_quality`, `geometry_quality`, `auto_size`, `quad`, `smart_low_poly`, `generate_parts`, `compress`.


## Request Example

### Task reference

```bash
curl --request POST \
  --url https://openapi.tripo3d.com/v3/mesh/uv \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "input": "task_abc123"
}'
```

### File token, no texture bake

```bash
curl --request POST \
  --url https://openapi.tripo3d.com/v3/mesh/uv \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "input": "file_<your-upload-token>",
  "model": "default",
  "bake": false
}'
```


## Response Example

### Create task

```json
{
  "code": 0,
  "data": {
    "task_id": "task_abc123"
  }
}
```

### Task result

```json
{
  "code": 0,
  "data": {
    "task_id": "task_abc123",
    "type": "mesh_uv",
    "status": "success",
    "progress": 100,
    "output": {
      "model_url": "https://cdn.tripo3d.ai/output/model.glb",
      "uv_render_url": "https://cdn.tripo3d.ai/output/uv_render.webp"
    },
    "credits_consumed": 20.00,
    "created_at": "2026-09-20T12:00:00Z",
    "completed_at": "2026-09-20T12:01:30Z"
  }
}
```
