> Documentation index: https://api.veed.io/llms.txt. Fetch it to find every other page, as Markdown.

# 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_url` · url · required — URL of the video to dub, up to 10 minutes.
- `target_language` · string · required — Language to dub into, as a BCP 47 tag.

```bash
# 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` — [reference](https://api.veed.io/docs/api/post-v1-dubbing.md)

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

## Name the source language

- `source_language` · string · optional — 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` — [reference](https://api.veed.io/docs/api/post-v1-dubbing-pro.md)

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_strength` · integer · optional — 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](https://api.veed.io/docs/guides/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}` — [reference](https://api.veed.io/docs/api/get-v1-dubbing-job-id.md)

`GET /v1/dubbing-pro/{job_id}` — [reference](https://api.veed.io/docs/api/get-v1-dubbing-pro-job-id.md)
