Reactor class (model name lingbot), send named commands, receive
events. LingBot’s surface adds commands for the prompt, the seed image, WASD movement, the look axes,
the seed, and playback control.
At a glance
| Spec | Value |
|---|---|
| Model name | lingbot |
| Pricing | |
| Throughput | 16 fps |
| Latency | < 1 second |
| Resolution | 1664 × 960 |
new Reactor({ modelName: "lingbot" }). See
Pricing & Billing for how billing works.
Key features
Interactive WASD navigation
Drive the camera through a generated world with movement and look commands that apply at the
next chunk boundary.
Image-anchored generation
A seed image fixes the visual identity of the world; the prompt steers the rest.
Live prompt swapping
Re-fire
set_prompt at any time mid-generation to swap atmosphere, lighting, or events
without restarting the session.Quick Start
The fastest path to a working LingBot app is thecreate-reactor-app CLI, which scaffolds a runnable
project for you. You can also clone the
open-source reference frontend
directly, or follow the tutorial for a guided walkthrough.
- npm
- pnpm
@reactor-models/lingbot, with named methods
(setImage, setPrompt, start, …) and React hooks; the
tutorial uses it. See
Typed Model SDKs.
For a clean first frame, wait for the
image_accepted event between set_image and start;
otherwise the first chunk renders before the seed image lands and the scene corrects itself one
chunk later. The tutorial
shows the pattern.How it works
On connect the model is live but idle; it won’t produce frames until it has both a seed image and a prompt and you callstart. The workflow:
- Connect to the model.
- Upload and set a seed image with
set_image; it anchors the visual identity of the world (required). - Set a prompt with
set_promptto steer atmosphere and content (required). - Start generation.
startfails with acommand_erroruntil both an image and a prompt are set. - Drive the camera with the movement and look setters (WASD + arrow keys).
- Pause / resume between chunks, or reset to clear state and re-stage with new conditions.
LingBot generates video one chunk at a time, and movement and look are persistent state, not
pulses:
set_movement: "forward" keeps walking until you send "idle". Commands take effect at the
next chunk boundary, so a quick key tap released before the boundary may never visibly land. See the
schema for the full command and event surface.