Video Translate Quickstart
Translate and lip-sync any video to new languages
Translate your video content to multiple languages with automatic lip-syncing and voice cloning. The Video Translate endpoint handles speech translation, voice matching, and mouth movement synchronization.
Create a video
Send a POST request with your video URL and the target languages.
curl -X POST "https://api.d-id.com/translations" \
-H "Authorization: Basic <YOUR KEY>" \
-H "Content-Type: application/json" \
-d '{
"source_url": "https://your-storage.com/video.mp4",
"languages": ["French", "Spanish"]
}'{
"translations": [
{
"id": "trs_abc123",
"name": "video-french",
"status": "validating",
"group_id": "grp_xyz789"
},
{
"id": "trs_def456",
"name": "video-spanish",
"status": "validating",
"group_id": "grp_xyz789"
}
]
}Save the id for each translation — you'll need them to check the status and retrieve the videos.
Supported languages: Arabic, Chinese, Dutch, English, French, German, Italian, Japanese, Korean, Portuguese, Russian, Spanish, and more.
Check the video status
Poll the GET endpoint for each translation until the status changes to done. Translation typically takes 1-5 minutes depending on video length.
curl -X GET "https://api.d-id.com/translations/trs_abc123" \
-H "Authorization: Basic <YOUR KEY>"{
"id": "trs_abc123",
"status": "done",
"result_url": "https://result.d-id.com/.../video.mp4"
}Poll until status is done. Translation typically takes 1-5 minutes depending on video length.
Get your videos
Once the status is done, the result_url field contains a direct link to your translated video. Each language creates a separate output video.
curl -O "https://result.d-id.com/.../video.mp4"The video URL is valid for 24 hours. Store the video or re-fetch the translation to get a fresh URL.
Updated 1 day ago
