Skip to main content

Generate Voiceover

POST /v1/videos/:id/voiceover

Start an asynchronous voiceover generation job using AI text-to-speech.

Growth plan required

Voiceover is available on Growth plans and above. Starter plans receive a 403 error.

Prerequisites

The video must have subtitles (run analysis first).

Path parameters

ParameterTypeRequiredDescription
idstringYesVideo ID

Request body

ParameterTypeRequiredDescription
voiceIdstringYesVoice ID for text-to-speech (non-empty)
languagestringNoLanguage code for the voiceover

Example

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

Response 202 Accepted

{
"jobId": "tool_1708300000000_abc1234",
"status": "pending"
}

Polling for completion

Use the Jobs endpoint to check progress, or listen for the voiceover.generated webhook event.

Errors

StatusCodeCause
400validation_errorVideo must have subtitles, or missing voiceId
401authentication_errorInvalid or missing API key
403limit_exceededVoiceover requires Growth plan or higher
404not_foundVideo not found