Introduction

fal just launched fal Worlds, a browser showcase where you walk through AI-generated worlds as they stream. Alongside it come two new realtime endpoints you can call from your own app today: Lingbot World 2 (Robbyant) and Abot World 0 (AMAP CV Lab). Both are image-to-world models. You give them a starting image or a built-in preset, then steer with WASD-style movement and camera commands while video streams back over WebRTC. Both run on fal's World Model Accelerator (WMA), and both bill at $0.00125 per compute second.

Neither model is new. Both have had open weights since July. What changed overnight is that you no longer need a multi-GPU rig or a third-party demo to put one in front of players: it's one hosted session with a documented control contract.

What shipped

  • Launch: at 18:12 UTC on Oct 15 (02:12 MYT Oct 16): "Build characters, explore environments, direct scenes, and watch worlds respond to your actions." The landing page is at fal.ai/worlds
  • Endpoints: fal-ai/lingbot-world-2/start-session and fal-ai/abot-world-0/start-session, both listed in fal's catalog at 19:58 UTC on Oct 15. Both are tagged worlds, world-model, realtime, interactive, walkable, explorable
  • Modality: image → interactive video world. Movement and look controls go in, a live video track comes out
  • Open vs API: this is a hosted API on fal. The weights behind it are open: LingBot-World v2 is CC BY-NC-SA 4.0, which fal labels research, and ABot-World-0-5B-LF is Apache 2.0, which fal labels commercial
  • Where to run today: the fal Worlds playground (sign in to fal), or your own web app through the alpha JS client. fal's WMA docs call the whole layer experimental, so pin your SDK versions
  • Price: $0.00125 per compute second on both endpoints. That works out to about $4.50 per hour of session compute

The two worlds, side by side

Lingbot World 2Abot World 0

Vendor

Robbyant

AMAP CV Lab (acvlab)

Stream on fal

1664×960, 48 fps video track

1280×704, 16 fps video track

Controls

forward / left / backward / right, look up / down / left / right, plus up to 9 quick actions on number keys

the same 8 movement and look controls

Extras

LLM prompt expansion (on by default), safety checker toggle

preset, prompt or image only

Weights license

CC BY-NC-SA 4.0 (non-commercial)

Apache 2.0

Self-host reference

14B causal-fast at 480p on 8 GPUs; 1.3B on 4 GPUs

720p at 16 fps on one RTX 5090, 1.2 s latency, 19 GB

The self-host numbers come from each project's own README. Robbyant says it will not release its deployment code and points to the SGLang and NVIDIA flashdreams recipes instead, which is a big reason a hosted endpoint matters here. ABot-World-0 builds on Wan2.2-TI2V-5B.

Wiring it into a game prototype

Do not call these with fal.run, fal.subscribe or the queue API. Open a realtime session instead, and keep FAL_KEY behind a server proxy:

npm install @fal-ai/client@alpha @fal-ai/server-proxy@alpha

import { createFalClient } from "@fal-ai/client";
import { wma } from "@fal-ai/client/realtime";

const fal = createFalClient({ proxyUrl: "/api/fal/proxy" });

const session = fal.realtime.open(wma("fal-ai/lingbot-world-2"), {
  receive: ["video"],
  onMedia: (stream) => { document.querySelector("video")!.srcObject = stream; },
  onData: (raw) => console.log(JSON.parse(raw)),
});

The world starts on its own. Wait for the first frame, then send held keys in active and fresh presses in activated. Send empty arrays when the player lets go:

{ "type": "commands", "active": ["forward"], "activated": [] }

Other messages you get on the same data channel:

  • configure (once per session): a preset, a prompt (up to 2,000 chars) or your own image_url. On Lingbot this is also where quick_actions go: up to nine, each with a key from 1–9, a title of up to 40 chars and a description of up to 1,000 chars
  • prompt: rewrites the scene while the same world keeps running
  • reset and stop: restart the world or end the session. The server sends stream_exhausted when it runs out of frames, and you open a new session to continue
  • stats: per-block telemetry such as generation_fps, queue_depth and gpu_wait_frac. Use it to show players an honest latency readout

fal's own example prompts show the house style for these models: a third-person follow camera, "complete body clearly visible at lower center", and a "navigation-ready" route at least six metres wide, with no stairs or narrow doorways. Treat that as the safe envelope. These are video world models, not physics engines.

If you want to host your own world model the same way, WMA's Python side (fal.wma.App) needs fal 1.81.4 or later and Pydantic 2. fal's WMA page says it's accepting partners for the first wave of production world models.

Caveats

  • Experimental transport. fal says the WMA API can change, so pin @alpha client versions in anything you ship
  • License split. Lingbot's weights are non-commercial. If you're prototyping a commercial game loop, Abot World 0 (Apache 2.0) is the cleaner path
  • Not a new model drop. Both models have been public since July and have run on other hosted demos. The news is fal's endpoints, the per-second price, and a documented control schema
  • fal also listed H3 Max Reference Director (minimax/h3-max/reference-director) the same night, for steering a continuous world with image references. That one is directed video rather than walkable movement

Original Source

https://fal.ai/worlds

https://fal.ai/models/fal-ai/lingbot-world-2/start-session

https://fal.ai/models/fal-ai/abot-world-0/start-session

https://fal.ai/docs/documentation/development/wma

Conclusion

fal Worlds turns two open world models into something a game prototyper can actually call: one WebRTC session, eight movement verbs, up to nine scripted actions, and a per-second bill. Start with Abot World 0 if you need commercial terms, use Lingbot World 2 if you want higher frame rates and quick actions for research builds, and pin the alpha SDK before you build a level around it.

—Titus