Clients send controls and media in. The runtime streams your model's output back.
What the runtime handles
Real-time streaming
Frames and audio reach every client over WebRTC as your model produces them, paced so playback
stays smooth.
Controls and messages
Clients change the settings you declare, each one validated before your model reads it. Your
model answers with typed messages: a status, a prediction, an action.
Media input
A client’s camera, microphone, or other media source arrives as a track your model reads, for
video-to-video and audio-driven models.
Sessions
One instance serves one session after another, several clients can share a session, and your
model is told when they arrive and leave.
reactor CLI packages your model into a container, and the same container runs on your machine
and on Reactor.
Model outline
Here is what a model looks like in practice. The example is Waypoint, Overworld’s world model, which you explore with a keyboard and mouse. The complete version is in the runtime repository underexamples/waypoint.
model.py
load() runs once. Then the runtime loops: read the state, call generate(), stream the output.
reactor model deploy from the workspace. The
quickstart walks you through that. You can also test it locally;
see Test locally.
If your model already supports inference across several GPUs, see the
Multi-GPU inference.
Next
Model Anatomy
Every member of a ReactorApp, read through one working model.
The Step Loop
How the runtime drives generate(), when to skip a step, and how frames are paced.