# tripo-h3.1 3D Model Generation Status

> Common

Query the status of an asynchronous task. After the task succeeds, `output.urls` contains the model file URL, `output.data` contains upstream task information such as the preview image, and `usage` contains the billing items of the task (item: count).

Model file and preview image URLs are signed and expire (about 24 hours). Download and store them promptly after the task succeeds.

## Endpoint

`GET https://api.modelverse.cn/v1/tasks/status`

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| task_id | query | string | Yes | The `output.task_id` returned by `/v1/tasks/submit`. |

## Responses

- **200** — Task status response.
- **400** — Invalid task ID or no permission to access the task.
- **default** — Error response.

## OpenAPI Definition

```json
{
  "openapi": "3.1.0",
  "x-language": "en-US",
  "info": {
    "title": "tripo-h3.1 3D Model Generation API",
    "version": "1.0.0",
    "description": "This document describes the ModelVerse API for `tripo-h3.1`, including text-to-3D, image-to-3D, and multiview-to-3D task submission, task status queries, model files, and billing usage.\nThe endpoints are `POST /v1/tasks/submit` and `GET /v1/tasks/status`.\n"
  },
  "servers": [
    {
      "url": "https://api.modelverse.cn",
      "description": "ModelVerse API endpoint used by this model document."
    }
  ],
  "tags": [
    {
      "name": "tripo-h3.1",
      "description": "Asynchronous 3D model generation with tripo-h3.1."
    }
  ],
  "paths": {
    "/v1/tasks/submit": {
      "post": {
        "tags": [
          "tripo-h3.1"
        ],
        "operationId": "submitTripoH31Task",
        "summary": "tripo-h3.1 3D Model Generation",
        "description": "Submit an asynchronous 3D model generation task. Use `parameters.type` to choose the generation mode:\n\n| `parameters.type` | Mode | Input |\n|---|---|---|\n| `text-to-model` | Text to 3D | `input.prompt` |\n| `image-to-model` | Image to 3D | `input.img_url` |\n| `multiview-to-model` | Multiview to 3D | `input.views` |\n\nBy default the output is a GLB model with PBR textures; when `quad=true` the output is FBX. Only the three modes above are available; any other value returns a parameter error.\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "requestBody": {
          "required": true,
          "content": {
            "application/json": {
              "schema": {
                "$ref": "#/components/schemas/TripoH31SubmitRequest"
              },
              "examples": {
                "textToModel": {
                  "summary": "Text to 3D (standard texture)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "prompt": "A low-poly medieval wooden chest with iron hinges and a rusty lock"
                    },
                    "parameters": {
                      "type": "text-to-model"
                    }
                  }
                },
                "textToModelNoTexture": {
                  "summary": "Text to 3D (untextured, detailed geometry)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "prompt": "An exquisite silver longsword with an engraved hilt",
                      "negative_prompt": "blurry, low quality, broken mesh"
                    },
                    "parameters": {
                      "type": "text-to-model",
                      "texture": false,
                      "pbr": false,
                      "geometry_quality": "detailed"
                    }
                  }
                },
                "imageToModel": {
                  "summary": "Image to 3D (detailed texture)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "img_url": "https://example.com/boy.png"
                    },
                    "parameters": {
                      "type": "image-to-model",
                      "texture_quality": "detailed"
                    }
                  }
                },
                "imageToModelQuad": {
                  "summary": "Image to 3D (quad mesh, FBX output)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "img_url": "https://example.com/boy.png"
                    },
                    "parameters": {
                      "type": "image-to-model",
                      "quad": true,
                      "face_limit": 10000
                    }
                  }
                },
                "multiviewToModel": {
                  "summary": "Multiview to 3D (8K texture)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "views": [
                        {
                          "front": "https://example.com/front.png"
                        },
                        {
                          "back": "https://example.com/back.png"
                        },
                        {
                          "right": "https://example.com/right.png"
                        }
                      ]
                    },
                    "parameters": {
                      "type": "multiview-to-model",
                      "texture_quality": "extreme"
                    }
                  }
                },
                "multiviewToModelParts": {
                  "summary": "Multiview to 3D (parts, texture must be off)",
                  "value": {
                    "model": "tripo-h3.1",
                    "input": {
                      "views": [
                        {
                          "front": "https://example.com/front.png"
                        },
                        {
                          "left": "https://example.com/left.png"
                        }
                      ]
                    },
                    "parameters": {
                      "type": "multiview-to-model",
                      "generate_parts": true,
                      "texture": false,
                      "pbr": false
                    }
                  }
                }
              }
            }
          }
        },
        "responses": {
          "200": {
            "description": "Task submitted successfully.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoSubmitResponse"
                },
                "examples": {
                  "submitted": {
                    "summary": "Submitted task",
                    "value": {
                      "output": {
                        "task_id": "722d9574-7639-4be9-b98f-6adb9f6429e3"
                      },
                      "request_id": "1de5ba89-7068-461d-8e7f-16cff0edb52a"
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid parameters or parameter combination. No task is created and nothing is billed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoErrorResponse"
                },
                "examples": {
                  "partsWithTexture": {
                    "$ref": "#/components/examples/TripoPartsWithTextureError"
                  },
                  "missingFrontView": {
                    "$ref": "#/components/examples/TripoMissingFrontViewError"
                  }
                }
              }
            }
          },
          "500": {
            "description": "The upstream service returned an error (the message contains the upstream error code). No task is created and nothing is billed.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoErrorResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoErrorResponse"
                }
              }
            }
          }
        }
      }
    },
    "/v1/tasks/status": {
      "get": {
        "tags": [
          "tripo-h3.1"
        ],
        "operationId": "getTripoH31TaskStatus",
        "summary": "tripo-h3.1 3D Model Generation Status",
        "description": "Query the status of an asynchronous task. After the task succeeds, `output.urls` contains the model file URL, `output.data` contains upstream task information such as the preview image, and `usage` contains the billing items of the task (item: count).\n\nModel file and preview image URLs are signed and expire (about 24 hours). Download and store them promptly after the task succeeds.\n",
        "security": [
          {
            "bearerAuth": []
          }
        ],
        "parameters": [
          {
            "name": "task_id",
            "in": "query",
            "required": true,
            "description": "The `output.task_id` returned by `/v1/tasks/submit`.",
            "schema": {
              "type": "string"
            },
            "example": "722d9574-7639-4be9-b98f-6adb9f6429e3"
          }
        ],
        "responses": {
          "200": {
            "description": "Task status response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoStatusResponse"
                },
                "examples": {
                  "success": {
                    "summary": "Successful task (image to 3D, detailed texture)",
                    "value": {
                      "output": {
                        "task_id": "6b40698a-f677-4f31-b4b4-6f3825e12b5f",
                        "task_status": "Success",
                        "urls": [
                          "https://openapi.cdn.tripo3d.com/xxx/tripo_pbr_model_6b40698a-f677-4f31-b4b4-6f3825e12b5f.glb?auth_key=xxx"
                        ],
                        "data": {
                          "type": "image_to_model",
                          "progress": 100,
                          "input": {
                            "resource_url": "https://example.com/boy.png"
                          },
                          "output": {
                            "rendered_image_url": "https://openapi.cdn.tripo3d.com/xxx/legacy_mesh.webp?auth_key=xxx"
                          }
                        },
                        "submit_time": 1793155356,
                        "finish_time": 1793155477
                      },
                      "usage": {
                        "prompt_tokens": 0,
                        "completion_tokens": 0,
                        "total_tokens": 0,
                        "model3d_image_count": 1,
                        "model3d_texture_count": 1,
                        "model3d_texture_detailed_count": 1
                      },
                      "request_id": ""
                    }
                  },
                  "running": {
                    "summary": "Running task",
                    "value": {
                      "output": {
                        "task_id": "722d9574-7639-4be9-b98f-6adb9f6429e3",
                        "task_status": "Running",
                        "data": {
                          "type": "text_to_model",
                          "progress": 35,
                          "input": {
                            "prompt": "A low-poly medieval wooden chest with iron hinges and a rusty lock",
                            "texture": true,
                            "pbr": true,
                            "model_version": "v3.1-20260211",
                            "geometry_quality": "standard"
                          }
                        },
                        "submit_time": 1793155356
                      },
                      "usage": {
                        "prompt_tokens": 0,
                        "completion_tokens": 0,
                        "total_tokens": 0
                      },
                      "request_id": ""
                    }
                  },
                  "failure": {
                    "summary": "Failed task (not billed)",
                    "value": {
                      "output": {
                        "task_id": "722d9574-7639-4be9-b98f-6adb9f6429e3",
                        "task_status": "Failure",
                        "submit_time": 1793155356,
                        "finish_time": 1793155380,
                        "error_message": "task failed"
                      },
                      "usage": {
                        "prompt_tokens": 0,
                        "completion_tokens": 0,
                        "total_tokens": 0
                      },
                      "request_id": ""
                    }
                  }
                }
              }
            }
          },
          "400": {
            "description": "Invalid task ID or no permission to access the task.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoErrorResponse"
                }
              }
            }
          },
          "default": {
            "description": "Error response.",
            "content": {
              "application/json": {
                "schema": {
                  "$ref": "#/components/schemas/TripoErrorResponse"
                }
              }
            }
          }
        }
      }
    }
  },
  "components": {
    "securitySchemes": {
      "bearerAuth": {
        "type": "http",
        "scheme": "bearer",
        "bearerFormat": "API key",
        "description": "Send `Authorization: Bearer {your_api_key}` in the request headers."
      }
    },
    "schemas": {
      "TripoH31SubmitRequest": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "model",
          "input",
          "parameters"
        ],
        "properties": {
          "model": {
            "type": "string",
            "const": "tripo-h3.1",
            "description": "Model name. Fixed to `tripo-h3.1` in this document."
          },
          "input": {
            "$ref": "#/components/schemas/TripoInput"
          },
          "parameters": {
            "$ref": "#/components/schemas/TripoH31Parameters"
          }
        }
      },
      "TripoInput": {
        "type": "object",
        "additionalProperties": false,
        "description": "Generation input. Fill in the field that matches `parameters.type`: `prompt` for text to 3D, `img_url` for image to 3D, and `views` for multiview to 3D.\n",
        "properties": {
          "prompt": {
            "type": "string",
            "maxLength": 1024,
            "description": "Text prompt, required for `text-to-model`, up to 1024 characters. Describe the shape, material, style, and size, for example \"A low-poly medieval wooden chest with iron hinges and a rusty lock\". Material and style descriptions improve PBR texture quality.\n"
          },
          "negative_prompt": {
            "type": "string",
            "maxLength": 255,
            "description": "Negative prompt, only for `text-to-model`, up to 255 characters. Describes what should not appear in the model."
          },
          "img_url": {
            "type": "string",
            "format": "uri",
            "description": "Input image, required for `image-to-model`. Must be a publicly accessible HTTP/HTTPS image URL.\n\nSupports PNG, JPEG, and WebP, up to 20 MB. A resolution of at least 256 × 256 px is recommended. The subject should be clearly visible with a clean background and minimal occlusion.\n"
          },
          "views": {
            "type": "array",
            "minItems": 2,
            "maxItems": 4,
            "description": "Multiview input images, required for `multiview-to-model`. Each element is an object with exactly one view key: `front`, `left`, `back`, or `right`, whose value is a publicly accessible image URL. Element order does not matter.\n\nRules: the front view is required, at least 2 views are required, and each view can appear only once. All images should show the same object under consistent lighting. Image format and size requirements are the same as `img_url`.\n",
            "items": {
              "$ref": "#/components/schemas/TripoView"
            }
          }
        }
      },
      "TripoView": {
        "type": "object",
        "minProperties": 1,
        "maxProperties": 1,
        "additionalProperties": false,
        "properties": {
          "front": {
            "type": "string",
            "format": "uri",
            "description": "Front view URL."
          },
          "left": {
            "type": "string",
            "format": "uri",
            "description": "Left view URL."
          },
          "back": {
            "type": "string",
            "format": "uri",
            "description": "Back view URL."
          },
          "right": {
            "type": "string",
            "format": "uri",
            "description": "Right view URL."
          }
        }
      },
      "TripoH31Parameters": {
        "type": "object",
        "additionalProperties": false,
        "required": [
          "type"
        ],
        "properties": {
          "type": {
            "type": "string",
            "description": "Generation mode.",
            "enum": [
              "text-to-model",
              "image-to-model",
              "multiview-to-model"
            ]
          },
          "texture": {
            "type": "boolean",
            "default": true,
            "description": "Whether to generate textures. An untextured geometry-only model is produced only when `texture=false` and `pbr=false`."
          },
          "pbr": {
            "type": "boolean",
            "default": true,
            "description": "Whether to enable PBR material maps (base_color, metallic, roughness, normal). `pbr=true` forces texture generation."
          },
          "texture_quality": {
            "type": "string",
            "default": "standard",
            "description": "Texture quality, effective when textures are generated.\n- `standard`: balance between quality and speed.\n- `detailed`: detailed texture.\n- `extreme`: 8K texture.\n",
            "enum": [
              "standard",
              "detailed",
              "extreme"
            ]
          },
          "texture_version": {
            "type": "string",
            "description": "Texture model version, optional. `v3.0-20250812` is used when omitted. The texture model is independent of the geometry model and can be combined freely.\n- `v3.5-20260815`: latest texture model. Required for `delight` to take effect.\n- `v3.0-20250812`: default texture model.\n\nHas no effect when no texture is generated (`texture=false` and `pbr=false`). Any other value returns an error and no task is created.\n",
            "enum": [
              "v3.5-20260815",
              "v3.0-20250812"
            ]
          },
          "texture_seed": {
            "type": "integer",
            "description": "Random seed for texture generation. The same seed produces the same texture. Keep `model_seed` and change `texture_seed` to get the same geometry with different textures."
          },
          "delight": {
            "type": "boolean",
            "default": true,
            "description": "Whether to remove lighting from the reference image before texturing. Set to `false` to keep the original shading. Effective only with `texture_version=v3.5-20260815`."
          },
          "texture_alignment": {
            "type": "string",
            "default": "original_image",
            "description": "Texture alignment priority, only for `image-to-model` and `multiview-to-model`. `original_image` prioritizes matching the input image colors; `geometry` prioritizes matching the generated geometry.",
            "enum": [
              "original_image",
              "geometry"
            ]
          },
          "orientation": {
            "type": "string",
            "default": "default",
            "description": "Model orientation, only for `image-to-model` and `multiview-to-model` when textures are generated. `default` orients automatically; `align_image` aligns the model to the input image view.",
            "enum": [
              "default",
              "align_image"
            ]
          },
          "enable_image_autofix": {
            "type": "boolean",
            "default": false,
            "description": "Whether to automatically enhance the input image (low resolution or low quality) before generation. Only for `image-to-model`."
          },
          "geometry_quality": {
            "type": "string",
            "default": "standard",
            "description": "Geometry quality. `standard` balances quality and speed; `detailed` is ultra geometry with finer details. `ultra` is also accepted and is equivalent to `detailed`.\n",
            "enum": [
              "standard",
              "detailed",
              "ultra"
            ]
          },
          "face_limit": {
            "type": "integer",
            "minimum": 1,
            "description": "Maximum number of faces in the output mesh. Adaptive when omitted.\n- Triangles: up to 1,500,000 with standard geometry and 2,000,000 with detailed geometry.\n- Quads (`quad=true`): up to 150,000, 10,000 by default when omitted.\n- Smart low poly (`smart_low_poly=true`): 500–20,000 triangles or 500–10,000 quads.\n\nReference: 50,000–100,000 for game assets, 10,000–50,000 for web/mobile.\n"
          },
          "quad": {
            "type": "boolean",
            "default": false,
            "description": "Whether to output a quad mesh. The output format is forced to FBX. Ignored when `generate_parts` takes effect."
          },
          "smart_low_poly": {
            "type": "boolean",
            "default": false,
            "description": "Whether to generate a hand-crafted style low-poly model with clean topology. Best for simple inputs; complex models may occasionally fail."
          },
          "generate_parts": {
            "type": "boolean",
            "default": false,
            "description": "Whether to generate editable segmented parts.\n- `texture=false` and `pbr=false` must both be set, otherwise a parameter error is returned.\n- When sent with `smart_low_poly=true`, smart low poly takes precedence and no parts are produced.\n- When sent with `quad=true`, quad is ignored and triangle parts are returned.\n"
          },
          "auto_size": {
            "type": "boolean",
            "default": false,
            "description": "Whether to scale the model to real-world size (in meters), useful for AR/VR or game engines."
          },
          "compress": {
            "type": "string",
            "description": "Compression type. `geometry` uses meshopt compression to reduce file size.",
            "enum": [
              "geometry"
            ]
          },
          "export_uv": {
            "type": "boolean",
            "default": true,
            "description": "Whether to unwrap UVs during generation. Set to `false` to speed up generation and reduce file size; UV unwrapping is then handled during texturing."
          },
          "export_orientation": {
            "type": "string",
            "default": "+x",
            "description": "Export orientation (forward axis). Applies only to this generation; leave it empty if you plan further processing of the model.",
            "enum": [
              "+x",
              "-x",
              "-y",
              "+y"
            ]
          },
          "model_seed": {
            "type": "integer",
            "description": "Random seed for geometry generation. The same seed and input produce the same 3D mesh."
          },
          "image_seed": {
            "type": "integer",
            "description": "Random seed for the internal text-to-image stage of text to 3D. Only for `text-to-model`."
          }
        }
      },
      "TripoSubmitResponse": {
        "type": "object",
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "type": "object",
            "required": [
              "task_id"
            ],
            "properties": {
              "task_id": {
                "type": "string",
                "description": "Unique task ID used to query the task status."
              }
            }
          },
          "request_id": {
            "type": "string",
            "description": "Unique ID of this request, useful for troubleshooting."
          }
        }
      },
      "TripoStatusResponse": {
        "type": "object",
        "required": [
          "output",
          "request_id"
        ],
        "properties": {
          "output": {
            "$ref": "#/components/schemas/TripoStatusOutput"
          },
          "usage": {
            "$ref": "#/components/schemas/TripoUsage"
          },
          "request_id": {
            "type": "string",
            "description": "Request ID, currently always an empty string."
          }
        }
      },
      "TripoStatusOutput": {
        "type": "object",
        "required": [
          "task_id",
          "task_status"
        ],
        "properties": {
          "task_id": {
            "type": "string",
            "description": "Unique task ID."
          },
          "task_status": {
            "type": "string",
            "description": "Task status.",
            "enum": [
              "Pending",
              "Running",
              "Success",
              "Failure",
              "Expired"
            ]
          },
          "urls": {
            "type": "array",
            "description": "Model file URLs returned after the task succeeds (GLB by default, FBX when `quad=true`). The URLs are signed and expire; download them promptly.",
            "items": {
              "type": "string",
              "format": "uri"
            }
          },
          "data": {
            "$ref": "#/components/schemas/TripoTaskData"
          },
          "submit_time": {
            "type": "integer",
            "format": "int64",
            "description": "Task submission time (Unix timestamp, seconds)."
          },
          "finish_time": {
            "type": "integer",
            "format": "int64",
            "description": "Task finish time (Unix timestamp, seconds), returned once the task reaches a final state."
          },
          "error_message": {
            "type": "string",
            "description": "Error message when the task fails."
          }
        }
      },
      "TripoTaskData": {
        "type": "object",
        "additionalProperties": true,
        "description": "Upstream task information. Fields may change with the upstream. The model file URL is returned only in `output.urls`.",
        "properties": {
          "type": {
            "type": "string",
            "description": "Upstream task type, such as `text_to_model`, `image_to_model`, or `multiview_to_model`."
          },
          "progress": {
            "type": "integer",
            "minimum": 0,
            "maximum": 100,
            "description": "Task progress percentage."
          },
          "input": {
            "type": "object",
            "additionalProperties": true,
            "description": "Generation parameters echoed by the upstream (including defaults of omitted parameters), useful for checking the request."
          },
          "output": {
            "type": "object",
            "additionalProperties": true,
            "properties": {
              "rendered_image_url": {
                "type": "string",
                "format": "uri",
                "description": "Preview render URL of the model."
              },
              "generated_image_url": {
                "type": "string",
                "format": "uri",
                "description": "Intermediate reference image URL generated in text to 3D."
              }
            }
          }
        }
      },
      "TripoUsage": {
        "type": "object",
        "additionalProperties": true,
        "description": "Usage information. `model3d_*` billing items are returned only when the task succeeds; each value is the billed count. Items that were not triggered are omitted.",
        "properties": {
          "prompt_tokens": {
            "type": "integer",
            "description": "Always 0."
          },
          "completion_tokens": {
            "type": "integer",
            "description": "Always 0."
          },
          "total_tokens": {
            "type": "integer",
            "description": "Always 0."
          },
          "model3d_text_count": {
            "type": "integer",
            "description": "Text to 3D."
          },
          "model3d_image_count": {
            "type": "integer",
            "description": "Image to 3D."
          },
          "model3d_multiview_count": {
            "type": "integer",
            "description": "Multiview to 3D."
          },
          "model3d_texture_count": {
            "type": "integer",
            "description": "Billed whenever textures are generated (not billed when `texture=false` and `pbr=false`). Detailed and 8K textures are additionally billed as their own items on top of this one. All `texture_version` values are billed the same."
          },
          "model3d_texture_detailed_count": {
            "type": "integer",
            "description": "Detailed texture (`texture_quality=detailed`)."
          },
          "model3d_texture_8k_count": {
            "type": "integer",
            "description": "8K texture (`texture_quality=extreme`)."
          },
          "model3d_geometry_detailed_count": {
            "type": "integer",
            "description": "Detailed geometry (`geometry_quality=detailed` or `ultra`)."
          },
          "model3d_quad_count": {
            "type": "integer",
            "description": "Quad mesh (`quad=true`). Not billed when `generate_parts=true` takes effect, since quad is ignored."
          },
          "model3d_smart_low_poly_count": {
            "type": "integer",
            "description": "Smart low poly (`smart_low_poly=true`)."
          },
          "model3d_parts_count": {
            "type": "integer",
            "description": "Parts generation (`generate_parts=true`). Not billed when sent together with `smart_low_poly=true`, since no parts are produced."
          }
        }
      },
      "TripoErrorResponse": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "error"
        ],
        "properties": {
          "error": {
            "$ref": "#/components/schemas/TripoErrorObject"
          }
        }
      },
      "TripoErrorObject": {
        "type": "object",
        "additionalProperties": true,
        "required": [
          "message",
          "type"
        ],
        "properties": {
          "message": {
            "type": "string",
            "description": "Error message, prefixed with `[trace_id: xxx]`."
          },
          "type": {
            "type": "string",
            "description": "Error type, such as `invalid_request_error` or `internal_error`."
          },
          "code": {
            "type": [
              "string",
              "null"
            ],
            "description": "Error code, such as `param_error` or `model_server_error`."
          },
          "param": {
            "type": [
              "string",
              "null"
            ],
            "description": "Related request parameter, if any."
          },
          "trace_id": {
            "type": "string",
            "description": "Request trace ID."
          }
        }
      }
    },
    "examples": {
      "TripoPartsWithTextureError": {
        "summary": "Parts generation without turning off textures",
        "value": {
          "error": {
            "message": "[trace_id: b7dd6d41-bb39-4bdd-ae77-3f2879086722] Invalid param: convert task request failed: generate_parts requires texture=false and pbr=false",
            "type": "invalid_request_error",
            "param": null,
            "code": "param_error",
            "trace_id": "b7dd6d41-bb39-4bdd-ae77-3f2879086722"
          }
        }
      },
      "TripoMissingFrontViewError": {
        "summary": "Multiview without a front view",
        "value": {
          "error": {
            "message": "[trace_id: e3623db0-e9e1-4988-b4d8-6b55e55fcf78] Invalid param: convert task request failed: input.views: front view is required for multiview-to-model",
            "type": "invalid_request_error",
            "param": null,
            "code": "param_error",
            "trace_id": "e3623db0-e9e1-4988-b4d8-6b55e55fcf78"
          }
        }
      }
    }
  }
}
```
