Ask questions about a video (async job)
POST/api/v1/systemone/jobs
Queue questions about one video and poll GET /v1/systemone/jobs/{job_id} for the answer (or pass callback_url to receive the finished job as a POST). Give the video as exactly one of video.url (public http(s) file URL), video.video_id (a video in your library; 404 when not visible to you) or video.upload_id (a file from POST /v1/systemone/uploads; 404 with code: systemone_upload_not_found when not in your organization). Besides noul, choice and score, jobs accept time questions, answered with {presence, best: {start, end, score} | null, segments, resolution_s}.
A job the model rejects ends as failed with the reason in error.
Each request counts as one video against your organization's video quota (GET /v1/usage); a request that gets no answer (400, 404, 503, or a job that ends as failed) is not charged, or is returned to the quota. When the quota is exhausted the response is 422 with code: quota_exceeded_videos. A key that belongs to no organization gets 422 with code: systemone_no_org.
Request
Responses
- 202
- 401
- 403
- 404
- 422
- 500
- 503
Successful Response
Missing or invalid API key. Add Authorization: Bearer vuf_live_<keyid>.<secret>.
Key used outside the public API roots (/api/v1, /api/v1.1).
Referenced resource (video / job / ad) not found.
Request body failed validation.
Upstream service error — usually safe to retry.
Inference (or the job queue) is temporarily unavailable; nothing was charged. Retry with backoff.