Python SDK
Overview

Python SDK

The Overshoot Python SDK lets you run Vision Language Models on live video from any Python application. The SDK is async-first -- all methods are async and should be awaited.

Requirements

  • Python >= 3.10
  • aiohttp >= 3.9
  • livekit >= 1.0.0
  • FFmpeg and ffprobe on PATH (required for FileSource, RTSPSource, HLSSource, RTMPSource, CameraSource)

Install

pip install git+https://github.com/Overshoot-ai/overshoot-python.git

Get an API Key

Get your API key at platform.overshoot.ai/api-keys (opens in a new tab).

Client Levels

The SDK provides two client levels:

  • High-level: overshoot.Overshoot -- Manages streams with automatic keepalive, WebSocket results delivery, and resource cleanup. This is the recommended client for most use cases.
  • Low-level: overshoot.ApiClient -- Direct 1:1 HTTP endpoint mapping with no background tasks. Use this when you need full control over the stream lifecycle.

There is also a convenience function overshoot.get_models() to list available models.

Basic Usage

import asyncio
import overshoot
 
async def main():
    client = overshoot.Overshoot(api_key="ovs_...")
 
    stream = await client.streams.create(
        source=overshoot.FileSource(path="/path/to/video.mp4", loop=True),
        prompt="Describe what you see",
        model="Qwen/Qwen3.5-9B",
        on_result=lambda r: print(r.result),
    )
 
    await asyncio.sleep(30)
    await stream.close()
    await client.close()
 
asyncio.run(main())

Always close the client when done with await client.close() to release resources.

Next Steps