> For the complete documentation index, see [llms.txt](https://docs.viverse.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://docs.viverse.com/polygon-streaming/upload-and-convert-a-3d-asset.md).

# Upload and Convert a 3D Asset

This page guides you through the steps of uploading an asset to the Polygon Streaming platform.

***

### Choose Your Workflow

Use the Console steps below for manual upload and conversion. For an AI-assisted workflow, start with the PLS-CLI Skill resources below.

#### PLS-CLI Skill for AI Assistants

Find the **PLS-CLI Skill** in the [VIVERSE SDK Skills repository](https://github.com/viverseofficial/viverse-sdk-skills/tree/main/skills). In the repository, locate the Skill whose name or description matches **PLS-CLI**, **Polygon Streaming CLI**, or your upload and conversion task, then read its `SKILL.md` and referenced instructions.

Before using it, confirm that the Skill supports the requested operation and follow its setup and authentication requirements. Use the Skill's own documentation for installation, commands, parameters, and compatibility information.

You can give your AI assistant this request:

> Open the VIVERSE SDK Skills repository linked above and find the PLS-CLI Skill for my Polygon Streaming task. Read its SKILL.md and referenced instructions, confirm which upload and conversion operations it supports, and identify the required setup before running commands. If the Skill cannot be found or read, tell me what is missing instead of guessing commands.

The link opens the Skills directory. Select the matching Skill before proceeding; access to this documentation does not mean the Skill is already installed or authenticated.

### Before You Start with the Console

* Sign in to the [Polygon Streaming Console](https://stream.viverse.com/console).
* Prepare an asset using Supported Formats & Standards and Asset Preparation & Best Practices.

{% stepper %}
{% step %}

### 1. Upload the Asset

Start by logging into the [Polygon Streaming Console](https://stream.viverse.com/console). Then you will be able to upload a 3D asset into the platform by simply dropping a file in the upload field and clicking the upload button.

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FqqKpTzDd0jCq3gCOGevB%2F01-CMS.JPG?alt=media&amp;token=814bcb06-0ad9-4ef1-8253-7c88f181d472" alt="Upload 3D Model"><figcaption><p>Upload 3D Model</p></figcaption></figure>
{% endstep %}

{% step %}

### 2. Choose Conversion Settings

Select a conversion preset and start conversion. After selecting your file you will be able to click Convert to convert the 3D asset into a streaming model. You can also choose different options before conversion.\
\
After selecting your file and choose the conversion settings in the console, you will be able to click Convert to convert the 3D asset into a streaming model.&#x20;
{% endstep %}

{% step %}

### 3. Obtain the Streaming Model URL

When conversion completes, locate the model in the console's Models section and obtain its streaming model URL for your integration.

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FLkAGpNbC98sBIXAGGSfk%2F02-ModelPanel.JPG?alt=media&amp;token=e91a79aa-f0f8-4c00-b1e4-6683c36b7824" alt="Model Panel"><figcaption><p>Model Panel</p></figcaption></figure>

In the Model panel you can click on the icons next to your model to either preview the model in a new tab on the web-browser, or copy the converted URL address to use inside your projects using the Polygon Streaming integrations and plugins.

<div align="center" data-full-width="false"><figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FcjoBPqM1XTwRtAI9gXlP%2FOpen-model.JPG?alt=media&amp;token=60239098-a3ce-47e3-971d-250113153086" alt="Open the converted model in a new tab on the web-browser."><figcaption><p>Open the converted model in a new tab on the web-browser.</p></figcaption></figure></div>

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2FcRKUVp2cy1X4ZhfmToqI%2FCopy-link.JPG?alt=media&amp;token=ed9f5b31-68ae-494b-8db0-cf4fe2c701e7" alt="Copy the converted model URL"><figcaption><p>Copy the converted model URL.</p></figcaption></figure>

<figure><img src="https://3109683255-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2FY3WbwobASVOf4RiqnLEI%2Fuploads%2F6sMbQa2X6f27R6LniCtP%2FDelete-model.jpg?alt=media&amp;token=623c9246-163b-4a93-b2cf-578d04f96b9d" alt="Delete the converted model from the list"><figcaption><p>Delete the converted model from list.</p></figcaption></figure>
{% endstep %}

{% step %}

### 4. Verify in Your Application

SDKs that request an XRG URL need a model resource address, not just an identifier or the address of the console page. Do not construct a URL from an asset ID without a documented mapping. See the URL parameter description in your selected SDK guide.

Load the converted model using an[ integration](/polygon-streaming/integrations-and-plugins/polygon-streaming-iframe-integration.md), then run the application and check that geometry and textures appear. Test camera movement and loading behavior on the intended device.

The console preview is a visual check, not a substitute for runtime validation. See [Preview Mode vs. Play Mode](/polygon-streaming/avoiding-common-mistakes-preview-mode-vs.-play-mode.md).
{% endstep %}
{% endstepper %}


---

# 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 by asking a question.

Perform an HTTP GET request on the following URL with the `ask` and `goal` query parameters:

```
GET https://docs.viverse.com/polygon-streaming/upload-and-convert-a-3d-asset.md?ask=<question>&goal=<user_goal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is what the user is ultimately trying to achieve, the reason they need the answer. Sharing it helps GitBook give you a better, more relevant answer. A goal is most helpful when it describes the outcome the user wants rather than restating the question. For example, with `ask=how do I create an API token`, a goal like `automate deployments from our CI pipeline` lets GitBook tailor the answer to that use case.

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.
