Atlas World Model API: how to call World Labs today, and what changes when Atlas opens
By Atlas World Model EditorialUpdated 5 min read
Key facts
| Atlas API | Not public; early access for select partners(as of 2026-09-03)source |
|---|---|
| World API (Marble) | Live since January 21, 2026(as of 2026-09-03)source |
| Generate endpoint | POST /marble/v1/worlds:generate with model marble-1.1(as of 2026-09-03)source |
| Credits endpoint | GET /marble/v1/credits(as of 2026-09-03)source |
| Credit price | $1 = 1,250 credits; minimum purchase $5 = 6,250 credits(as of 2026-09-03)source |
| Cost per world | Marble 1.1: 1,500 credits (≈ $1.20); free PLY splat export(as of 2026-09-03)source |
| Inputs | Text, single image, multi-image, 360° panorama, video(as of 2026-09-03)source |
There is no public Atlas API. There is a public World Labs API, and it is the one you should learn now, because Atlas builds on the same model family and platform. This page explains what you can call today, what it costs, and what is likely to change. It is an independent guide, not affiliated with World Labs; the official reference is docs.worldlabs.ai/api.
Status at a glance
| Model | API status (as of September 3, 2026) | Source |
|---|---|---|
| Atlas | Early access, select partners, no public docs or price | Implicator |
| Marble 1.1 (World API) | Live; generate and credits endpoints documented | World Labs docs |
| Marble 1.1 Plus | Live; auto-expanding worlds at extra credit cost | Radiance Fields |
The World API launched on January 21, 2026 and accepts text, single images, multiple images, 360° panoramas and video as inputs, returning a navigable 3D world that can be rendered in the browser or exported (World Labs).
Authentication and credits
You get an API key from the World Labs developer platform, then send it as a bearer token. Usage is billed in credits: $1 buys 1,250 credits and the minimum purchase is $5 for 6,250 credits. API credits are separate from the Marble web app’s credits, do not expire, and can auto-refill (World Labs docs). Check your balance with the credits endpoint:
curl https://api.worldlabs.ai/marble/v1/credits \
-H "Authorization: Bearer $WORLDLABS_API_KEY"
The hostname above is illustrative. Copy the base URL from your platform dashboard.
Generate a world
A single request starts generation. The examples below show the request shape as documented for the marble-1.1 model; treat field names as illustrative and confirm them in the official reference.
# illustrative request shape; verify field names at docs.worldlabs.ai/api
curl -X POST https://api.worldlabs.ai/marble/v1/worlds:generate \
-H "Authorization: Bearer $WORLDLABS_API_KEY" \
-H "Content-Type: application/json" \
-d '{"model":"marble-1.1","prompt":"a sunlit greenhouse full of ferns, glass roof, wooden benches"}'import os, requests
API = "https://api.worldlabs.ai" # illustrative; copy the base URL from your dashboard
headers = {"Authorization": f"Bearer {os.environ['WORLDLABS_API_KEY']}"}
r = requests.post(
f"{API}/marble/v1/worlds:generate",
headers=headers,
json={"model": "marble-1.1", "prompt": "a sunlit greenhouse full of ferns"},
timeout=30,
)
r.raise_for_status()
operation = r.json()
print(operation) # contains the operation you poll until the world is readyconst API = 'https://api.worldlabs.ai'; // illustrative; copy the base URL from your dashboard
const res = await fetch(API + '/marble/v1/worlds:generate', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.WORLDLABS_API_KEY,
'Content-Type': 'application/json',
},
body: JSON.stringify({ model: 'marble-1.1', prompt: 'a sunlit greenhouse full of ferns' }),
signal: AbortSignal.timeout(30_000),
});
if (!res.ok) throw new Error('generate failed: ' + res.status);
const operation = await res.json(); // poll this operation until the world is readyFor image input, the World API accepts one or several reference images or a panorama instead of, or alongside, the prompt (World Labs). The field names for those inputs are in the official docs; the pattern is the same request with an image reference in place of text.
Polling and exports
World generation takes minutes, not seconds, so the generate call returns an operation rather than a finished world. The pattern is:
- Call generate and store the operation identifier from the response.
- Poll the operation endpoint named in the response on an increasing interval, starting around three seconds and backing off to fifteen.
- When the operation reports completion, read the world identifier and request the assets you need.
Exports available for Marble worlds are Gaussian splats in .spz and .ply, meshes, and video; PLY splat export is free (Radiance Fields). Splats open directly in the free splat viewer and import into engines as described in the game development guide. A complete, runnable walk-through is in the Marble World API quickstart in TypeScript.
Do not wait synchronously inside a web request for an operation to finish. Queue the job, poll from a worker, and notify the user. That is how this site’s own generator is built.
Rate limits and costs
World Labs has not published rate limits in the material we could verify, so design for 429 responses with exponential backoff. Costs, as of September 3, 2026:
| Item | Credits | Approx. USD |
|---|---|---|
| Marble 1.1 world | 1,500 | $1.20 |
| Marble 1.1 Plus world | 1,500 + 300 per extra cube | $1.20 + $0.24 per cube |
| PLY splat export | 0 | free |
| Minimum top-up | 6,250 | $5.00 |
Sources: World Labs docs, Radiance Fields. Worked examples and this site’s own plans are on the pricing page.
Error handling and retries
Two kinds of failure matter in practice.
Transient upstream errors (5xx, timeouts, 429) should be retried with exponential backoff: wait roughly 300 ms, then 600, then 1,200, and give up after three attempts. Always set a request timeout; a hung connection is worse than a failed one. Both examples above use a 30-second timeout on the generate call, which is generous for a request that only enqueues work.
Failed operations are different. If the operation you poll reports an error, retrying the same input usually produces the same error. Log the operation identifier, surface the message to the user, and refund any credits you reserved on your side. World Labs’ own billing charges per successful usage event (World Labs docs), so check the credits endpoint rather than assuming a failed job cost you 1,500 credits.
Keep keys server-side
The API key controls a prepaid balance. Never ship it to a browser or a mobile app. Call the World API from your server or an edge function, keep the key in a secrets manager, and expose your own narrower endpoint to clients. This site follows the same rule: the browser talks to atlasworldmodel.com, and only the server holds the World Labs key.
If you must let users bring their own key, store it encrypted, scope it to their account, and let them revoke it from the World Labs platform.
The Atlas API: what we know and don’t
Known, as of September 3, 2026:
- Atlas is in early access for select partners through a request form; no public documentation, price or general-availability date exists (Implicator).
- Atlas “builds on the Marble model” and follows the January 2026 World API in World Labs’ product lineage (Dealroom).
- Its capabilities exceed the current API surface: camera-controlled video up to 1440p and one minute, reconstruction from one to 100+ images, and explicit point cloud and splat outputs (The Decoder).
Unknown:
- Whether Atlas appears as a new model identifier on the existing generate endpoint or as a separate API.
- How camera paths and video inputs are expressed in a request.
- Pricing, which will almost certainly differ for video output.
- Rate limits and latency.
We update this section within 48 hours of any change; the changelog records each update. For the background on the model itself see what the Atlas world model is.
How this site’s API layer routes to Atlas
The tools on this site sit behind a provider abstraction. A request describes only the input, such as text, images, a panorama or video, plus quality and export options. A provider adapter turns that into a World Labs call and polls the operation. Today the adapter targets Marble 1.1; when Atlas exposes an API, a second adapter with the same interface takes over, chosen by configuration.
For you that means the request you send to this site’s generator does not change when the model behind it does. Cost estimates already come from the same layer, which is why the tool pages can show a credit estimate before Atlas exists. If you would rather call World Labs directly, the Marble World API guide documents the full flow.
Want to know the day the Atlas API opens? Join the waitlist below. One email per material change, nothing else.
Sources
Frequently asked questions
Is there an Atlas API?
Not a public one. As of September 3, 2026 Atlas is available only to early-access partners and World Labs has not published API documentation or pricing for it.
What API can I use from World Labs today?
The World API, which runs the Marble 1.1 model. It generates navigable 3D worlds from text, images, panoramas or video and exports Gaussian splats, meshes and video.
How do I get a World Labs API key?
Create an account on the World Labs developer platform and generate a key on the API keys page. Keys are tied to a credit balance you top up in $5 increments.
How much does one API call cost?
A Marble 1.1 world costs 1,500 credits, about $1.20 at $1 per 1,250 credits. Marble 1.1 Plus adds 300 credits per extra cube. PLY splat export is free.
Is there a Python or TypeScript SDK?
World Labs publishes REST documentation with examples; whether an official SDK package exists is not something we have verified. The examples here use plain HTTP clients.
Will my Marble integration work with Atlas?
Nothing is guaranteed, but Atlas builds on Marble and World Labs already runs the World API, so a new model identifier on the same platform is the most likely path. Keep the call behind an interface.
Is this the official API documentation?
No. This is an independent guide. The official docs are at docs.worldlabs.ai. Request shapes here are illustrative and should be checked against them.
Related guides
- Marble World API guide: endpoints, code examples and exports
- Atlas and Marble API pricing explained: credits, per-world cost and plans
- What is the Atlas world model? World Labs’ omni world model explained
- Atlas vs Marble: World Labs’ two world models compared
- Marble World API quickstart in TypeScript
- Text to 3D World Generator