Get Translation Status
Translation
Get Translation Status
Check the status of a translation project and retrieve results
Get Translation Status
Get Translation Status
Retrieve the current status of a translation project. Use this endpoint to poll for progress and get the translated video URL when processing is complete.Request
Headers
Your VoiceCheap API key. Get one from app.voicecheap.ai/page-api.
Path Parameters
The unique identifier of the translation project returned from the Start Translation endpoint.
Response
The response structure varies based on the translation status.Common Fields
The unique identifier of the project
The name of the project
URL to the original uploaded video/audio file
The detected or specified original language
The target language for translation
Duration of the content in seconds
Unix timestamp when the project was created
Current project step. During creation/transcription this reflects those steps (e.g.
downloading_content, content_validation, transcription_processing). Once dubbing starts, it may switch to the active dubbing step (e.g. smart_sync, audio_assembling) so status: processing does not pair with actualProgressStep: done.Approximate progress percentage for project creation/transcription (0-100)
Current dubbing step for the target language (e.g.
smart_sync, audio_enhancement, video_upload)Approximate progress percentage for dubbing (0-100)
Current status of the translation:
processing, success, or failedLip Sync Fields
When lip-sync was requested, the response includes an additionallipSync object:
Lip-sync status and output details (only present when lip-sync was requested)
When lip-sync is requested, the translation stays in
processing until lipSync.status is COMPLETED.
If lip-sync fails, the status becomes failed and the error.code is LIPSYNC_FAILED. When lip-sync succeeds,
read the lip-synced asset from lipSync.videoUrl; translatedVideoUrl is the translated video output before the
lip-sync overlay.Success Response Fields
Whenstatus is success, the following additional fields are included:
URL to download the translated video file
URL to download the translated audio file separately
Failed Response Fields
Whenstatus is failed, the following additional field is included:
Error details
Examples
Response Examples
Processing Status
Processing Status (Lip Sync Requested)
Success Status
Success Status (Lip Sync Completed)
Failed Status
Polling Best Practices
Recommended polling interval: 10-30 secondsTranslation time varies based on video length and complexity. For a typical 2-minute video, expect 2-5 minutes of processing time.
Errors
| Status | Code | Description |
|---|---|---|
| 401 | INVALID_API_KEY | The provided API key is invalid |
| 403 | FORBIDDEN | You don’t have access to this project |
| 404 | PROJECT_NOT_FOUND | The specified project does not exist |
| 429 | RATE_LIMIT_EXCEEDED | Too many requests (limit: 30 requests per minute) |

