Skip to content
PyAI Dub

Your recording.
In another language.

Bring your audio and video to listeners in another language. Dub transcribes your recording, translates the speech and returns a dubbed audio track through one API workflow.

11 output languages · Asynchronous jobs · Downloadable WAV

Hear the translation

English

Original recording

Hindi हिन्दी

Dubbed audio

A synthetic English recording and its Hindi output from the Dub API. Listen to both.

Pricing

One rate. A finished dub.

$0.2/min of source audio, per output language

Original voice matching, editing, downloads and subtitles included. Billed per second; failed jobs cost nothing. Regenerate only the passages you need.

See pricing and account terms →

Choose your audience

Source and output languages, selected separately.

Source languages (8)

  • English
  • Spanish
  • French
  • German
  • Hindi
  • Italian
  • Portuguese
  • Dutch

Output languages (11)

  • English
  • Spanish
  • French
  • German
  • Hindi
  • Italian
  • Portuguese
  • Chinese
  • Japanese
  • Korean
  • Russian

The console shows current availability. The audio example above demonstrates English to Hindi.

From source to speech

One recording. Three steps.

01

Upload your recording

Start with audio or video. Choose its source and output languages, then identify whether the recording has one speaker. Mixed mono recordings with multiple speakers need a transcript with speaker labels and timestamps.

02

Follow the transformation

One job handles transcription, translation and voice rendering. Check its status while it runs.

03

Download the dubbed audio

When the job is done, save the WAV and listen through before publishing or sharing it.

Built for your workflow

Add dubbing to your application.

Use your PyAI product key with the dub:render scope. Submit the recording, keep the job ID, then fetch the audio once processing finishes.

Submit audio
curl https://api.pyai.com/v1/dub \
  -H "Authorization: Bearer $PYAI_API_KEY" \
  -F file=@recording.wav \
  -F source_lang=en \
  -F target_lang=hi \
  -F single_speaker=true

Choose from 11 output languages

This example uses a single-speaker English recording and Hindi output. Set the source and target language fields for your recording and audience. Use single_speaker=true only when one person speaks.

A job, with a clear result

Status responses show progress through the recording. Download after done, or inspect the error if processing stops.

Submission fields and error handling

Questions about Dub

How much does Dubbing cost?

Dubbing costs $0.2/min of source audio per output language, billed per second. Original voice matching, text editing, downloads and subtitles are included. Regeneration bills only the selected passages. Failed jobs cost nothing.

What is PyAI Dub?

Dub turns a source recording into another language through an asynchronous API job. It transcribes the recording, translates the speech and produces downloadable audio.

Which languages can I dub into?

Dub supports English, Spanish, French, German, Hindi, Italian, Portuguese, Chinese, Japanese, Korean, and Russian output. The console shows currently available languages.

Which source languages can I upload?

English, Spanish, French, German, Hindi, Italian, Portuguese, and Dutch. Choose the recording's source language and the desired output language independently.

Do I need to provide a transcript?

For one speaker, set single_speaker=true and Dub transcribes the recording. Recordings with a separate speaker on each of two audio channels can also be transcribed automatically. Mixed mono recordings with multiple speakers need a transcript with speaker labels and timestamps.

Does Dub stream in real time?

No. Submit the recording, poll the returned status URL, then download the result when the job reports done. Use Speak for live text-to-speech.

When should I use Dub instead of Cast or Speak?

Use Dub to translate an existing recording into another language. Use Cast to direct a voiceover from a script, and Speak to synthesize text directly.

How do I start with the API?

Use a product key with the dub:render scope. For a single-speaker recording, upload audio to POST /v1/dub with source_lang=en, target_lang=hi and single_speaker=true. The guide includes submission, polling and download examples.

Starting with text instead? Explore Speak for speech synthesis or Cast for directed voiceovers.