reactor.yaml, and the runtime encodes the frames your model produces in the background.
Turning recording on
reactor.yaml
Your model class does not change. The recorder reads the tracks your
Output already declares.Recording is best-effort. If the encoder falls behind, the recorder drops frames rather than
holding up the stream, so a recording is not guaranteed to be a lossless copy of every frame you
emitted.
What gets recorded
The recorder captures one video track and, optionally, one audio track from your model’s output. When the model has several tracks of the same kind, name the ones to record. Otherwise the recorder takes the first of each kind it finds.reactor.yaml
self.output.flush() cuts live playout but does not interrupt the
recording, so a clip spanning a reset contains both sides of it.
Capturing a clip
Clients ask for clips through the SDK. There are two requests: the last N seconds, where the client picks N, or the full session recording up to that point.<ClipPlayer /> previews one and
<ClipDownloadButton /> saves it; elsewhere the SDKs expose a download call that writes the file.
Clips are also the quickest way to check your recording setup: connect from the
Reactor Sandbox and use its Capture panel.

Recordings
Capture, preview, and download recordings in your app, including download authentication and how
long a recording stays available.
Configuration
Every field has a default, so override only what you need.reactor.yaml
seconds
default:"4"
How much of a delay there is between asking for a clip and it becoming playable. A clip can only
include chunks that have finished writing, so a smaller value makes clips feel more live.
pixels
Lock the recording to a fixed size. Worth setting when your output resolution can change while
the session runs; without it the recorder locks to the first frame’s size and rescales the rest.
seconds
default:"300"
The longest snap a client can request. A full recording is not capped by this.
Performance
The recorder encodes on its own thread and needs no external binary, but it does use CPU and memory. When encoding cannot keep up, the recorder waits up to a second for space in its queue, then drops the rest of that emission and logs a warning. The wait delays the model’s next step. It does not delay media already sent to clients.Next
Video & Audio Tracks
The tracks the recorder reads, and how audio stays in sync with video.
Loading Weights
Another
reactor.yaml setting that works the same locally and in production.