recording_start
Start capturing an active display or region as a silent MP4, WebM, or GIF take; then stop and poll status to finalize the video.
Instructions
Start recording an active output (or a region within it) into a silent artifact: H.264 MP4 by default, or AV1 WebM, or a constrained GIF fallback. Returns immediately; call recording_stop to finish, then poll recording_status until the phase is completed or failed. The pointer cursor is always included. Narration anchors come from the timeline streams ingested for this take, so the tool server that drives the demonstration has to publish one.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| audio | No | Desktop audio to capture alongside the picture. Defaults to off: the artifact stays silent unless you ask for a track. "monitor" records the desktop's default output (application and system sound); "mic" records the host's default microphone input; "auto" is monitor when a default sink is resolvable and mic otherwise. Ignored for gif (GIF cannot carry audio). Capturing with a narration added later puts speech on top of this track. | off |
| format | No | mp4: silent H.264 MP4 at 30 fps (default, widest compatibility); webm: silent AV1 WebM at 30 fps; gif: constrained fallback at 12 fps, 960 px maximum width. | mp4 |
| output | No | Exact output name (Sway or Hyprland); inferred when exactly one output is active. | |
| region | No | Region fully contained in the selected output. | |
| timeline_sources | No | Stream files to ingest for this take. Defaults to every *.jsonl file in streams/ under the seshat runtime directory. Paths are validated when the take starts. | |
| max_duration_seconds | No | Automatic stop deadline. Defaults to 60 (mp4/webm) or 15 (gif); GIF recordings are capped at 15 seconds. |