Video search, indexing, and exports for your own product
Use VidScanner from your backend to upload footage, index visual and spoken evidence, run natural-language searches, export clips, and read usage against your plan limits.
Authentication
API requests require a server-side bearer token created from the authenticated API console. Browser session JWTs are rejected on/v1/api/*routes.
Authorization: Bearer vsk_live_YOUR_API_KEYDirect uploads
Signed upload URLs keep large files out of your app server.
Multimodal search
Query visual evidence, spoken transcript, or combined matches.
Usage-aware
Plan limits, overages, and rate limits apply consistently.
Core endpoints
The public API lives under /v1/api and uses API-key auth only.
/v1/api/videos/upload-urlCreate a signed URL for direct-to-storage video upload.
/v1/api/videosFinalize an uploaded video and queue indexing/transcription.
/v1/api/videosList videos in the authenticated account.
/v1/api/searchSearch videos by visual query, transcript query, or both.
/v1/api/exportsQueue a downloadable clip export from a source video.
/v1/api/usageReturn current plan usage and API rate-limit context.
Search example
Combined search returns evidence where the visual query and audio query align in time.
curl -X POST https://vidscanner.com/v1/api/search \
-H "Authorization: Bearer vsk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"search_mode": "combined",
"video_query": "a red backpack entering the lobby",
"audio_query": "visitor badge"
}'Upload example
After uploading bytes to the signed URL, finalize the video to queue indexing.
curl -X POST https://vidscanner.com/v1/api/videos/upload-url \
-H "Authorization: Bearer vsk_live_YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"filename": "inspection.mp4",
"content_type": "video/mp4",
"size_bytes": 10485760
}'