API
On this section

Guide

Dubbing a video into another language

Translate the speech in a video, keep each speaker's voice, and choose between Standard and Pro.

Dubbing translates the speech in a video into another language. It clones each speaker's voice to say the translation, and lip-syncs their faces to it. You get the dubbed video back.

Send a video

video_urlurlrequired

URL of the video to dub, up to 10 minutes.

Must be an http(s) URL.
target_languagestringrequired

Language to dub into, as a BCP 47 tag.

terminal
# Submit a job
curl -X POST "https://api.veed.io/v1/dubbing" \
  -H "Authorization: Bearer $VEED_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
  "target_language": "en",
  "video_url": "https://static-assets.veed.io/api-examples/dubbing-input.mp4"
}'

# Poll until COMPLETED (response includes data.job_id)
curl "https://api.veed.io/v1/dubbing/{job_id}" \
  -H "Authorization: Bearer $VEED_API_KEY"

Send target_language as a BCP 47 tag, such as en. The reference lists every language the model takes:

POST
/v1/dubbing

The price is $0.077 per second of the generated video.

Name the source language

source_languagestringoptional

Language spoken in the video, as a BCP 47 tag. Omit it, or send auto, to detect it.

The model detects the spoken language by default. Set source_language when you know it, and the model skips detection.

Choose Standard or Pro

The Pro variant takes the same fields as Standard, and differs in three ways:

  • Dialects. Standard dubs a regional tag as its base language. Pro also takes the dialects that its reference lists.
  • Control over the cloned voice. Pro takes voice_cloning_strength.
  • Languages. The two variants do not take the same languages. Each one takes some languages that the other does not.
POST
/v1/dubbing-pro

The price of Pro is $0.126 per second of the generated video. Start with Standard. Move to Pro when you need a dialect, or when the cloned voices need tuning. Before you move, find your target language in the Pro reference.

Tune the cloned voice

voice_cloning_strengthintegeroptional

How closely the dubbed voices match the speakers. Higher keeps more of each speaker's voice and accent; lower sounds more natural in the target language.

Between 0 and 10.Defaults to 7.

voice_cloning_strength goes from 0 to 10, and defaults to 7.

  • The dubbed voice does not sound like the speaker? Raise it.
  • The accent sounds wrong in the target language? Lower it. The voice then sounds more like a native speaker, and less like the original one.

Getting good results

  • Send clear speech. Music and background noise make the translation worse. If the recording is noisy, run it through Clean Audio first.
  • Show the faces clearly. The lip-sync needs front-facing, well-lit faces.
  • Try a short clip first, before you send a long job.

Limits and long videos

One job takes a video within the limits in video_url above. Split a longer video into separate jobs, dub each part, and join the results.

If a job ends FAILED, its error.code says why. Each poll endpoint lists what every code means:

GET
/v1/dubbing/{job_id}
GET
/v1/dubbing-pro/{job_id}