- Movement is now possible along two independent axes (longitudinal and lateral)
- A native
set_camera_poselayer drives directed camera moves to create new types of camera control - A broader prompt-steering surface handles mid-stream scene changes.
Reactor class (model name reactor/lingbot-world-2), send named
commands, receive events. LingBot World 2 also has a typed SDK, @reactor-models/lingbot-world-2,
that wraps the base class with named methods (setImage, setPrompt, start, …) and React hooks;
the tutorial uses it. See
Typed Model SDKs.
At a glance
| Spec | Value |
|---|---|
| Model name | reactor/lingbot-world-2 |
| Pricing | |
| Frame rate | 48 fps |
| Resolution | 1664 × 960 |
| Input | Reference image + text prompt |
new Reactor({ modelName: "reactor/lingbot-world-2" }); the create-reactor-app CLI and the
pricing catalog use the short slug lingbot-world-2. See Pricing & Billing
for how billing works.
Key features
Two-axis WASD navigation
Drive the camera with independent longitudinal (W/S) and lateral (A/D) movement, plus
arrow-key look. Commands apply at the next chunk boundary.
Image-anchored generation
A reference image fixes the visual identity of the world; the prompt steers atmosphere and
content. An image is required before generation starts.
Directed camera moves
The native
set_camera_pose layer drives arbitrary camera movements with per-frame
motion deltas that can either augment or fully replace the look axes.set_prompt to change weather,
lighting, or events without restarting the session or losing the reference image. The
prompt guide covers how to write effective
prompts.
Quick start
The fastest path to a working LingBot World 2 app is thecreate-reactor-app CLI, which scaffolds
the reference frontend into a runnable project. You can also clone the
open-source reference frontend
itself, or follow the tutorial for a guided
walkthrough.
- npm
- pnpm
pip install reactor-sdk and follow the Python tab below (see the quickstart for the
full walkthrough).
A minimal connect-and-generate flow looks like:
@reactor-models/lingbot-world-2, gives you
new LingbotWorld2Model() with named methods and React hooks (useLingbotWorld2,
<LingbotWorld2MainVideoView />); the tutorial
builds on it. See Typed Model SDKs.
How it works
On connect the model is live but idle; it won’t produce frames until it has both a reference image and a prompt and you callstart. In order to get your first generated video stream, you must:
- Connect to the model.
- Upload and set a reference image with
set_image; it anchors the visual identity of the world. - Set a prompt with
set_promptto describe the scene and how the camera and subject may move. - Start generation.
startfails with acommand_erroruntil both an image and a prompt are set. - Drive the camera with the two movement axes (W/S + A/D) and the look axes (arrow keys), or
direct it with
set_camera_pose. - Restyle live by hot-swapping the prompt with
set_prompt; the change lands on the next chunk. - Pause / resume between chunks, or reset to clear state and re-stage with new conditions.
LingBot World 2 generates video one chunk at a time. Movement and look are persistent
state, not pulses:
set_move_longitudinal: "forward" keeps driving until you send "idle".
Commands take effect at the next chunk boundary, so a quick key tap released before the boundary
may never land on screen. When a run finishes, the server auto-restarts it with the same prompt
and image until you reset. See the schema for the
full surface.