---
title: "Export World"
method: POST
path: "/marble/v1/worlds/{world_id}:export"
---

# Export World

`POST /marble/v1/worlds/{world_id}:export`

## Request

- Base URL: `https://api.worldlabs.ai`
- URL: `https://api.worldlabs.ai/marble/v1/worlds/{world_id}:export`
- Auth: API key in header `WLT-Api-Key`
- TypeScript: <https://skmtc.dev/worldlabs/apis/marble-public-api-v1/docs/marble/v1/worlds/:world_id:export/post.ts> (a function with typed inputs; its response is checked against the schema)

Export a generated world asset.

PLY splat exports are converted synchronously, cached in GCS, and returned
as completed operations. HQ mesh exports reuse the existing async mesh
export service and return an in-progress operation.

## Path parameters

- `world_id` string, required

## Request body

- ExportWorldRequest: Request to export a generated world asset.
  - `asset_type` 'splats' | 'mesh', required: Asset family to export: 'splats' or 'mesh'.
  - `format` 'ply' | 'glb', required: Requested export format.
  - `mesh_variant` 'textured' | 'vertex_colored': Mesh variant to return when an HQ mesh already exists.
  - `resolution` 'full_res' | '500k' | '150k' | '100k': Splat resolution to convert when exporting splats as PLY.

## Response `200`

Successful Response

- ExportWorldResponse: Response from world export endpoint.
  - `cost` OperationCost: Settled credit cost for a successful operation.
    - `line_items` OperationCostLineItem[]: Usage events that make up the operation's total credits
      - `credits` integer, required: Credits charged for this usage event
      - `name` string, required: Human-readable usage event name
    - `total_credits` integer, required: Total credits charged for the operation
  - `created_at` string, date-time, nullable: Creation timestamp
  - `done` boolean, required: True if the operation is completed
  - `error` OperationError: Error information for a failed operation.
    - `code` integer, nullable: Error code
    - `message` string, nullable: Error message
  - `expires_at` string, date-time, nullable: Expiration timestamp
  - `metadata` object, nullable: Service-specific metadata, such as progress percentage
  - `operation_id` string, required: Operation identifier
  - `response` ExportWorldResult: Downloadable exported world asset.
    - `asset_type` 'splats' | 'mesh', required: Exported asset family
    - `format` 'ply' | 'glb', required: Exported file format
    - `mesh_variant` 'textured' | 'vertex_colored', nullable: Mesh variant returned for this export, if applicable
    - `resolution` string, nullable: Splat resolution used for this export, if applicable
    - `url` string, required: Download URL for the exported asset
  - `updated_at` string, date-time, nullable: Last update timestamp

## Other responses

- `402`: The account has insufficient API credits for this request.
- `422`: Validation Error

---

[API](https://skmtc.dev/worldlabs/apis/marble-public-api-v1.md) - [All operations](https://skmtc.dev/worldlabs/apis/marble-public-api-v1/llms.txt) - [OpenAPI document](https://skmtc.dev/worldlabs/apis/marble-public-api-v1/revisions/4a3ed614672e?raw)
