Create Analysis
Starts an analysis on a video.
Request
POST /videos/{video_id}/analysis
| Parameter | Type | Required | Description |
|---|---|---|---|
video_id |
integer | Yes | Video ID, in the path |
fps |
integer | No | Legacy body field. Analyses always run at 25 frames per second, so 25 is the only accepted value |
The body is optional and {} is the normal request. The video does not have to be available yet: the analysis sits in waiting_for_video until it is, then starts on its own. Run the confirm-sides widget before this call; the analysis workflow guide has the full sequence.
{}
400 when the video is shorter than 10 minutes, when its duration cannot be determined, or when fps is set to anything other than 25:
{ "message": "Length of video has to be more then 10 minutes" }
401 without a valid token, 403 when the caller has no access to the video, 404 when the video does not exist.
Response
{
"data": {
"id": 1247,
"video_id": 789,
"status": "init",
"algorithm_version": "0.4.98",
"parameters": {},
"results_available": false,
"progress": 0,
"video": {
"id": 789,
"title": "Team A vs Team B"
}
}
}
Response Fields
| Field | Type | Description |
|---|---|---|
id |
integer | Analysis ID |
video_id |
integer | Video the analysis runs on |
status |
string | See Status Values |
algorithm_version |
string | Pipeline version the analysis runs |
parameters |
object | Analysis parameters. Empty on a default run |
results_available |
boolean | True when results can be queried |
progress |
number | Estimated completion, 0-100 |
video |
object | The video object |
Track progress with webhooks or by polling Get Analysis.