Home / Developers

DEVELOPERS Beta

Your library, from your own code.

The reads you get in the app, available over HTTP: list a library, run an analysis, poll the batch, search in plain language. Keys you scope yourself, one credit balance shared with the app, and an OpenAPI 3.1 spec the reference is generated from.

Run a read, then collect it POST /v1/analyses
# Your base URL and key are issued together.

curl -X POST "$VIP_API_BASE/v1/analyses" \
  -H "Authorization: Bearer $VIP_API_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{ "video_ids": ["6f1c2b9e-1a4d-4f6b-9c3e-0d2a5b7c1e88"],
        "prompt": "List every safety violation, with timestamps.",
        "tier": "balanced" }'
202 Accepted
{ "object": "analysis_run",
  "batch_id": "b2c3d4e5-6f7a-4b8c-9d0e-1f2a3b4c5d6e",
  "status": "processing",
  "tier": "balanced",
  "credits_charged": 25 }
# The batch embeds its analyses, so one poll answers both
# "is it done" and "what did it say".

curl "$VIP_API_BASE/v1/batches/$BATCH_ID" \
  -H "Authorization: Bearer $VIP_API_KEY"
  • Your own dashboard

    Pull videos, analyses, batches and reports into whatever your team already has open.

    GET /v1/videos · /v1/analyses · /v1/reports
  • A bot that posts the finding

    Start a read, poll the batch, drop the summary into Slack the moment it completes.

    POST /v1/analyses → GET /v1/batches/{id}
  • Search, wherever you work

    One request, a plain-language query across the whole library. Spends no credits.

    POST /v1/search
Scoped keys
vip_sk_ keys scoped per resource — videos:read, analyses:write. Shown once, stored only as a hash.
Idempotent
Anything that spends credits takes an Idempotency-Key. Retry with the same one and you are never charged twice.
Rate limits
120 requests a minute per key on Business, 600 on Enterprise. Separate keys keep separate budgets.
Credits
The same balance and the same per-minute rates as the app. No API surcharge and no second allowance to track.
Specified
OpenAPI 3.1, with the endpoint reference generated from it — so the documentation cannot drift away from the code.
Errors
One shape everywhere, a stable type and code to branch on, and a request_id on every response.
ACCESS Beta

Tell us what you're building.

v1 reads everything and runs analyses and templates. Uploads and report generation still happen in the app, and there are no webhooks yet — you poll the batch. It ships on Business and Enterprise; during the beta we open keys by hand.

One reply about API access. We won't use it for anything else.

MCP Coming soon

Point an agent straight at your footage.

Your library as tools a model can call — search the footage, run a read, pull the report back — without you writing the client first.

It isn't built yet. What gets built next is decided by who asks for it, so if this is the thing you want, say so.

> curl $VIP_API_BASE/v1/me_

Everything the app reads, your side of the wire.

The API ships on Business and Enterprise. Pricing, credits and what a read costs are on the pricing table.

See pricing