Use these terms consistently when reading or writing about Overshoot. The source of truth for the wire format isDocumentation Index
Fetch the complete documentation index at: https://docs.overshoot.ai/llms.txt
Use this file to discover all available pages before exploring further.
api-reference/openapi.yaml.
Stream
A leased live-video session. A Stream holds the most recent window of frames your client publishes (up to roughly 10 minutes of buffer) and exposes them to vision-language models through theovs:// URI scheme.
- Created by
POST /streams. - Inspected by
GET /streams/{stream_id}. - Renewed by
POST /streams/{stream_id}/keepalive. - Deleted by
DELETE /streams/{stream_id}.
stream_id
UUID returned by POST /streams. Use this exact spelling in prose and code — not "streamId" or "stream ID". Pass it as a path parameter on stream endpoints and as part of the ovs:// URI.
Frame
A single image extracted from the publisher’s video track and stored in the Stream’s buffer. Reference an individual frame from chat completions withframe_index (see below).
frame_index
Integer index into a Stream’s retained frames.
frame_index=-1— the most recent frame (typical for “what’s happening right now”).frame_index=0— the first frame still retained in the buffer (older frames are evicted).
last_frame_index, first_available_frame_index, retained_frame_count, and evicted_frame_count from GET /streams/{stream_id}.
Segment
A time-bounded slice of a Stream, referenced viastart_offset_ms and optionally end_offset_ms.
start_offset_ms=-5000means “5 seconds ago relative to the live edge”.start_offset_ms=0means “the start of the available buffer”.- Omit
end_offset_msto mean “now”.
ovs:// URI
Overshoot’s stream-reference URI scheme. Used inside image_url or video_url content parts on /chat/completions.
- Frame:
ovs://streams/{stream_id}?frame_index=-1 - Segment:
ovs://streams/{stream_id}?start_offset_ms=-5000 - Bounded segment:
ovs://streams/{stream_id}?start_offset_ms=0&end_offset_ms=10000
ovs:// URI is a reference identifier the server parses to extract stream_id and the query — it is not a fetchable URL. See Chat Completion for examples.
Lease
The keepalive window for a Stream. Default is 5 minutes from the most recent keepalive (or stream creation). When the lease expires, the Stream is deleted.Keepalive
The act of renewing a Stream’s lease. CallPOST /streams/{stream_id}/keepalive roughly every 2 minutes while the Stream is in use. Each keepalive returns a fresh LiveKit token you can use to rejoin the room if your publisher disconnects.
Model id
The string you pass as themodel field on /chat/completions. Format is provider/model-name:
Qwen/Qwen3.5-9BQwen/Qwen3-VL-30B-A3B-Instructgoogle/gemma-4-E4B-itHcompany/Holo3-35B-A3B
GET /models or browse the Models page.
LiveKit room
The WebRTC publish target returned byPOST /streams. Comprises a wss:// URL and a short-lived JWT token. Connect with any LiveKit SDK to publish your video track. Overshoot’s media gateway is the only other participant in the room.
API key
Bearer token used to authenticate requests. Prefixed withovs-. Issued from the Overshoot dashboard. Only GET /models is unauthenticated.