TRIVERSE Docs
API Endpoints

Utilities (Remesh, Convert, Render)

The Utilities resource group provides auxiliary tools to enhance your 3D workflow, including model rendering, format conversion, and remeshing.

Multi-Angle Preview Render

Generate high-quality 2D renders of your 3D model from multiple camera angles. This is perfect for creating thumbnails or preview galleries.

Endpoint

POST /tasks/model-preview-render

Request Parameters

ParameterTypeDefaultDescription
model_fileStringRequiredThe model to render (file_key or URL).
render_modeStringmulti_angleRendering mode.
image_countInteger4Number of images to generate.
camera_anglesArray["front", "left", "right", "back"]Specific angles to capture.
preset_nameStringstudio-softLighting and environment preset.

Example Request

cURL

curl -X 'POST' \
  'https://api.triverse.ai/api/v1/tasks/model-preview-render' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model_file": "https://triverse-public.oss-cn-beijing.aliyuncs.com/tasks/2025-08-05/20/model.glb",
  "render_mode": "multi_angle",
  "image_count": 4,
  "camera_angles": ["front", "left", "right", "back"],
  "preset_name": "studio-soft"
}'

JavaScript

const response = await fetch(
  "https://api.triverse.ai/api/v1/tasks/model-preview-render",
  {
    method: "POST",
    headers: {
      Accept: "application/json",
      Authorization: "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model_file:
        "https://triverse-public.oss-cn-beijing.aliyuncs.com/tasks/2025-08-05/20/model.glb",
      render_mode: "multi_angle",
      image_count: 4,
      camera_angles: ["front", "left", "right", "back"],
      preset_name: "studio-soft",
    }),
  }
);
const data = await response.json();
console.log(data);

Python

import requests

response = requests.post(
    "https://api.triverse.ai/api/v1/tasks/model-preview-render",
    headers={
        "Accept": "application/json",
        "Authorization": "Bearer <YOUR_API_KEY>",
    },
    json={
        "model_file": "https://triverse-public.oss-cn-beijing.aliyuncs.com/tasks/2025-08-05/20/model.glb",
        "render_mode": "multi_angle",
        "image_count": 4,
        "camera_angles": ["front", "left", "right", "back"],
        "preset_name": "studio-soft",
    },
)
print(response.json())

Model Remeshing

Perform retopology on an existing model to optimize its polygon count and mesh structure.

Endpoint

POST /tasks/model-remesh

Request Parameters

ParameterTypeDefaultDescription
model_fileStringRequiredThe model to remesh (file_key or URL).
target_poly_countIntegerRequiredDesired polygon count for the output.

Example Request

cURL

curl -X 'POST' \
  'https://api.triverse.ai/api/v1/tasks/model-remesh' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model_file": "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model_to_remesh.glb",
  "target_poly_count": 50000
}'

JavaScript

const response = await fetch(
  "https://api.triverse.ai/api/v1/tasks/model-remesh",
  {
    method: "POST",
    headers: {
      Accept: "application/json",
      Authorization: "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model_file:
        "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model_to_remesh.glb",
      target_poly_count: 50000,
    }),
  }
);
const data = await response.json();
console.log(data);

Python

import requests

response = requests.post(
    "https://api.triverse.ai/api/v1/tasks/model-remesh",
    headers={
        "Accept": "application/json",
        "Authorization": "Bearer <YOUR_API_KEY>",
    },
    json={
        "model_file": "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model_to_remesh.glb",
        "target_poly_count": 50000,
    },
)
print(response.json())

Format Conversion

Convert your 3D models between different industry-standard formats.

Endpoint

POST /tasks/convert-model-format

Request Parameters

ParameterTypeDefaultDescription
model_fileStringRequiredThe source model file.
output_formatStringRequiredTarget format (e.g., obj, fbx, usdz).

Example Request

cURL

curl -X 'POST' \
  'https://api.triverse.ai/api/v1/tasks/convert-model-format' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "model_file": "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model.glb",
  "output_format": "obj"
}'

JavaScript

const response = await fetch(
  "https://api.triverse.ai/api/v1/tasks/convert-model-format",
  {
    method: "POST",
    headers: {
      Accept: "application/json",
      Authorization: "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      model_file:
        "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model.glb",
      output_format: "obj",
    }),
  }
);
const data = await response.json();
console.log(data);

Python

import requests

response = requests.post(
    "https://api.triverse.ai/api/v1/tasks/convert-model-format",
    headers={
        "Accept": "application/json",
        "Authorization": "Bearer <YOUR_API_KEY>",
    },
    json={
        "model_file": "tasks/uid_64e96053-76ab-4e9c-bd82-2def925b53bc/20250805/model.glb",
        "output_format": "obj",
    },
)
print(response.json())

Image Generation

Generate a 2D image from a text prompt, which can then be used as a reference for Image-to-3D tasks.

Endpoint

POST /tasks/image-generation

Request Parameters

ParameterTypeDescription
promptString(Required) Description of the image to generate.

Example Request

cURL

curl -X 'POST' \
  'https://api.triverse.ai/api/v1/tasks/image-generation' \
  -H 'accept: application/json' \
  -H 'Authorization: Bearer <YOUR_API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
  "prompt": "Studio photo of a futuristic racing helmet"
}'

JavaScript

const response = await fetch(
  "https://api.triverse.ai/api/v1/tasks/image-generation",
  {
    method: "POST",
    headers: {
      Accept: "application/json",
      Authorization: "Bearer <YOUR_API_KEY>",
      "Content-Type": "application/json",
    },
    body: JSON.stringify({
      prompt: "Studio photo of a futuristic racing helmet",
    }),
  }
);
const data = await response.json();
console.log(data);

Python

import requests

response = requests.post(
    "https://api.triverse.ai/api/v1/tasks/image-generation",
    headers={
        "Accept": "application/json",
        "Authorization": "Bearer <YOUR_API_KEY>",
    },
    json={"prompt": "Studio photo of a futuristic racing helmet"},
)
print(response.json())

On this page