Skip to main content

Getting Started

The Vidocu API lets you upload videos, generate subtitles, translate content, create voiceovers, and export finished videos — all programmatically.

Quick start

1. Get your API key

Create an API key from the Vidocu Dashboard. Keys use the format vdo_live_....

2. Upload a video

# Get a presigned upload URL
curl -X POST https://api.vidocu.ai/v1/videos/upload \
-H "Authorization: Bearer vdo_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{
"filename": "demo.mp4",
"contentType": "video/mp4",
"name": "Product Demo"
}'

Response:

{
"id": "vid_1708300000000_abc1234",
"uploadUrl": "https://storage.vidocu.ai/...",
"videoUrl": "https://storage.vidocu.ai/..."
}

Upload the file to the presigned URL:

curl -X PUT "UPLOAD_URL_FROM_ABOVE" \
-H "Content-Type: video/mp4" \
--data-binary @demo.mp4

3. Analyze the video

curl -X POST https://api.vidocu.ai/v1/videos/vid_.../analyze \
-H "Authorization: Bearer vdo_live_your_key_here" \
-H "Content-Type: application/json" \
-d '{}'

This returns a job ID. Analysis runs asynchronously — poll the job to track progress:

curl https://api.vidocu.ai/v1/jobs/analysis_... \
-H "Authorization: Bearer vdo_live_your_key_here"

4. Get the subtitles

Once analysis completes, fetch the generated subtitles:

curl https://api.vidocu.ai/v1/videos/vid_.../subtitles \
-H "Authorization: Bearer vdo_live_your_key_here"
{
"videoId": "vid_...",
"language": "en",
"subtitles": [
{ "startTime": 0.5, "endTime": 3.2, "text": "Welcome to the demo" }
]
}

What's next