Skip to content

Training Parameters

When you create a capture you can optionally supply training parameters to customise how Teleport reconstructs your scene. If you omit them, Teleport uses sensible defaults tuned for general-purpose captures.

Training parameters are passed in the training_parameters object of the create capture request body (POST /api/v1/captures).

Custom training requires the pay-as-you-go plan

Supplying custom modelv3 parameters requires the pay-as-you-go plan. You can purchase it yourself from the pricing page, starting at $30. Requests that include modelv3 without an eligible plan are rejected with a 403 Forbidden response.


ModelV3 Parameters#

The modelv3 object controls the core properties of the reconstructed Gaussian Splat model: how many splats it contains, the resolution it is trained at, its colour model, and whether a level-of-detail hierarchy is generated.

When you provide a modelv3 object, all four fields are required.

Parameter Type Allowed Values Description
splat_count integer 50000010000000 Target number of Gaussian splats in the trained model. Higher values capture more detail but increase processing time and file size.
training_resolution integer 1600, 2500, 3200 Maximum image edge length, in pixels, used during training. Input images are downscaled to fit. Larger values preserve more detail at higher cost.
spherical_harmonics_degrees integer 0, 3 Spherical-harmonics degree for view-dependent colour. 0 produces a smaller, view-independent model; 3 captures full view-dependent appearance (e.g. reflections).
level_of_detail boolean true, false Generate a level-of-detail hierarchy so viewers can stream progressively and render large scenes efficiently.

Example Request#

The example below creates a capture with a 3 million splat model trained at 2500 px, with full view-dependent colour and a level-of-detail hierarchy.

curl -X POST "https://teleport.varjo.com/api/v1/captures" \
  -H "Authorization: Bearer AUTH_TOKEN" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "my_capture.zip",
    "bytesize": 104857600,
    "input_data_format": "bulk-images",
    "training_parameters": {
      "modelv3": {
        "splat_count": 3000000,
        "training_resolution": 2500,
        "spherical_harmonics_degrees": 3,
        "level_of_detail": true
      }
    }
  }'

The response is identical to a standard create capture request - continue with the regular upload flow from there.


Choosing Values#

  • splat_count - Start in the low millions for room-sized scenes and increase for larger or more detailed environments. Very high counts produce larger files and longer processing times.
  • training_resolution - 1600 is fastest and best for previews; 3200 retains the finest detail. 2500 is a good balance for most captures.
  • spherical_harmonics_degrees - Use 3 when accurate, view-dependent appearance (shiny or reflective surfaces) matters. Use 0 for the smallest, fastest-loading models.
  • level_of_detail - Keep enabled for large scenes or when streaming to the web or XR viewers.

⚠️ Validation errors (for example, an out-of-range splat_count or an unsupported training_resolution) return a 422 Unprocessable Entity response describing the offending field.