# Gaussian Splat

Multiset now supports **Gaussian Splats** as input for building a VPS map. Instead of uploading a point cloud (e57), you can upload a trained Gaussian Splat reconstruction together with the camera poses used to train it, and Multiset will use that as the source of truth for localization.

#### What you need to upload

A **single `.zip`** containing two files:

1. **`<name>.ply`** — the Gaussian Splat file exported from your reconstruction tool.
2. **`poses.json`** — the camera poses (position + rotation) associated with the training frames, in the format shown below.

Both files must be at the root of the zip (no nested folders).

#### poses.json format

```json
{
  "poses": [
    {
      "ts": "1776075484.516121864",
      "T": [0.000021, 0.000021, 0.000008],
      "R": [0.707448, -0.706765, 0.001143, 0.000027],
      "RGB": null
    }
  ]
}
```

Fields:

* `ts` — timestamp (string).
* `T` — translation `[x, y, z]`.
* `R` — rotation quaternion `[x, y, z, w]`.
* `RGB` — optional, can be `null`.

#### Requirements

* **Metric scale is required.** The Gaussian Splat must be in real-world metric scale for VPS to work.
* **Indoor or outdoor** — you'll specify this at upload time; selecting the correct mode improves VPS accuracy.
* **poses.json is required** — the splat cannot be localized against without the training poses.

{% hint style="warning" %}
Gaussian Splats generated without metric scale (arbitrary-scale reconstructions) cannot be used for VPS.
{% endhint %}

## Supported pipelines

Currently supported Gaussian Splat export sources:

* [Xgrids (Lixel CyberColor)](/basics/third-party-scans/gaussian-splat/xgrids-gaussian-splat.md) — all Xgrids scanners (PortalCam, L2 Pro, K1/K2) via the Lixel CyberColor reconstruction app.

More providers will be added as they ship metric-scaled Gaussian Splat exports.

## Upload flow

On the Multiset developer portal, choose **Upload Existing Map**, select your scanner provider (e.g. **XGRIDS**), then pick **Gaussian Splat (ply and poses.json compressed in same zip)** as the file format. You will be asked to confirm:

* Whether the Gaussian Splat is metric-scaled (must be **Yes** for VPS).
* Whether the capture is **indoor** or **outdoor**.
* Whether the zip includes `poses.json` (required).

<figure><img src="/files/mbHzhph1X6MEq5ph7O88" alt="" width="375"><figcaption><p>Upload Existing Map — select XGRIDS and Gaussian Splat file format.</p></figcaption></figure>

<figure><img src="/files/KwpC0GfaeXPddbTw4hTy" alt="" width="375"><figcaption><p>Gaussian Splat configuration — confirm scale, indoor/outdoor, and poses.json.</p></figcaption></figure>


---

# Agent Instructions: Querying This Documentation

If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter:

```
GET https://docs.multiset.ai/basics/third-party-scans/gaussian-splat.md?ask=<question>
```

The question should be specific, self-contained, and written in natural language.
The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
