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.gitGet 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.