http
Base URL: https://openapi.tripo3d.ai/v3
Endpoint: POST /generation/multiview-to-model
Generate a 3D model from multiview images. Multiple angles improve geometry accuracy and texture coverage.
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
inputsobject[] | string[]Required
Three formats — use exactly one, do not mix.
- view-key (recommended) — Array of objects; each object has exactly one key among
front,left,back,right. Values may be a URL,file_token, or nested{url}/{file_token}/{object:{bucket,key}}. Order does not matter; the server canonicalizes to [front, left, back, right]. - legacy positional — Exactly 4 strings in order [front, left, back, right]. Use an empty string
""to skip a view. - task_id — Pass the ID of a previous Image to Multiview or Edit Multiview task to reuse its 4-view output. Only
[{"task_id":"<uuid>"}](single-element array) is accepted — do not mix with view-key or positional slots. The source task must besuccesswith typegenerate_multiview_imageoredit_multiview_image.
For view-key and legacy positional, each image value accepts:
- file_token — Upload an image via the File Upload API first, then pass the returned token.
Example:file_abc123 - URL — A publicly accessible direct link to an image.
Example:https://example.com/front.png
Notes
- The front view cannot be omitted. You may omit other views, but at least 2 images are required.
- All images should depict the same object under consistent lighting.
- Formats:
PNG,JPEG,WebP - Recommended resolution: at least 256 × 256 px.
modelstringRequired
AI model version.
v3.1-20260211— latest, best quality.v3.0-20250812— stable, advanced features.v2.5-20250123— balanced.
texture_alignmentstringdefault: original_image
Texture alignment priority.
original_image— prioritize matching the input image colors.geometry— prioritize matching the generated geometry.
orientationstringdefault: default
Model orientation.
default— automatic orientation.align_image— align the model to the input image viewpoint.
Only effective when
texture is true. Has no effect without texture enabled.face_limitinteger
Maximum polycount for the output mesh.
Notes
- If omitted, the model uses adaptive topology.
Upper limits by mode
| Mode | Standard | Ultra |
|---|---|---|
| Triangle — v3.1 | 1,500,000 | 2,000,000 |
| Triangle — v3.0 | 1,000,000 | 2,000,000 |
| Triangle — v2.5 | 500,000 | / |
Quad (quad: true) | 150,000 | |
- Game-ready assets: 50,000 – 100,000. Web/mobile: 10,000 – 50,000.
- When
smart_low_poly: true, face limits are fixed regardless of model version: Triangle 500 – 20,000, Quad 500 – 10,000.
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.
geometry_qualitystringdefault: standard
Geometry quality level.
standard— balanced quality and speed.detailed— Ultra mode, finer geometry detail.
Only effective for model version ≥ v3.0. Do NOT use this parameter with v2.5.
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.
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.smart_low_polybooleandefault: false
Whether to generate a low-poly model with hand-crafted, clean topology style. Best suited for simple, non-complex inputs. Complex models may occasionally fail. Default is false.
generate_partsbooleandefault: false
Generate editable segmented parts.
Not compatible with
texture=true, pbr=true, or quad=true. To use this, set all three to false.compressstring
Compression type.
geometry— meshopt compression for reduced file size.
Notes
- The following parameters are only valid when
model ≥ v3.0-20250812:texture_quality,geometry_quality,auto_size,quad,smart_low_poly,generate_parts,compress.
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.
export_uvbooleandefault: true
Controls UV unwrapping during generation. Set
false for faster generation and smaller file size. UV unwrapping will be handled during texturing.Examples
View-key with URLs
{
"inputs": [
{
"front": "https://example.com/front.png"},
{
"back": "https://example.com/back.png"},
{
"right": "https://example.com/right.png"}
],
"model": "v3.1-20260211",
"texture": false,
"geometry_quality": "detailed"}View-key with file_tokens
{
"inputs": [
{
"front": "3154b4b0-4647-4032-aa82-827441ae92ef"},
{
"back": "58ea3eab-6a08-4deb-98f9-e60f1802954d"},
{
"right": "584b0e07-8576-4eb4-bf49-2e149e0252f6"}
],
"model": "v3.1-20260211",
"texture": false,
"geometry_quality": "detailed"}Legacy positional
{
"inputs": [
"https://example.com/front.png",
"",
"https://example.com/back.png",
"https://example.com/right.png"],
"model": "v3.1-20260211",
"texture": true,
"pbr": true,
"texture_quality": "detailed"}From multiview task
{
"inputs": [
{
"task_id": "550e8400-e29b-41d4-a716-446655440000"}
],
"model": "v3.1-20260211",
"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,
"created_at": "2026-04-28T12:00:00Z",
"completed_at": "2026-04-28T12:01:30Z"}
}