Skip to main content
EdenLive, from VAST, is a real-time world model that creates high-fidelity interactive worlds from a low-fidelity 3D scene. Build a simple environment in Three.js or another 3D engine, then send its rendered video to EdenLive with a reference image and a text prompt. EdenLive uses the reference and prompt to generate the world’s appearance as you move through the scene. Your rendered video guides the layout, camera, and motion. Your app controls the geometry, movement, camera, and physics. It also keeps the game rules, health, and score. The model returns generated video. A scene made from colored cubes and other primitives can guide a detailed environment in the visual style you choose. To try it first, use one of the seven built-in games that EdenLive runs for you.

At a glance

Use reactor/eden-live when you open a session. See Pricing & Billing.

Key features

Scene consistency

Use your 3D scene to guide consistent object placement and camera movement in the generated world. The engine keeps landmarks in place as you explore.

Art-directed environments

Pair the scene with a reference image and prompt to choose its materials, lighting, and visual style.

Live visual changes

Update the prompt or switch video sources while the world keeps its visual history.

Quick start

Install the published typed SDK in your app:
Then connect, pick a built-in game, and start a world. Your server issues the token; see Authentication.
The tutorial adds controls and game status, then streams your own game.

How it works

  1. Connect to reactor/eden-live, publish your rendered scene as source_video, and call set_source({ source: "client" }). Sessions default to the built-in game source.
  2. Upload a reference image and set a prompt. Until you call start, both outputs show the staged reference. Call start to create the world.
  3. Play the generated main_video while your app handles movement and physics. Compare it with draft_video, which shows the source frames used for generation.
  4. Update the prompt with set_prompt to steer the next generated chunk. The current reference image and visual history stay in use, so changes can be gradual.
  5. Pause or resume the same world with set_paused. The state_update message reports the complete session state.
Seven built-in games are available as an alternate video source. Steer them with held keys (set_keys) and a mouse-look rate (set_look). Each state_update reports the game’s state, health, events, and outcome. See the schema for commands and lifecycle details.
Calling start creates a new world. Both select_game and set_image require a paused world and end it, so call start after either command.