Skip to main content

Quickstart

API Platform

Create API keys, manage billing, and check account settings.

World generation examples

See request patterns for text, image, pano, multi-image, and video inputs.
1

Get an API key

1
Sign in to the World Labs Platform with your Marble account.If you don’t have a Marble account, you’ll be prompted to create one.
2
Visit the billing page.Add a payment method to your account and then purchase some credits to get started.
3
Generate an API key from the API keys page.
Save your API key in a secure location and never share it with anyone.
2

Create your first world

To verify your development setup is working, we recommend creating a world from only a text prompt.You can also create a world from an image, multiple images of the same scene, or a video.
This example uses marble-1.1, which corresponds to Marble 1.1.For the largest worlds, use marble-1.1-plus. Marble 1.1 Plus uses more credits to create a bigger world when prompted for outdoor or larger indoor spaces.
1
Make a POST request to the /marble/v1/worlds:generate endpoint.
Request
This will return an Operation object.
2
Poll the /marble/v1/operations/{operation_id} endpoint until the operation is done.
This will return an Operation object. If the operation is not done, it will return a 200 status code and the Operation object will have a done field set to false:
World generation should take about 5 minutes to complete. Once the world is generated, the done field will be set to true and the response field will contain the generated World:
The response field contains a snapshot of the World at the time the operation completed. This allows you to access the generated assets without making a separate API call. Note that some fields like display_name, created_at, updated_at, world_prompt, and model may be empty or null in this snapshot. Use the GET /marble/v1/worlds/{world_id} endpoint to fetch the complete, up-to-date world.
You can view the generated world in Marble at https://marble.worldlabs.ai/world/{world_id}.
3

(Optional) Get the latest world

If you need to fetch the most up-to-date version of the world later, use the world_id to retrieve it.
Request
This returns the latest version of the world:
The world object includes:
  • assets.splats.spz_urls: 3D Gaussian splat files in SPZ format (100k, 500k, and full resolution)
  • assets.splats.semantics_metadata: Per-world scale and ground-plane fields for metric splat rendering
  • assets.mesh.collider_mesh_url: Collider mesh in GLB format
  • assets.mesh.hq_mesh_url: High-quality textured mesh in GLB format, once exported
  • assets.mesh.full_res_mesh_url: Full-resolution vertex-colored mesh in GLB format, once exported
  • assets.imagery.pano_url: Panorama image
  • assets.caption: AI-generated description of the world
  • assets.thumbnail_url: Thumbnail image for the world
  • world_prompt: The prompt used to generate the world (may be recaptioned)
  • model: The model used for generation
The semantics_metadata numbers shown above are example values. Use the values returned for the world you are rendering.To download additional formats, call POST /marble/v1/worlds/{world_id}:export. Use {"asset_type":"splats","format":"ply"} for a cached .ply splat download, or {"asset_type":"mesh","format":"glb"} to start a high-quality mesh export. See Rendering Marble SPZ files in third-party engines for the splat scale formula.