http
Base URL: https://openapi.tripo3d.ai/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.
Note
- This endpoint requires an API Key. Include it in the Authorization header as Bearer {api_key}.
- This is an asynchronous API. After submitting the request, use the Task Query API to poll for results, or configure a Webhook to receive automatic notifications when the task completes.
Request Parameters
Request Body
promptstringRequired
Text prompt, up to 1024 characters. Describe shape, material, style, and scale.
Notes
- 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_promptstring
Negative prompt, up to 255 characters. Describe what you do NOT want in the generated model. For example: "blurry, low quality, broken mesh".
image_seedinteger
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.
modelstringRequired
P Series model version.
P1-20260311— optimized for low-poly generation.P2-20260801— next-gen P Series with quad output support. Preview
model_seedinteger
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_limitinteger
Maximum polycount for the output mesh.
Notes
P1-20260311: 50 – 20,000P2-20260801triangle: 48 – 50,000; withquad=true: 48 – 25,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.
texturebooleandefault: true
Whether to generate texture maps for the model. Set to false to get a bare geometry without any textures. Default is true.
pbrbooleandefault: true
Enable PBR material maps (
base_color, metallic, roughness, normal).When
pbr is set to true, texture will be automatically forced to true.texture_seedinteger
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_qualitystringdefault: 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_sizebooleandefault: 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.
export_uvbooleandefault: true
Controls UV unwrapping. Set
false for faster generation and smaller file size.export_orientationstringdefault: +x
Export orientation (forward axis).
+x— default, X-forward.-x— negative X-forward.-y— negative Y-forward.+y— Y-forward.
Notes
- Applies to this generation only. If the model will be used in post-processing tasks (texture, rig, retarget, convert, ...), it is recommended not to set this parameter.
- When set, post-processing the model may produce a wrongly-oriented result while the task still reports
status: success— no error is raised. Use with caution. - If you plan to post-process the model, leave this unset and convert the orientation in the last step via
/v3/models/convert.
quadbooleandefault: false
P2-20260801 only. Whether to output a quad mesh (four-sided polygons) instead of triangles.
Examples
P Series
{
"prompt": "A cat wearing a spacesuit",
"model": "P1-20260311",
"face_limit": 3000,
"texture": true,
"pbr": true
}P2 Series
{
"prompt": "A low-poly wooden chair",
"model": "P2-20260801",
"quad": true,
"face_limit": 5000,
"texture": true,
"pbr": true
}Create task
{
"code": 0,
"data": {
"task_id": "task_abc123"}
}Task result
{
"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.00,
"created_at": "2026-04-28T12:00:00Z",
"completed_at": "2026-04-28T12:01:30Z"}
}