Skip to main content
POST
/
streams
Error
A valid request URL is required to generate request examples
{
  "stream_id": "<string>",
  "webrtc": {
    "type": "<string>",
    "sdp": "<string>"
  },
  "lease": {},
  "turn_servers": [
    {}
  ],
  "livekit": {}
}

Documentation Index

Fetch the complete documentation index at: https://docs.overshoot.ai/llms.txt

Use this file to discover all available pages before exploring further.

The v0.2 API is deprecated. New integrations should use v1.

Authorizations

Authorization
string
header
required

Provide your API key in the Authorization header as 'Bearer <api_key>'

Body

application/json

Create a new video inference stream.

Minimal example (frame mode, native transport):

{
"processing": { "interval_seconds": 2.0 },
"inference": { "prompt": "Describe what you see", "model": "Qwen/Qwen3.5-9B" }
}
processing
ClipProcessingConfig · object
required

Clip mode processing config. Samples frames into short video clips for temporal analysis (motion, actions, events).

Provide target_fps directly, or the legacy fps + sampling_ratio pair (not both).

inference
StreamInferenceConfig · object
required

What the AI model should do with the video.

source
WebRTCSourceConfig · object

Legacy WebRTC source. Send an SDP offer and receive an SDP answer in the response.

webrtc
WebRtcOffer · object

(Legacy) WebRTC offer. Use source instead.

mode
enum<string> | null

Processing mode. Auto-detected from processing config if omitted. 'clip' for video clips, 'frame' for single images.

Available options:
clip,
frame
client
StreamClientMeta · object

Optional client metadata for request tracking.

Response

Stream created. Use stream_id for all subsequent operations.

Returned after successfully creating a stream. Contains connection details specific to the chosen transport.

stream_id
string
required

Unique stream identifier. Use this for keepalive, close, prompt update, and WebSocket connection.

webrtc
WebRtcAnswer · object

SDP answer for WebRTC sources. Null for native/livekit sources.

lease
Lease · object

Stream lease info including ttl_seconds. Send keepalives before TTL expires.

turn_servers
Turn Servers · object[] | null

TURN server credentials for WebRTC sources. Null for native/livekit sources.

livekit
Livekit · object

LiveKit connection details (url + token) for native sources. Connect to this room to publish video.