The core primitive in Overshoot is theDocumentation Index
Fetch the complete documentation index at: https://docs.overshoot.ai/llms.txt
Use this file to discover all available pages before exploring further.
Stream.
Clients connect any live video source to Overshoot via the Stream. Creating one is straightforward — call /streams with an API key:
stream_id and a LiveKit room. Use any LiveKit SDK to join the room and publish your video into it. Our media gateway joins the same room, ingests your stream, and prepares it for inference.
Sample response
Sample response
Stream holds the state of your live feed as long as it’s alive. Read on for how to keep one alive, and how to kill it.
Stream state
TheStream holds your video as long as it’s alive. If you push no frames, it sits empty.
To check the state (e.g. frames received, recent FPS, time to expiry, etc.), call:
Sample response
Sample response
Stream ends when it expires (5 min idle), gets DELETEd, or gets reaped by the system. Once state flips to ended, it stays ended — there is no resume.
How to keep a stream alive
When Overshoot starts ingesting your stream, we run a fair amount of processing in the background to make every frame available for any model. To avoid leaking sessions, a stream will expire after 5 minutes. To keep it alive, call/keepalive with your stream_id regularly. Every 2 minutes is a safe cadence.
How to kill a stream
DELETE it.