Download OpenAPI specification:
Public API for asynchronous image and video analysis.
Accepts a binary video file and enqueues it for analysis.
Returns 202 Accepted with a Location header to poll for results.
Optional webhooks:
webhook.url is provided, the service will POST the final result payload to that URL
when the job reaches a terminal state (finished or failed).webhook.secret is provided, the webhook request includes X-Webhook-Signature
(HMAC-SHA256). If no secret is provided, the webhook is delivered unsigned.| Max-Processing-Time | integer >= 0 Upper-bound on server-side processing time in seconds. If the job exceeds this limit the server cancels it and returns an error. If set to 0, an infinite time is accepted. |
The binary video to be processed
{- "job_id": "video_12345"
}{- "job_id": "video_12345",
- "status": "finished",
- "result": {
- "raw_scenes": [
- {
- "start_seconds": 0,
- "end_seconds": 3
}
], - "frame_activity_diffs": [
- 0.1
], - "person_constellation_scenes": [
- {
- "time_segment": {
- "start_seconds": 0,
- "end_seconds": 3
}, - "person_ids": [
- {
- "age": 34.5,
- "gender": "unidentified",
- "face_embedding": [
- 0.12,
- -0.03,
- 0.44
], - "face_thumbnail": "string",
- "allowlisted": true,
- "relative_prominence": 0.65
}
]
}
], - "ocr_results": [
- {
- "language_code": "en",
- "full_text": "Entrance -> Lobby",
- "time_segment": {
- "start_seconds": 0,
- "end_seconds": 3
}
}
], - "sections": [
- {
- "section_tag": "string",
- "time_segments": [
- {
- "start_seconds": 0,
- "end_seconds": 3
}
], - "thumbnail_timestamp": 0,
- "confidence": 1,
- "is_critical": true,
- "relative_activity": 0
}
]
}
}Accepts a JSON payload containing one or more base64-encoded images.
Returns 202 Accepted with a Location header to poll the batch status
and per-item results.
Notes:
images[].data_base64 field must be raw base64 (no data URI prefix).failed.Optional webhooks:
webhook.url is provided, the service will POST the final result payload to that URL
when the job reaches a terminal state (finished or failed).webhook.secret is provided, the webhook request includes X-Webhook-Signature
(HMAC-SHA256). If no secret is provided, the webhook is delivered unsigned.| Max-Processing-Time | integer >= 0 Upper-bound on server-side processing time in seconds. If the job exceeds this limit the server cancels it and returns an error. If set to 0, an infinite time is accepted. |
required | Array of objects non-empty One or more images to analyze |
object (WebhookConfig) The optional webhook configuration for a callback on this request |
{- "images": [
- {
- "external_id": "abc",
- "data_base64": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
}, - {
- "external_id": "def",
- "data_base64": "/9j/4AAQSkZJRgABAQAAAQABAAD..."
}
]
}{- "job_id": "image_batch_123"
}{- "job_id": "image_batch_123",
- "status": "finished",
- "items": [
- {
- "external_id": "abc",
- "result": {
- "tags": [
- {
- "tag": "cat",
- "probability": 0.92,
- "is_critical": true
}
], - "person_ids": [
- {
- "age": 34.5,
- "gender": "unidentified",
- "face_embedding": [
- 0.12,
- -0.03,
- 0.44
], - "face_thumbnail": "string",
- "allowlisted": true,
- "relative_prominence": 0.65
}
], - "ocr_results": [
- {
- "language_code": "en",
- "full_text": "Entrance -> Lobby",
- "time_segment": {
- "start_seconds": 0,
- "end_seconds": 3
}
}
]
}
}
]
}| job_id required | string Example: video_12345 |
{- "job_id": "video_12345",
- "status": "finished",
- "result": {
- "raw_scenes": [
- {
- "start_seconds": 0,
- "end_seconds": 5.2
}, - {
- "start_seconds": 5.2,
- "end_seconds": 10.7
}
], - "frame_activity_diffs": [
- 0.01,
- 0.15,
- 0.08
], - "sections": [
- {
- "section_tag": "intro",
- "time_segments": [
- {
- "start_seconds": 0,
- "end_seconds": 3
}
], - "thumbnail_timestamp": 1.2,
- "confidence": 0.91,
- "is_critical": false,
- "relative_activity": 0.2
}, - {
- "section_tag": "demo",
- "time_segments": [
- {
- "start_seconds": 3,
- "end_seconds": 5.2
}
], - "thumbnail_timestamp": 4.1,
- "confidence": 0.88,
- "is_critical": false,
- "relative_activity": 0.5
}
], - "ocr_results": [
- {
- "language_code": "en",
- "full_text": "No dogs off leash",
- "time_segment": {
- "start_seconds": 3,
- "end_seconds": 5.2
}
}
], - "person_constellation_scenes": [
- {
- "time_segment": {
- "start_seconds": 3,
- "end_seconds": 5.2
}, - "person_ids": [
- {
- "age": 29,
- "gender": "female",
- "face_embedding": [
- 0.11,
- -0.02,
- 0.33
]
}, - {
- "gender": "unidentified",
- "face_embedding": [
- 0.05,
- 0.07,
- -0.12
]
}
]
}, - {
- "time_segment": {
- "start_seconds": 5.2,
- "end_seconds": 10.7
}, - "person_ids": [ ]
}
]
}
}| job_id required | string Example: image_batch_123 |
{- "job_id": "image_batch_123",
- "status": "finished",
- "items": [
- {
- "external_id": "101",
- "result": {
- "tags": [
- {
- "tag": "cat",
- "probability": 0.92,
- "is_critical": false
}, - {
- "tag": "indoor",
- "probability": 0.76
}
], - "person_ids": [
- {
- "age": 4,
- "gender": "unidentified",
- "face_embedding": [
- 0.01,
- 0.02,
- 0.03
]
}
], - "ocr_results": [
- {
- "language_code": "en",
- "full_text": "Kitchen"
}
]
}
}, - {
- "external_id": "102",
- "result": {
- "tags": [
- {
- "tag": "dog",
- "probability": 0.88
}, - {
- "tag": "park",
- "probability": 0.61,
- "is_critical": false
}
], - "person_ids": [ ],
- "ocr_results": [
- {
- "full_text": "No dogs off leash"
}
]
}
}
]
}Returns the observed processing latency per media unit:
video: latency per second of video time.image: latency per individual image in a batch.| media_type required | string Enum: "video" "image" Media type whose latency is requested |
{- "media_type": "image",
- "unit": "image",
- "latency_ms_per_unit": 120
}