Overview Scan
Manage your videos, ask questions, and build applications with the Platform API. Explore the operations below for request details, responses, and examples.
No matching documentation. Try a different search.
Overview Scan
Overview scan creates a searchable summary of a video's content. Use the endpoint below to start a scan or update an existing summary.
POST/api/v1/projects/:projectId/videos/:videoId/smart-scanTrigger (or re-run) a smart scan
Trigger (or re-run) a smart scan
Body is optional. Pass dry_run: true to plan without persisting or billing, or aconfig_override object (quality, strategy, …). Returns 202 when queued.
{ "config_override": { "quality": "balanced" }, "dry_run": false }GET/api/v1/projects/:projectId/videos/:videoId/smart-scanGet scan status + last run
Get scan status + last run
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/videos/:videoId/smart-scan using your project key or user token.
GET/api/v1/projects/:projectId/videos/:videoId/smart-scan/summaryGet the Overview scan summary
Get the Overview scan summary
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/videos/:videoId/smart-scan/summary using your project key or user token.
GET/api/v1/projects/:projectId/videos/:videoId/scenesList scenes for a video
List scenes for a video
Query: min_time, max_time, source, min_importance, limit.
GET/api/v1/projects/:projectId/scenes/:sceneIdGet a single scene
Get a single scene
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/scenes/:sceneId using your project key or user token.
GET/api/v1/projects/:projectId/scenes/searchSearch video scenes by text
Search video scenes by text
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/scenes/search using your project key or user token.
GET/api/v1/projects/:projectId/frames/searchSemantic search over indexed frames
Semantic search over indexed frames
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/frames/search using your project key or user token.
GET/api/v1/projects/:projectId/videos/:videoId/smart-scan/summariesList a video's scan summaries, newest first
List a video's scan summaries, newest first
Every summary written for the video, including the rolling summaries of a live scan. Query: limit.
{
"video_id": "VIDEO_ID",
"summaries": [
{ "id": "SUMMARY_ID", "created_at": "2026-10-01T09:30:00Z", "content": "Two trucks unload at bay 2..." }
]
}GET/api/v1/projects/:projectId/videos/:videoId/utterancesGet the video's timed transcript
Get the video's timed transcript
Speech in the video, in order, with start and end times in seconds. Speakers are labelled anonymously (SPEAKER_00, SPEAKER_01, …).
{
"video_id": "VIDEO_ID",
"count": 2,
"utterances": [
{ "speaker_id": "SPEAKER_00", "t_start": 3.2, "t_end": 5.9, "text": "Bay two is clear." },
{ "speaker_id": "SPEAKER_01", "t_start": 6.4, "t_end": 8.1, "text": "Backing in now." }
]
}POST/api/v1/projects/:projectId/streams/:streamId/live-scanStart a live scan on a stream
Start a live scan on a stream
Scans a live stream continuously, writing rolling summaries and raising alerts for what you watch for. Body is optional: settings saved with live-scan/config are used. Returns 202; 409 if a scan is already running. Needs write access.
{ "watch": { "watch_for": ["person climbing the fence"] }, "summaries": true }GET/api/v1/projects/:projectId/streams/:streamId/live-scanGet live scan status
Get live scan status
state is idle when no scan is running.
{
"stream_id": "STREAM_ID",
"state": "running",
"startedAt": "2026-10-01T09:00:00.000Z",
"timeoutSec": 3600,
"lastSampleAt": "2026-10-01T09:42:10.000Z",
"stopReason": null
}DELETE/api/v1/projects/:projectId/streams/:streamId/live-scanStop a live scan
Stop a live scan
Stops the scan and turns it off for the stream, so it does not restart on its own. Needs write access.
GET/api/v1/projects/:projectId/streams/:streamId/live-scan/configGet a stream's live scan settings
Get a stream's live scan settings
Send the request to https://platform.endlessai.com/api/v1/projects/:projectId/streams/:streamId/live-scan/config using your project key or user token.
PUT/api/v1/projects/:projectId/streams/:streamId/live-scan/configUpdate a stream's live scan settings
Update a stream's live scan settings
Send only the fields to change. fps: above 0, up to 10. timeout_sec: 60–86400 seconds, or 0 to run until stopped — it keeps using tokens until you stop it. Needs write access.
{
"enabled": true,
"watch_for": ["person climbing the fence", "vehicle in the fire lane"],
"fps": 1,
"timeout_sec": 3600
}