http
Base URL: https://openapi.tripo3d.ai/v3
Endpoint: POST /mesh/decimate
Reduce model polycount with two algorithm tiers. Use model=v2.0 (default) for smart highpoly-to-lowpoly retopology with clean topology preservation, or model=v1.0 for basic decimation.
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
inputstringRequired
Model source. Accepts task_id or file_token. 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, ormultiview_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
Notes
- Supported formats:
GLB,GLTF,FBX,OBJ,STL - Max file size: 150 MB
modelstringdefault: v2.0
Retopology algorithm version.
Smart Retopology — P-series AI model that rebuilds clean topology with edge preservation and detail retention.
face_limit: optional. Triangle: 500–20,000; Quad: 500–10,000. Adaptive if omitted.quad: supportedbake: supported (default true)part_names: supportedformat: not supported (output GLB)
face_limitintegerConditional
Target polycount.
Optional. Triangle: 500–20,000. Quad: 500–10,000. Omit for adaptive reduction.
quadbooleandefault: false
Output a quad mesh. Supported by both v1.0 and v2.0.
bakebooleandefault: true
v1.0 does not support this parameter.
Bake textures onto the low-poly model.
part_namesstring[]
v1.0 does not support this parameter.
Names of parts to decimate (from segmentation).
Examples
v2.0 Smart
{
"input": "task_abc123",
"model": "v2.0",
"face_limit": 5000,
"quad": false,
"bake": true
}v1.0 Basic
{
"input": "task_abc123",
"model": "v1.0",
"face_limit": 3000
}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,
"created_at": "2026-04-28T12:00:00Z",
"completed_at": "2026-04-28T12:01:30Z"}
}