Alpha · upload, process, ask

Ask your footage
what happened.

Upload camera footage. Every object is tracked and timestamped, with masks on every frame. Then ask it what happened, as if you had watched the whole thing yourself.

MP4 · MOV · WEBM · MKV up to 500 MB (about an hour of camera footage). Your uploads are private to your Google account.
What happens to a video
01Upload lands in a private bucket, owner-only playbackCloud Run
02A GPU worker probes for motion and runs the detector at a variable rate, drawing segmentation masksT4 · YOLO11n-seg
03Detections are tracked; static objects are carried across frames so every frame with an object has oneresult.json
04You ask questions; answers are grounded in the video and its eventsGemini
Selected video
00:00
Loading…
Ask the videogrounded · video + events
Pick a sample or upload a video, then ask about a moment, an object, or a change. Answers cite timestamps you can click.
Try
Samples are public clips. Answers come from the video itself; timestamps jump the player. Sign in to upload private footage.
Results, not just replies

Every video comes back with structured results you can inspect.

The worker writes a result file next to your upload: tracked objects with segmentation masks, events with first and last seen times, a per-second timeline, and coverage and timing figures. The chat reads the same events, so answers and masks agree.

Events

One row per tracked object

Click a row to jump the player and highlight that object.
Detections & masks

Polygon masks at every keyframe, carried between them

{ "loading": true }
YOLO11n-seg, variable rate: motion triggers up to 5 detections/s, and at least one every 2 s.
Coverage · this video

How much of the video has an object

Frames covered by at least one confirmed track over all frames.
Job states
uploaded──queued──processing on T4──ready

The GPU worker starts when a job is queued and deletes itself when the queue stays empty. Chat works as soon as the upload finishes; masks and events arrive when the job is ready.

NVI vs Google

We ran the same clips through Google’s video API. Here is what came back.

Google Cloud Video Intelligence is the closest hosted equivalent to the NVI worker: send a video, get tracked objects back. Same files, same day, one run each. This is an anchor, not a benchmark.

Metric
NVI worker
Google Video Intelligence
Time to result · 57 s clip1280×720 · 30 fps
6.7 sGPU worker (T4) · 8.5× realtime
61 ssubmit → done, object tracking
Time to result · 11 min film426×240 · 24 fps
53 sGPU worker (T4) · 12.4× realtime
415 s889 tracks · 99 entity types · one run
What you get per frame
Box and polygon mask on every frame the object is present. Between detector keyframes the box is interpolated and the mask carried.
Boxes at about one per second per object. No masks.
Vocabulary · 57 s clip
35 tracked objects, 10 labelsCOCO classes: person, car, bus, suitcase…
161 tracks, 40 entity typesbroader: clothing, shoes, packaged goods, lighting
Where it runs
Your laptop, an on-prem GPU, or our T4 worker that starts per job and deletes itself.
Google-hosted batch only. The whole file leaves your network.
What feeds the answer
Events with timestamps and masks ground the chat, so the answer and the overlay agree.
Raw annotation JSON. You build the question-answering layer yourself.
Fair reading: Google finds more, broader entities; NVI returns COCO classes with masks, faster, on hardware you control. The 57 s NVI number is the GPU worker's own processing time and excludes cold start (about three minutes when no worker is running); Google's number includes upload and queueing. Measured 9 Sep 2026.
The NVI API

The layer a raw video API leaves to you.

Everything on this page goes through NVI’s own API: identity, uploads, processing, results, playback, and grounded chat. The reasoning model behind it is configuration, not architecture.

POST/v1/videosupload, up to 500 MB
GET/v1/videos/{id}/statusqueued · processing · ready
GET/v1/videos/{id}/resultstracks, masks, events, coverage
GET/v1/videos/{id}/fileowner-only, signed playback
POST/v1/videos/{id}/chatgrounded question answering
POST/v1/access/requestask for alpha access
LayerNVI APIGeneral video APIs
WorkflowOwns identity, videos, events, masks, playback, permissionsPrimitives only; you keep the workflow state
Data boundaryFootage and detection can stay local; only selected evidence is sent to a modelThe whole file goes to the provider
GroundingTimestamps, events, camera context, masks feed every answerCustom orchestration required
Model choiceProvider-neutral; Gemini today, swappableProvider-locked
OperationsAccess approval, quotas, storage, queue, GPU workersLimits differ by provider
These rows describe how the two are built. For measured numbers, see the comparison above.
Where this scales

The same worker runs at the edge, on your cameras.

The desktop app watches live RTSP and ONVIF cameras locally. Detection, events, and clips stay on the device; the cloud adds questions, remote review, and alerts.

NVI desktop · live monitoring 4 cameras · local
Cameras
Chat
Events
Settings
edge · no footage leaves the device
DRIVEWAYperson
FRONT DOOR
BACK LOTcar
WAREHOUSEno motion
18:42:07 DRIVEWAY · person entered18:41:12 BACK LOT · car parked
Local app, edge-firstTauri · macOS & Windows

Add cameras over RTSP or ONVIF. Motion gating, detection, and masks run on your hardware. Events and clips are stored locally and searchable.

Cloud brain, only when askedGemini · remote viewer · alerts

Ask questions across events and clips in plain English. Review from a phone through the remote viewer. Get a push notification when something you care about happens.

Batch processing, on demandGCP T4 · scale to zero

What this demo uses: upload recorded footage, get masks, events, and answers back without installing anything. The same worker image runs locally or in the cloud.

Alpha access

Bring your own footage.

NVI is a hand-approved alpha. Sign in with Google, request access, and we turn on private uploads and chat for your account. Free to evaluate now; pricing comes with the beta.

01Sign inGoogle account only. Your token never leaves the browser except to NVI.
02Request accessOne click. Samples and public chat stay open while you wait.
03Upload and askOnce approved: private uploads, masks, events, and chat on your own videos.