---
title: "Marble (3D World)"
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."
updated: 2026-10-20
---

# Marble (3D World)

**Node type:** `3d:marble`  
**Category:** `3d`  
**Hidden in sidebar:** no

## Description

Marble is World Labs' model for building an explorable 3D world, made for previz and location scouting: wire a prompt, one photo, up to four photos of the same place, or a walk-through video into the node, run it, then fly the card's virtual camera to frame the shot you want. It returns that shot as **Render**, an equirectangular **Panorama**, and a **World** link to the interactive world. Images and a video in the same run are refused before you are charged. The node ships on Draft, which costs about a sixth of Standard; the Pricing figure of about 205 credits per generation is the Standard tier at its worst case. A world has no video export, so chain the Render or the Panorama into image nodes rather than planning a flythrough clip.

## Pricing

- **Cost:** ~40 credits per generation

## 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._

Last updated: 2026-10-20

---

Documentation index: fetch https://www.wireflow.ai/llms.txt for the full list of Wireflow docs.
