# Text to 3D Model — P Series

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

**Endpoint:** `POST /generation/text-to-model`

Generate a 3D model from a text prompt using P Series. Optimized for low-poly output with clean topology.

## Request Parameters

### prompt

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

Text prompt, up to 1024 characters. Describe shape, material, style, and scale.


- Good: "A low-poly medieval wooden treasure chest with iron hinges and a rusty lock."
- Bad: "A box."
- Include material and style hints for better PBR results.

### negative_prompt

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

Negative prompt, up to 255 characters. Describe what you do NOT want in the generated model. For example: "blurry, low quality, broken mesh".
### image_seed

- **Type:** integer
- **Required:** Optional

Random seed for the internal text-to-image stage. Controls the reference image generated from your text prompt before 3D conversion. If not set, a random seed is used each time.
### model

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

P Series model version.
- `P1-20260311` — optimized for low-poly generation.

### model_seed

- **Type:** integer
- **Required:** Optional

Random seed for geometry generation. Using the same seed with the same input will produce an identical 3D mesh. If not set, a random seed is used each time.
### face_limit

- **Type:** integer
- **Required:** Optional

Maximum polycount for the output mesh.


- Supported range: **50 – 20,000**
- If omitted, adaptively determined.
For best quality: simple models start from **150** faces, complex models start from **250** faces. Lower values may result in poor generation quality.

### texture

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

Whether to generate texture maps for the model. Set to false to get a bare geometry without any textures. Default is true.
### pbr

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

Enable PBR material maps (`base_color`, `metallic`, `roughness`, `normal`).When `pbr` is set to `true`, `texture` will be automatically forced to `true`.

### texture_seed

- **Type:** integer
- **Required:** Optional

Random seed for texture generation. Using the same seed will produce identical textures. If not set, a random seed will be used each time. To get a model with different textures but the same geometry, keep model_seed unchanged and vary texture_seed.
### texture_quality

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

Texture quality level.
- `standard` — balanced quality and speed.
- `detailed` — higher fidelity, slower generation.
- `extreme` — 8K textures, highest fidelity. Costs additional credits compared to detailed.

### auto_size

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

Whether to automatically scale the generated model to real-world dimensions. When enabled, the model size will be in meters, suitable for AR/VR or game engine scenes. Default is false.
### 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`.

### export_uv

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

Controls UV unwrapping. Set `false` for faster generation and smaller file size.

## Request Example

### P Series

```bash
curl --request POST \
  --url https://openapi.tripo3d.com/v3/generation/text-to-model \
  --header 'Authorization: Bearer <token>' \
  --header 'Content-Type: application/json' \
  --data '{
  "prompt": "A cat wearing a spacesuit",
  "model": "P1-20260311",
  "face_limit": 3000,
  "texture": true,
  "pbr": true
}'
```


## Response Example

### Create task

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

### Task result

```json
{
  "code": 0,
  "data": {
    "task_id": "task_abc123",
    "type": "text_to_model",
    "status": "success",
    "progress": 100,
    "output": {
      "model_url": "https://cdn.tripo3d.ai/output/model_pbr.glb",
      "rendered_image_url": "https://cdn.tripo3d.ai/output/preview.png"
    },
    "credits_consumed": 100,
    "created_at": "2026-04-28T12:00:00Z",
    "completed_at": "2026-04-28T12:01:30Z"
  }
}
```
