Introduction
Expand your video content to global audiences by translating videos into 40+ languages with natural-sounding AI voiceovers and synchronized subtitles. No need to re-record or hire translators - simply provide your video URL and target language.Key Features
40+ Languages
Support for major European, Asian, and other languages
AI Voiceover
Natural-sounding voices matching original tone
Auto Subtitles
Synchronized subtitles generated automatically
Fast Processing
10-20 minutes average turnaround time
Workflow Overview
Video translation is a 4-step asynchronous process:1
Get Resources
Get supported languages and available voices
2
Submit Translation
Submit your video URL, target language, and voice selection
3
Processing
AI translates audio and generates voiceover (10-20 min)
4
Retrieve Result
Get translated video and subtitle files
Video Duration Limit: Videos must be between 0-3 minutes in length.
Processing time: 10-20 minutes for typical videos (varies by length). Use webhooks or polling to get results.
Quick Start
Related API Endpoints
| Endpoint | Purpose | Documentation |
|---|---|---|
GET /v2/video_translate/target_languages | Get supported languages | API Reference |
GET /v2/voices | Get available voices (filter by language) | API Reference |
POST /v2/video_translate/ | Submit translation task | API Reference |
GET /v2/video_translate/{video_translate_id} | Check translation status | API Reference |
Key Parameters
| Parameter | Type | Required | Description |
|---|---|---|---|
video_url | string | ✅ | URL of the video to translate (must be publicly accessible, 0-3 minutes duration) |
output_language | string | ✅ | Target language name (e.g., “spanish”, “french”, “japanese”) |
output_voice | string | ❌ | Specific voice ID for target language (auto-selected if omitted) |
add_subtitles | boolean | ❌ | Generate subtitle file (.srt) (default: true) |
title | string | ❌ | Title for the translated video |
translate_audio_only | boolean | ❌ | Translate audio only without lip sync (default: false) |
enable_dynamic_duration | boolean | ❌ | Enable dynamic duration adjustment (default: false) |
callback_url | string | ❌ | Callback URL for status notifications |
Code Examples
Step 1: Get Supported Languages
List all available target languages:Step 2: Get Available Voices for Target Language
Get voices available for your target language:Save the
voice_id from the response to use as output_voice in translation request. You can filter by gender and age if needed.Step 3: Submit Translation Task
Submit your video for translation:Save the
video_translate_id to check status later!Step 4: Check Translation Status
Poll to check if translation is ready:| Status | Description | Action |
|---|---|---|
pending | Task queued | Wait for processing |
processing | Translation in progress | Continue polling (every 10s) |
completed | Translation finished | Download video and subtitles |
failed | Translation failed | Check error message |
Use Case Examples
E-commerce Product Videos
E-commerce Product Videos
Translate product demos for international markets:
- Get voices for target market language
- Submit translation with appropriate voice
- Generate localized product videos
- Reach global customers effectively
Educational Content
Educational Content
Translate training videos for global teams:
- Batch translate to multiple languages
- Use consistent voice across languages
- Enable subtitles for better comprehension
- Scale training content globally
Marketing Campaigns
Marketing Campaigns
Localize marketing videos for different regions:
- Translate to regional languages
- Choose voices matching brand identity
- Maintain message consistency
- Reduce production costs
Customer Support
Customer Support
Create multilingual support videos:
- Translate FAQ and tutorial videos
- Use clear, professional voices
- Enable subtitles for accessibility
- Improve customer experience globally
Tips for Best Results
Voice Selection:- Match gender and approximate age to original
- Consider formal vs casual tone
- Test different voices with short clips
- Use
/voices?language={language}to preview available voices - Choose appropriate
output_voicebased on preferences
- ✅ Improves comprehension accuracy
- ✅ Helps viewers in noisy environments
- ✅ Accessibility for hearing impaired
- ✅ Aids language learning
- ✅ Enabled by default with
add_subtitles: true
- Submit all tasks at once (parallel processing)
- Use descriptive task tracking
- Implement webhook for completion notification
- Handle failures gracefully (retry logic)
- Monitor API rate limits
Troubleshooting
Translation takes too long
Translation takes too long
Issue: Processing exceeds expected timeSolutions:
- Video length impacts processing time (2-5 min per minute of video)
- Verify video URL is publicly accessible
- Check video file size (very large files take longer)
- Check current API status for delays
- Use webhook to get notified when complete
Poor voiceover quality
Poor voiceover quality
Issue: Translated audio doesn’t sound naturalSolutions:
- Try different
output_voicevalues for target language - Ensure original audio is clear (low background noise)
- Check if original speech pace is too fast
- Enable subtitles for better context
- Test with high-quality source video first
Video not accessible
Video not accessible
Error:
Video URL not accessibleSolutions:- Ensure URL is publicly accessible (no authentication)
- Check CORS/download restrictions
- Verify video format is supported (MP4, MOV, AVI)
- Try uploading to a CDN first
- Check URL is not expired or temporary
Translation inaccurate
Translation inaccurate
Issue: Translated content doesn’t match originalSolutions:
- Original audio may not be clear enough
- Check for heavy accents or dialects
- Avoid technical jargon or domain-specific terms
- Consider adding subtitles to original first
- Test with simpler, clearer speech

