Get Video
GET /v1/videos/:id
Retrieve a single video by its ID.
Path parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
id | string | Yes | Video ID (e.g. vid_1708300000000_abc1234) |
Example
curl https://api.vidocu.ai/v1/videos/vid_1708300000000_abc1234 \
-H "Authorization: Bearer vdo_live_your_key_here"
Response 200 OK
{
"id": "vid_1708300000000_abc1234",
"name": "Product Demo Q1",
"status": "completed",
"videoUrl": "https://storage.vidocu.ai/...",
"thumbnailUrl": "https://storage.vidocu.ai/...",
"videoDuration": 120.5,
"language": "en",
"exportedVideoUrl": "https://storage.vidocu.ai/...",
"exportedSrtUrl": "https://storage.vidocu.ai/...",
"exportedVoiceoverUrl": "https://storage.vidocu.ai/...",
"exportedAt": "2024-02-19T10:30:00.000Z",
"locked": false,
"lock": null,
"packageDownload": null,
"createdAt": "2024-02-18T14:00:00.000Z",
"updatedAt": "2024-02-19T10:30:00.000Z"
}
See List Videos for the full field reference.
Lock state
locked tells you whether this video's content is frozen. When it is, lock carries who locked it
and when:
{
"locked": true,
"lock": {
"lockedAt": "2026-08-01T09:14:00.000Z",
"lockedBy": "usr_8f21a0",
"lockedByName": "Dana Levi"
}
}
Locking freezes a package so it stays stable through an approval cycle. While locked, analysis,
voiceover, translation and help-article generation all return
423 Locked. Exporting and moving the video between projects still
work. Unlock it in the Vidocu app to make changes.
Package backup
packageDownload records the last time this video's package ZIP was built and its link sent, or
null if that has never happened:
{
"packageDownload": {
"downloadedAt": "2026-08-20T09:12:00.000Z",
"downloadedBy": "usr_8f21a0",
"downloadedByName": "Dana Levi"
}
}
To find published content with no offline backup on record, list videos with
backup=none.
Errors
| Status | Code | Cause |
|---|---|---|
| 401 | authentication_error | Invalid or missing API key |
| 404 | not_found | Video does not exist or belongs to a different workspace |