Dub video into another language
dubPaid, per target language: voice 5 credits per source minute (voiceTier basic: en, es, fr, zh, ja, ko via Workers AI MeloTTS, hi, ar, bn, pt, ru, ur, id, de, tr, it, vi via Google WaveNet) or 12 (standard: en, es via Deepgram Aura-2, hi, ar, bn, pt, ru, ur, id, de, tr, it, vi via Google Chirp 3 HD), plus transcription 1/min and translation 2/min when you do not pass them. Transcribes, translates, voices each line, fits it to the original timing (speeds up to 1.25x, rewrites a line shorter once if needed, pads with silence), mixes over the original audio ducked to -18 dB (keepOriginalAudio duck, default) or muted, and returns an MP4 plus target-language SRT/VTT/JSON (audioTrack:true adds an M4A). Reuse work with transcriptionJobId or subtitles (source language) and translationJobId or translatedSubtitles (target language). Unsupported languages or tiers return 422 limit_exceeded before any charge; call plan first. Refunded if the job fails. No voice cloning or lip sync.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| voice | No | Voice id from list_voices (listen to sampleUrl first). Omit for the default voice of the language and tier. | |
| fileId | No | ||
| mediaUrl | No | ||
| subtitles | No | Source-language SRT, VTT, or JSON. | |
| voiceTier | No | Defaults to the voice's tier, else basic. | |
| audioTrack | No | Also return the dubbed audio as M4A. | |
| maxCredits | No | ||
| sourceLanguage | No | ||
| targetLanguage | Yes | ISO 639-1: en, es, fr, zh, ja, ko, hi, ar, bn, pt, ru, ur, id, de, tr, it, vi. | |
| translationJobId | No | A translate job into targetLanguage. | |
| keepOriginalAudio | No | ||
| transcriptionJobId | No | Reuses its cues and its stored media. | |
| translatedSubtitles | No | Target-language SRT, VTT, or JSON. |