About Video Translator
Dub a clip into 28 languages with subtitles, billed per minute.
Call it with the model name popnow/video-translator-v1/video-translate on POST /jobs/createTask, from $0.005.
Introduction
Video Translator dubs a talking clip into another language. Send the footage in video_url and choose target_language; the tool transcribes the speech, translates it, voices it again in time with the original lines and returns the same picture with the new audio. Turn on clone_voice and each speaker keeps a voice modelled on their own.
Key features
The speakers still sound like themselves
With clone_voice on, the dub is spoken in a voice built from each speaker's own: in our two-person test the woman and the man came back in Spanish with their own timbre, and each line started where the original line started.
Your names stay your names
List terms in glossary as {term, translation} pairs and they are translated your way every time. In our test a phrase listed in the glossary was used verbatim in both lines where it occurred.
Request parameters
| Parameter | Required | Description |
|---|---|---|
clone_voice | No | Re-voice each speaker in a voice modelled on their own. Default: false |
glossary | No | Names and phrases with a fixed translation, up to 100 pairs. |
keep_background_audio | No | Keep the original music and sound effects under the dub; turn off for voices only. Default: true |
source_language | No | The language spoken in the clip. Auto detects it; pick it when music, a strong accent or long pauses confuse detection. auto · en · zh-CN · zh-TW · yue · es · fr · de · it · pt · ru · ja · ko · ar · hi · tr · vi · th · id · ms · nl · pl · uk · sv · fi · da · no · nn · cs · sk · ro · hu · el · bg · hr · sr · sl · bs · mk · sq · lt · lv · et · he · fa · ur · ps · sd · bn · as · pa · gu · mr · ne · sa · ta · te · kn · ml · si · my · km · lo · bo · ka · hy · az · kk · uz · tg · tk · mn · ba · tt · be · is · fo · cy · br · eu · gl · ca · oc · lb · la · mt · af · sw · so · am · ha · yo · ln · sn · mg · tl · jw · su · haw · mi · ht · yi · Default: auto |
speaker_count | No | How many people speak, 1 to 4. Leave empty to detect it. 1 · 2 · 3 · 4 |
target_language | No | The language to dub into. It must differ from the language in the clip. en · es · fr · de · it · pt · nl · sv · da · no · fi · el · ru · pl · tr · he · id · ms · vi · th · tl · sw · zh-CN · zh-TW · ja · ko · ar · hi · Default: en |
video_url | Yes | The clip to work on. |
Pricing
Prices are in USD. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
| Option | USD per second |
|---|---|
| Standard | $0.005 |
Send the same request body to POST /jobs/quote to see the estimated and maximum USD charge before running. A quote does not run the task or charge your balance.
Use cases
Localising short-form video
Post the same clip for several language markets without booking a voice actor for each one.
Dubbing characters from video models
Generated characters that speak English can be dubbed into your audience's language while keeping the character's voice.
Prompt guide & pro tips
Set the spoken language when there is music
Automatic detection is reliable on clean speech. If a task fails with a message about processing the video, set source_language and send it again.
Tell it how many people talk
speaker_count is optional, but setting it on a two-person dialogue keeps each line with the right voice.
Plan for the picture
Only the audio is replaced. For close-ups where the mouth matters, run the dubbed clip through the Lip Sync tool afterwards.
API quick start
Call the Video Translator API in three steps
- Create an API key. Sign in to PopNow and create a key in the API console. Keys start with sk-popnow-. API calls use your separate USD balance.
- Send the request. POST /jobs/createTask with model popnow/video-translator-v1/video-translate and an input object that follows the parameter table. The response returns a task ID straight away.
- Get the result. Poll GET /jobs/recordInfo with the task ID, or pass a callBackUrl and we post the result to it. Download the output links when the task succeeds.
# 1. Create the task. Keep the Idempotency-Key if you retry after a network error.
export IDEMPOTENCY_KEY="$(uuidgen)"
curl -X POST https://api.popnow.ai/api/v1/jobs/createTask \
-H "Authorization: Bearer $POPNOW_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: $IDEMPOTENCY_KEY" \
-d '{
"model": "popnow/video-translator-v1/video-translate",
"input": {
"video_url": "https://media.popnow.ai/effects/flower-bloom-1abd6efb.mp4",
"target_language": "en",
"source_language": "auto"
}
}'
# 2. Copy data.taskId from the response, then poll until state is succeeded, failed, canceled or expired.
TASK_ID="TASK_ID_FROM_RESPONSE"
curl "https://api.popnow.ai/api/v1/jobs/recordInfo?taskId=$TASK_ID" \
-H "Authorization: Bearer $POPNOW_API_KEY"Replace the prompt and any links with your own. The API tab has the response, polling and callback reference.
Video Translator API questions
How much does the Video Translator API cost?
Video Translator costs $0.005 per second. The API uses a separate USD balance. Website credits cannot be used or transferred to it, and API funds cannot be transferred to website credits. When a task is accepted, we reserve the maximum quoted amount from your API balance. On completion, we charge for actual usage, never more than the hold, and release the remainder. If the task fails, the hold is released.
What is the model name for Video Translator in the API?
Put popnow/video-translator-v1/video-translate for Video Translator in the model field of POST /jobs/createTask.
Does it change the lip movements?
No. The picture comes back frame for frame as you sent it; only the audio is replaced. Run the result through the Lip Sync tool if the mouth movement needs to match the new language.
What happens to music and sound effects?
With keep_background_audio on (the default) they stay under the new voices. Turn it off and the returned clip carries only the translated speech, with silence in between.
Do I get subtitles?
Yes. Every result comes with a subtitle file (.srt) of the translated speech, timed to the dub, returned as a second asset with the role subtitle next to the video.
Can I try Video Translator without writing code?
Run Video Translator in the Playground with your API USD balance, without an API key. Each run appears in your developer history with its matching code.