http
Base URL: https://openapi.tripo3d.ai/v3
Endpoint: POST /models/convert
Convert a 3D model to another format with optional mesh processing, texture baking, and export settings.
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
formatstringRequired
Target export format.
GLTF— web viewers, WebGL engines.FBX— Unreal, Unity, DCC tools.USDZ— Apple AR Quick Look.OBJ— legacy exchange, no animation.STL— 3D printing, geometry only.3MF— 3D with single color.
Notes
GLTF— web viewers, WebGL engines (Three.js, Babylon.js).FBX— Unreal, Unity, DCC tools (Maya, Blender).USDZ— Apple AR Quick Look, RealityKit.OBJ— legacy exchange, no animation.STL/3MF— 3D printing, geometry only.
quadbooleandefault: false
Whether to output a quad mesh (four-sided polygons) instead of triangles. If
face_limit is not set, the default face count will be 10,000.Enabling
quad will force the output format to FBX.force_symmetrybooleandefault: false
Force symmetry. Only valid when quad is true.
face_limitinteger
Maximum polycount for the output mesh. If omitted, the original face count is preserved.
flatten_bottombooleandefault: false
Flatten the bottom of the model.
flatten_bottom_thresholdfloatdefault: 0.01
Flattening depth threshold.
texture_sizeintegerdefault: 4096
Diffuse texture size in pixels.
texture_formatstringdefault: JPEG
Texture image format.
JPEG— default, smallest file size.PNG— lossless, supports transparency.WEBP— modern web format.BMP/DPX/HDR/OPEN_EXR/TARGA/TIFF— specialized use.
bakebooleandefault: true
Bake advanced materials into base textures.
pack_uvbooleandefault: false
Pack all UVs into a unified layout.
export_vertex_colorsbooleandefault: false
Include vertex colors. Only valid for
OBJ and GLTF.pivot_to_center_bottombooleandefault: false
Move the pivot to the bottom center.
scale_factorfloatdefault: 1
Scale factor for the exported model.
with_animationbooleandefault: true
Include skeleton and animation data.
animate_in_placebooleandefault: false
In-place animation (no root displacement).
part_namesstring[]
Names of parts to export, from mesh/segment data.
export_orientationstringdefault: +x
Export orientation (forward axis).
+x— default, X-forward.-x— negative X-forward.-y— negative Y-forward.+y— Y-forward.
fbx_presetstringdefault: blender
FBX compatibility preset.
blender— optimized for Blender import.3dsmax— optimized for 3ds Max import.mixamo— compatible with Mixamo rigging.
Examples
To FBX
{
"input": "task_abc123",
"format": "FBX",
"texture_size": 2048,
"texture_format": "PNG",
"pivot_to_center_bottom": true,
"fbx_preset": "blender"}To GLTF
{
"input": "task_abc123",
"format": "GLTF",
"texture_size": 4096,
"bake": 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,
"created_at": "2026-04-28T12:00:00Z",
"completed_at": "2026-04-28T12:01:30Z"}
}