03 /The platform underneath

A distributed data format that unlocks random access to video frames.

VideoDB built a distributed data format for machine understanding of the visual world. It sits as a logical layer on top of your existing files and spreads the work across as many machines as you give it. Every video primitive in your workflow, from transcoding to search, runs on top.

Use one API · Run in our cloud or yoursStart building ↗
Right architectureFlexible temporal boundary of retrieved clips. The question decides the window.
High speed500 ms to get clips, or direct access to frames.
Low costNo re-encoding, by design.
SOC 2 Type IIGDPRISO 27001Zero data retentionSOC 2 Type IIGDPRISO 27001Zero data retentionSOC 2 Type IIGDPRISO 27001Zero data retentionSOC 2 Type IIGDPRISO 27001Zero data retentionSOC 2 Type IIGDPRISO 27001Zero data retentionSOC 2 Type IIGDPRISO 27001Zero data retention

04 /Quickstart

Get started immediately.

Get your API key, upload a file, index it, search it, play the evidence.

pip install videodb or npm install videodbPython and Node
npx skills add video-db/skillsCoding agents
from videodb import connect

conn = connect()                      # 1. get your API key at console.videodb.io
coll = conn.get_collection()

video = coll.upload(url="s3://lab/run-0412.mp4")    # 2. upload a file

u = video.understand(analyzers=[{"type": "vlm", "name": "scene",
    "config": {"prompt": "What happens, and with what result?"}}])
u.wait_until_complete()
idx = video.index(name="scene", source=u.get_analyzer("scene"))   # 3. index

res = video.semantic_search(query="the gripper drops the bottle",   # 4. search
    index_ids=[idx.index_id], top_k=5)
for shot in res.get_shots():
    print(shot.start, shot.end, shot.metadata)

stream = res.compile()                # 5. the evidence, as a playable stream
Machine

https://videodb.io/platform.mdOpen the file