Marble (3D World)
World Labs Marble. Turns a prompt, a photo, a few photos of the same place, or a video walk-through into an explorable 3D world you can fly a camera through. Comes back with a frame you compose in the node card virtual camera, an equirectangular panorama, and a link to the interactive world. Built for previz and location scouting: block a set before you shoot it, or hand a client a walk-through of a space that does not exist yet. Draft is fast and cheap for iterating; switch to Standard for the final world. ⚠️ Drafts usually come back in under a minute; Standard can take a few minutes, and World Labs rate limits generation starts to roughly 3 per minute across the whole Wireflow account.
Marble (3D World)
Node type: 3d:marble
Category: 3d
Hidden in sidebar: no
Description
World Labs Marble. Turns a prompt, a photo, a few photos of the same place, or a video walk-through into an explorable 3D world you can fly a camera through. Comes back with a frame you compose in the node card virtual camera, an equirectangular panorama, and a link to the interactive world. Built for previz and location scouting: block a set before you shoot it, or hand a client a walk-through of a space that does not exist yet. Draft is fast and cheap for iterating; switch to Standard for the final world. ⚠️ Drafts usually come back in under a minute; Standard can take a few minutes, and World Labs rate limits generation starts to roughly 3 per minute across the whole Wireflow account.
Pricing
- Cost: ~205 credits per generation
- Notes: Source: docs.worldlabs.ai/api/pricing, read 2026-08-24. World Labs sells credits at a fixed $1.00 per 1,250 credits ($5 / 6,250 minimum purchase). Published usage-event table: draft world generation 150 credits, world generation 1,500, pano generation 0 (input already a pano) / 80 (text or non-pano image) / 100 (multi-image or video), HQ mesh export 3,500. A generate request is one world event plus AT MOST one pano event, and which pano event fires is decided server-side by is_pano auto — so both tiers quote the 100-credit pano ceiling: draft 150+100 = 250 cr = $0.20, standard 1,500+100 = 1,600 cr = $1.28. marble-1.1-plus is NOT offered: it can add up to 1,500 unannounced credits for variable world sizing, so no ceiling exists at submit time. PLY splat export carries no line item and is free; HQ mesh export is a separate 3,500-credit operation and no code path reaches it. RAW costs — marginMultiplier intentionally undefined, progressive margin applies. ⚠️ NOT YET RECONCILED AGAINST AN INVOICE. Live generations HAVE run (2026-08-25 smoke: draft 230 cr against a 250 cr quote, standard 1,580 cr against 1,600), so the model is no longer unexercised; what is still owed is the bill itself. Re-verify against the first invoice and against operation.cost.total_credits, which the API returns on every completed operation.
Canvas ports
These appear as port handles on the left side of the node.
| ID | Label | Details |
|---|---|---|
prompt |
Prompt | TEXT · multiline — Describe the world. On its own this is text-to-world. Alongside an image or video it steers the result; leave it empty there and Marble writes its own caption from the media. |
image_url |
Image | IMAGE — Build the world from one photo or render. An equirectangular panorama is detected automatically and skips the pano-generation step. |
image_url_2 |
Image 2 | IMAGE — Optional extra view of the SAME place. Two or more images run Marble in multi-image mode, which pins down more of the scene than one photo can. |
image_url_3 |
Image 3 | IMAGE — Optional extra view of the same place. |
image_url_4 |
Image 4 | IMAGE — Optional extra view of the same place. |
video_url |
Reference Video | VIDEO — Build the world from a walk-through clip. Cannot be combined with images — that combination is refused before you are charged. |
Sidebar config
These render as form fields in the right-side config panel when the node is selected.
| ID | Label | Details |
|---|---|---|
model |
Quality | TEXT · options: marble-1.0-draft, marble-1.1 — Draft renders a rough world for a fraction of the price — use it to iterate on the prompt or the reference shot. Switch to Standard for the world you actually hand over. |
display_name |
World Name | TEXT — Optional label shown in the Marble viewer. Metadata only, it does not change the world. Trimmed to 64 characters. |
seed |
Seed | NUMBER · 0…4294967295 — Reuse a seed to get the same world back from the same prompt. Leave empty for a new one each run. |
Outputs
| ID | Label | Type |
|---|---|---|
frame |
Render | IMAGE |
pano |
Panorama | IMAGE |
world_url |
World | TEXT |
What it costs, per tier
The Pricing line above quotes the Standard tier. The node ships on Draft, and the two are far apart:
| Quality | Roughly |
|---|---|
Draft (marble-1.0-draft, the default) |
about a sixth of Standard |
Standard (marble-1.1) |
the price quoted above |
Both numbers are the worst case for their tier. World Labs bills the world and the panorama as separate events, and which panorama event fires is decided on their side after the request lands, so Wireflow always quotes the higher one. A world built from a panorama you already have skips that step entirely and costs less than quoted.
One node, four prompt types, decided by the wires
There is no mode dropdown. What you connect is the switch:
| What you wire | What Marble builds from |
|---|---|
| Prompt only | The description, start to finish |
| Image | That photo or render, extended into a full world |
| Image + Image 2 (and 3, 4) | Several views of the SAME place, which pins down far more of it than one photo can |
| Reference Video | A walk-through clip |
A Prompt alongside an image or a video steers the result. Leave it empty there and Marble writes its own caption from the media. Text on its own is the one case where the Prompt is required.
Wiring images AND a video is refused before you are charged. Marble has no prompt type that takes both, so quietly ignoring one side would build a world you did not ask for at full price.
An equirectangular panorama wired into Image is detected automatically and skips the pano-generation step, which is also the cheapest way to run this node if you already have one.
What comes back
Three outputs, and the first one is the point:
- Render is the frame you compose in the card's virtual camera: fly around the world, stop where you want, and that shot is what the port emits. It is an ordinary image, so anything that takes an image takes it.
- Panorama is the equirect pano. Wire it into an image node and it behaves like any other equirect pano.
- World opens the interactive world in Marble. It is the durable handle: the world lives on World Labs and the link does not expire.
That is the whole interface. Earlier builds also exposed the splat file, a PLY export and the world id as ports; they were an inventory of what the provider happened to return, not things you could wire anywhere, and they were removed. The values still exist inside the run's result, but no port and no download surface hands them to you — so do not plan a pipeline around getting the splat out of Wireflow today.
Viewing worlds in Wireflow
The node card has a View world button. It opens the world full screen inside Wireflow, rendered from the splat file on our own viewer. Drag to orbit, scroll to zoom, right-drag to pan, Escape to close. Nothing is downloaded and nothing leaves the page.
The top bar has a Fast / Full quality switch, and it matters more than it sounds. Marble returns the same world at several densities, and the gap is large. Measured on a real standard-tier world:
| setting | gaussians | download |
|---|---|---|
| Fast | 500,000 | 7.4 MB |
| Full quality | 1,920,000 | 28.3 MB |
Fast is the default and opens in about a second. It is sharp enough to judge a layout, a camera angle, or where the light falls. Switch to Full quality when you are actually looking at the set: at that density the near-field furniture, hardware and text resolve instead of smearing. It re-loads the world, so give it a few seconds on a slow connection.
Fast is whichever of Marble's mirrored tiers is densest for that world — usually 500k, sometimes 150k or 100k on a draft — and it is copied onto our own CDN, so it keeps working for as long as the run does. Full quality is different: it streams straight from World Labs rather than from us, because at 20-30 MB a file we do not want it buffered through our mirror. That means its link has World Labs' lifetime, not ours, and on an older world it can expire. If that happens the viewer says so and offers you Fast quality or Open in Marble; re-running the node mints fresh links.
Open in Marble is still there as a secondary link. Use it when you want World Labs' own controls, or when you are sending the world to someone who does not have a Wireflow account. Their page cannot be embedded (it refuses framing), which is why we render the splat ourselves rather than wrapping their viewer.
A run with no splat file (an old result) keeps the plain Open world link and has no in-app viewer. Nothing to fix there, the world is fine.
Worlds do not feed the video nodes
This is the one thing worth being blunt about. Marble worlds are explorable in the viewer, and Marble's own web app can record a camera flythrough, but the World API exposes no video export. So there is no wire from this node into a video node that produces a flythrough clip. What you can chain today is the Render you frame in the card's camera and the Panorama — both images, both wire into anything that takes one. There is no splat download.
Draft first, always
Draft costs a fraction of Standard and exists for exactly this: get the prompt or the reference shot right, then switch Quality to Standard for the world you actually hand over. Drafts usually come back in under a minute; Standard can take a few minutes.
World Labs limits generation starts to roughly 3 per minute across the whole Wireflow account, so a burst of Marble nodes in one workflow can hit a rate limit. If that happens the node says so and you were not charged.
Auto-generated from the Wireflow node registry.