← Chisel model guide

One More Step · World Labs Chisel + reconstruction

Build the room.
Take one more step.

Give Chisel a spatial plan. Turn its views into a real 3D scene. Then add coverage beyond the doorway and inspect what the larger reconstruction gains.

Before we hand over the keys, let me stand here once more.
The useful result is a scene you can explore and download. Chisel generates the posed images and depth; a separate beta reconstruction task fits the Gaussian splat.

The main experiment · Chisel to SPZ

A room, then the space beyond it.

The room fit uses eight posed RGBD views. The extended fit keeps those exact eight inputs and adds six usable views through the hallway into a new side alcove. Reconstruction produces SPZ Gaussian splats; exploration and downloads become available when each job finishes. The extension is a new reconstruction with more coverage; it does not modify the original SPZ in place.

Loading the completed world experiments…

Load the actual 3D scene, then switch between the room and its extension.

Drag to orbit. Choose Walk in the viewer to move with WASD or touch controls.

How to reproduce this world-building workflow

Prepare the depth layouts with the repository's world_demo.mjs CLI, run its views stage, inspect the RGB overlap and run review_rgbd.py, then run base and extended. Each stage saves its exact request and idempotency key. All twelve new views were generated together in one Chisel request to share sequence context. The first five supplement the room; six usable views add the hallway and alcove. The final return-facing view was excluded for insufficient reconstructed depth and remains in the inspection records. Three earlier Chisel views are reused in both fits.

Chisel and reconstruction are separately billed beta tasks. The CLI explicitly requests refine: false; refinement requires a separate request. These are draft visual scenes without collision meshes. Compare overlap, thin furniture, blank walls and unseen regions before using a result.

Reconstruction API guide · World Labs task documentation

Supporting experiment · depth control and its limits

Change the layout. Hold the words still.

The baseline receives no geometric context. Layout A and layout B receive their own depth map at the same target camera. Only the furniture group moves between the two blockouts; the caption and sampling settings stay fixed.

Loading the published Chisel experiments…

50%

Compare layouts A and B: 0% shows the generated image; 100% shows the blockout preview. The actual input was the linked depth map.

Inspect the exact shared prompt and experiment records

This is a matched example set from one seed, not a model benchmark. Generated details and object counts can vary even when the layout is guided.

02 · Source frames carry posed appearance

Keep a view the model has already committed.

Depth alone leaves the appearance open. Here the wooden-table result from layout B becomes sourceFrames for three overlapping, angled target cameras in the same room. This is a registered scene view, not an unposed mood board.

03 · White is known; black is open

Restyle the walls. Preserve the known pixels.

The three generated views now supply the RGB context. Each has its own matching depth and mask. White marks the furniture and floor to keep; black leaves the walls and ceiling open to a sage-green finish. Cameras and layout stay fixed, and sourceFrames is omitted so it does not anchor the old wall color.

Inspect the masked request
04 · RGBD is reusable scene data

Look behind the rendered image.

The angled-view run requests reconstructed depth. Its returned cameras, RGB, and finite depth samples form this point cloud. Drag to orbit, scroll to zoom, or use the arrow keys. It is derived from the generated RGBD, not from the input blockout.

Download PLY

Your experiment · explicit paid submission

Change one thing and keep the comparison.

The published examples above need no key. These controls prepare your own inputs locally; only Generate submits a billable Chisel job. Completed results stay in the comparison history.

Choose the conditioning

0.0 m
1.4 m
Chisel uses normalized scene scale here, not metres.
Prompt enhancement is off. The exact text is sent unchanged.

Run explicitly

Requires an AI3D operator key allowed to use worldlabs2-chisel, with provider-cost tracking disabled during beta. Generation consumes provider credits; AI3D beta pricing is unavailable.

The key stays in memory. Progress and job IDs are saved in this tab; completed comparison images are stored locally in this browser.

Preparing the local experiment…

Your inputs and result

Depth and target cameras match exactly and retain their order. Baseline mode shows the geometry for reference but sends none of it.

Inspect the exact request

Upload placeholders are replaced with the actual AI3D image_url values when you run.

Your retained comparisons

The latest eight completed runs stay in this browser. Removing a local comparison does not delete the server job. A pending submission always retains its original body and idempotency key for resumption.

Developer appendix: depth encoding, cameras, and command-line reproduction

The raycaster uses planar optical-axis depth at 1280 × 720. The submitted PNG is 8-bit single-channel inverted-log depth: p = clamp(round(255 × (1 − ln(z/zMin) / ln(zMax/zMin))), 1, 255), with zero reserved for no surface. Each map travels with its measured depth range and exact camera. Camera positions and depth share one world frame and distance unit; rotations are XYZW camera-to-world quaternions. Refer to the downloadable input kit and model guide for the matching Node CLI and request recipes.

Chisel produces posed RGB views and optional reconstructed depth. The main experiment adds the separate posedImages2Splats task to produce real SPZ scenes. The older PLY example above is a point cloud, not a Gaussian splat or mesh.