> For the complete documentation index, see [llms.txt](https://multiset.gitbook.io/multiset/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://multiset.gitbook.io/multiset/fundamentals/third-party-scans.md).

# Third Party Scans

The Multiset developer portal supports third-party capture platforms, including **Matterport**, **NavVis**, **Leica**, **Faro**, **Xgrids**, **Insta360** and **Antigravity**, plus stitched 360 video from any other camera, to streamline the creation of high-accuracy **Visual Positioning Systems (VPS)**. Developers can use these industry-leading tools to generate the data required for precise localization and AR experiences.

## Supported Input Formats

Multiset accepts four kinds of input for building a map:

| Input type               | What you upload                                                     | Notes                                                                                                                                                                                                                                                                       |
| ------------------------ | ------------------------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Point cloud**          | Structured **`.e57`** with embedded panoramas, compressed to `.zip` | The most common path. Panoramic images must be included in the export.                                                                                                                                                                                                      |
| **Gaussian Splat**       | **`.ply`** and **`poses.json`** in a single `.zip`                  | Must be metric-scaled. See [Gaussian Splat](/multiset/fundamentals/third-party-scans/gaussian-splat.md).                                                                                                                                                                    |
| **360 video (raw)**      | Raw **`.insv`**, one file per `.zip`                                | Hand-held Insta360, or the Antigravity A1 drone. No LiDAR hardware required. See [Insta360 Scans](/multiset/fundamentals/third-party-scans/360-videos/insta360-scans.md) and [Antigravity A1](/multiset/fundamentals/third-party-scans/360-videos/antigravity-a1-drone.md). |
| **360 video (stitched)** | Equirectangular **`.mp4`**, one file per `.zip`                     | Any other 360 camera, ground based or flown. Monoscopic, exactly 2:1. See [Equirectangular MP4](/multiset/fundamentals/third-party-scans/360-videos/equirectangular-mp4.md).                                                                                                |

What each of these produces once processing finishes (panoramas, mesh, Gaussian Splat) is listed in [Output Asset](/multiset/fundamentals/maps/output-asset.md).

## Supported Vendors and File Types

| Vendor                      | Supported devices                  | File type                                         | Upload package                                         | Guide                                                                                                            |
| --------------------------- | ---------------------------------- | ------------------------------------------------- | ------------------------------------------------------ | ---------------------------------------------------------------------------------------------------------------- |
| **Matterport**              | Pro2, Pro3                         | Structured `.e57` with panoramas                  | `.e57` inside a `.zip`                                 | [Matterport E57](/multiset/fundamentals/third-party-scans/matterport-e57.md)                                     |
| **Matterport (MatterPak)**  | Pro2, Pro3                         | MatterPak bundle                                  | Fetched from your Matterport account, no manual upload | [MatterPak Files](/multiset/fundamentals/third-party-scans/matterport-e57/matterpak-files.md)                    |
| **Leica**                   | RTC360, BLK360 G2, BLK2GO, BLK2FLY | Structured `.e57` with panoramas                  | `.e57` inside a `.zip`                                 | [Leica Scans](/multiset/fundamentals/third-party-scans/leica-scans.md)                                           |
| **NavVis**                  | VLX, M6                            | `.e57` with equirectangular panoramas             | `.e57` inside a `.zip`                                 | [NavVis Scans](/multiset/fundamentals/third-party-scans/navvis-scans.md)                                         |
| **Faro**                    | Focus series, Orbis, Flash/Hybrid  | `.e57` with Color Panorama Image enabled          | `.e57` inside a `.zip`                                 | [Faro Scans](/multiset/fundamentals/third-party-scans/faro-scans.md)                                             |
| **Xgrids**                  | L2 Pro, K1                         | `.e57` converted from LAS using `poses.csv`       | `.e57` inside a `.zip`                                 | [Xgrids Scans](/multiset/fundamentals/third-party-scans/xgrids-scans.md)                                         |
| **Xgrids (Gaussian Splat)** | PortalCam, L2 Pro, K1, K2          | `.ply` and `poses.json`                           | Both files in a single `.zip`                          | [Xgrids Gaussian Splat Export](/multiset/fundamentals/third-party-scans/gaussian-splat/xgrids-gaussian-splat.md) |
| **Insta360**                | X4, X5                             | Raw `.insv` 360 video (dual-fisheye)              | Exactly one `.insv` per `.zip`                         | [Insta360 Scans](/multiset/fundamentals/third-party-scans/360-videos/insta360-scans.md)                          |
| **Antigravity**             | A1 (360° camera drone)             | Raw `.insv` 360 video (dual-fisheye)              | Exactly one `.insv` per `.zip`                         | [Antigravity A1 (Drone)](/multiset/fundamentals/third-party-scans/360-videos/antigravity-a1-drone.md)            |
| **Any other 360 camera**    | Ground based or drone mounted      | Stitched equirectangular `.mp4` (2:1, monoscopic) | Exactly one `.mp4` per `.zip`                          | [Equirectangular MP4](/multiset/fundamentals/third-party-scans/360-videos/equirectangular-mp4.md)                |

{% hint style="info" %}
**Using a scanner that is not listed?** Structured `.e57` files from other scanners will also work, as long as the data is laid out the same way as the exports above, meaning the point cloud and its panoramic images with pose information are embedded in the file. Simply pick the closest matching provider in the upload dropdown and the Multiset backend will detect the structure and process it. The provider selection does not have to match your hardware exactly, since the panorama format is detected automatically.
{% endhint %}

{% hint style="success" %}
**Panoramas can be cubic or equirectangular, based on the vendor. The system detects the pano format.**
{% endhint %}

## Input Requirements

### Point cloud (`.e57`)

* **Panoramas**: Panoramic images must be included in the export. These are essential for capturing comprehensive environmental data.
* **Scan Density**: The density of both the scans and the accompanying images should be **high**. Increased density ensures better visual mapping and localization accuracy.
* **Panorama Spacing**: Keep the distance between panoramas (scan positions or capture trigger interval) between **1 and 3 meters**, depending on the device: 1 to 2 m for Faro and Xgrids (1 m indoors, 2 m outdoors), 1.5 to 2.5 m for Matterport, 2 to 3 m for Leica tripod scanners, and up to 3 m for NavVis in open spaces. See each scanner page for details.

### Gaussian Splat

* **Metric scale is required.** Arbitrary-scale reconstructions cannot be used for VPS.
* **`poses.json` is required**, the splat cannot be localized against without the camera poses used to train it.
* Both files must sit at the root of the `.zip`, with no nested folders.

### 360 video

* Record in the camera's **360 video mode**: 5.7K at 60 fps for indoor and low light, 8K at 30 fps for outdoor and natural light. Flat or single-lens footage is not supported.
* Move at a steady pace and **close the loop** by returning to your starting point: **1.0 to 1.5 m/s** walking with the camera at head height, **1 to 3 m/s** in the air.
* **Metric scale** comes from either a **printed ChArUco calibration marker** in the scene, or the [Map Scale](/multiset/fundamentals/rest-api-docs/map-scale.md) tool after processing. Drone and stitched-video captures use the second route, since a printed board cannot be resolved from the air.
* From an **Insta360 camera or the Antigravity A1**, upload the **raw `.insv`**. No stitching required, Multiset stitches to equirectangular server-side.
* From **any other 360 camera**, upload a **stitched equirectangular `.mp4`**: monoscopic, exactly **2:1**, 3840 × 1920 or higher, H.264 or H.265.
* Keep each `.zip` **under 50 GB**, with exactly one video file inside. One video produces one map.

{% hint style="info" %}
**360 video support:** Multiset accepts **360 video** as input for VPS, so you can build a map without LiDAR or SLAM hardware. Raw `.insv` covers hand-held **Insta360** (**X4**, **X5**) and the **Antigravity A1** drone. Every other 360 camera, on the ground or in the air, exports a stitched [**Equirectangular MP4**](/multiset/fundamentals/third-party-scans/360-videos/equirectangular-mp4.md) and uploads that. All three routes are documented under [360 Videos](/multiset/fundamentals/third-party-scans/360-videos.md): [Insta360 Scans](/multiset/fundamentals/third-party-scans/360-videos/insta360-scans.md) for camera settings and walking patterns, and [Antigravity A1](/multiset/fundamentals/third-party-scans/360-videos/antigravity-a1-drone.md) for flight patterns.
{% endhint %}

{% hint style="info" %}
**Gaussian Splat support:** Multiset accepts **Gaussian Splats** as input for VPS. The first supported pipeline is **Xgrids**, where all Xgrids scanners (**PortalCam**, L2 Pro, **K1/K2**) can export Gaussian Splats in `.ply` format via Lixel CyberColor. See [Gaussian Splat](/multiset/fundamentals/third-party-scans/gaussian-splat.md) for details.
{% endhint %}

#### Benefits of High-Density Scans:

* Enhanced environmental detail for improved VPS accuracy.
* Better alignment and anchoring of AR experiences in real-world environments.
* Seamless integration with Multiset’s tools for large-scale AR deployments.

By leveraging the capabilities of Matterport, NavVis, Leica, Faro, Xgrids and Insta360, developers can create precise and persistent AR experiences.


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## 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, and the optional `goal` query parameter:

```
GET https://multiset.gitbook.io/multiset/fundamentals/third-party-scans.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

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.
