Persistent sessions
Model state stays alive across commands and reconnects, so a world keeps going instead of starting over.
Realtime video editing · Continuous video · Interactive worlds · Audio + video
Run realtime video and interactive world models inside your product: one API, streamed live, billed by the second. 10 models for video and interactive worlds.
A request ends. A session keeps running. AI video is moving from finished clips to live streams that respond to every input, and it needs a platform built for that.
Model state stays alive across commands and reconnects, so a world keeps going instead of starting over.
Prompts, images, camera, and movement change the stream while it plays, on the same connection.
Long-lived sessions keep each model ready and stream its frames over WebRTC.
Billing starts when the session is ready, never while it queues or boots, and stops when it is released.
Video editing, continuous video, interactive worlds, and audio with video, all behind the same API. Every model page lists inputs, controls, price, and limits.
Full model catalog
$0.0017Per ready second
Steerable video
Video that keeps going from a prompt or an image. Change the prompt and the scene follows.
33-frame generation chunks

$0.0021Per ready second
Multi-shot direction
Direct a scene shot by shot: ease into the next shot, or cut to a new one.
1280 × 704 · multi-shot

$0.0019Per ready second
Live video effects
Restyle a webcam or a clip as it plays. The motion stays; the look changes.
1280 × 704 · native edit

$0.0024Per ready second
Explorable worlds
Turn one image into a world, then walk through it: move and look around as it renders.
1408 × 768 delivery
WF / verified signals
Measured by Windflow. Methods and raw runs are in the linked report.
MiniMax H3: a 14.4 s window in 9.30 s · 960×544
Windflow measuredp90 578 ms · 1248×720 at 24 fps
Windflow measured · medianJavaScript · Python
Private beta
Full stack
Model runtime to product, one platform
Windflow runs every layer between a realtime model and your product, so your team builds the experience, not the infrastructure.
Inference clouds were built for request and response. Realtime models behave like a video call: one continuous session, state kept, frames never stopping. We rebuilt that layer.
Generation · 33-frame blocks
Delivery
no gapOn block-based models such as Helios, a new prompt lands at the next block. The block in progress is dropped, and video keeps playing while the next one renders.
Connect once, play the stream, send commands. The same session code works for every model; only the commands change.
import { Windflow } from "@windflow/sdk";const session = new Windflow.Session({ model: "helios" });session.on("trackReceived", ({ name, track }) => { if (name !== "main_video") return; if ("attach" in track) track.attach(video); else video.srcObject = new MediaStream([track]);});await session.connect(jwt);await session.sendCommand("set_prompt", { prompt: "a city at dawn" });await session.sendCommand("start", {});// Steer it while it runs.await session.sendCommand("set_prompt", { prompt: "the same city at night" });
Create
Allocate a model runtime
Connect
Attach realtime transport
Control
Send supported commands while live
Observe
Read frames, state, and usage
Building with realtime models? Approved accounts start with $5 and pay only for ready seconds. Training one? We make it stream live and put it in front of developers on the same platform.
No invite yet? Request one by email