How to choose a voice

View as Markdown

Voice cloning learns each speaker from the source audio and re-performs them in the target language, so the dub keeps the original speaker’s voice rather than substituting a narrator.

This is the default and the recommended choice for most content. Nothing needs enabling and no voice needs picking: create a job and each speaker comes back as themselves.

Voice cloning

On by default. Preserves every original speaker’s voice identity in each target language, and handles multi-speaker files by cloning each speaker separately.

Cloning also scales to conversations. Set num_speakers to the number of people in the file (1 to 10), or -1 to auto-detect, and each speaker is cloned and kept distinct through the dub.

When to reach for a preset voice instead

Cloning needs enough clean speech per speaker to work from. When it does not have that, or when you deliberately do not want the original voice reproduced, dubbing can re-voice the file with one of 15 preset voices instead, chosen with voice_id.

Consider a preset voice when:

  • The source audio is too noisy, too short, or too heavily processed to clone from, so a cloned result would sound unstable.
  • You want one consistent narrator across a large library recorded by many different people.
  • You must not reproduce the original speaker’s voice, whether for consent, privacy, or contractual reasons.
  • The source is synthetic already, so there is no human identity worth preserving.

A preset voice needs voice_cloning: false. Because cloning is the default, passing voice_id on its own has no effect: the API discards both voice_id and pace_preset without raising an error. If your dub comes back in the original speaker’s voice despite naming a voice, this is why.

Using a preset voice

Turn cloning off and name the voice. Everything else about the job is unchanged.

1created = client.dubbing.create(
2 source_language_code="en-IN",
3 target_language_codes=["hi-IN"],
4 export_options=["video"],
5 num_speakers=1,
6 voice_cloning=False,
7 voice_id="ishita",
8 pace_preset="normal",
9 job_name="explainer-01",
10)

One preset voice narrates every target language in the job, so a three-language job with ishita returns three dubs in that same voice. For the surrounding upload, start, and poll steps, see the Dubbing Overview.

Preset voices are single-speaker only. The API resolves your parameters like this:

num_speakersvoice_cloningWhat you get
1 (default)falseThe preset voice_id you named. voice_id is required; omitting it fails with 422.
1 (default)true (default)The cloned original voice. voice_id and pace_preset are discarded.
> 1 or -1 (auto-detect)any valueCloning, always. Multi-speaker jobs force voice_cloning: true and discard voice_id silently, because one preset voice cannot represent several speakers.

voice_id is case- and whitespace-insensitive, so "Ishita" and " ishita " both resolve to ishita. An unrecognised name fails with a 422 unprocessable_entity_error that lists every accepted value. The Python SDK types it as a plain string rather than an enum, so your editor will not autocomplete it or catch a typo.

Adjusting the pace

pace_preset controls how fast a preset voice speaks. It applies only when cloning is off, and defaults to normal.

ValueEffect
slowSlower delivery, useful for instructional and educational content
moderateSlightly slower than normal
normalDefault delivery
fastQuicker delivery, useful for dense narration and promos

Dubbing fits each translated segment to the original speaker’s timing, so a target language that needs more syllables than the source gets compressed to fit. If a dub sounds rushed, slow gives that fitting step more room to work with.


The 15 preset voices

Only these 15 names are valid for voice_id. Every sample reads the same Hindi line, “वाह, यह तो कमाल है! Sarvam AI के साथ अपनी भाषा में बात करना अब बहुत आसान हो गया है।”, so you can compare them directly.

Male

shubh avatar
shubh
Confident & Bold
0:00
rahul avatar
rahul
Deep & Authoritative
0:00
rohan avatar
rohan
Confident & Bold
0:00
amit avatar
amit
Steady & Trustworthy
0:00
dev avatar
dev
Casual & Relatable
0:00
ratan avatar
ratan
Rich & Mature
0:00
manan avatar
manan
Clear & Professional
0:00
sumit avatar
sumit
Deep & Authoritative
0:00

Female

ritu avatar
ritu
Expressive & Lively
0:00
priya avatar
priya
Cheerful & Engaging
0:00
pooja avatar
pooja
Cheerful & Engaging
0:00
simran avatar
simran
Rich & Mature
0:00
kavya avatar
kavya
Polished & Articulate
0:00
ishita avatar
ishita
Polished & Articulate
0:00
shreya avatar
shreya
Energetic & Warm
0:00

These previews are Bulbul v3 recordings of the same voice identities, shared with text-to-speech. Treat them as a guide to timbre and character rather than an exact preview: dubbing renders through its own engine and fits speech to the original timing. Note also that text-to-speech offers 30+ speakers, and only the 15 above are accepted by dubbing.

Next steps