Skip to content

Voice Cloning

Clone any voice from a short audio sample with stunning accuracy.

Overview

Voice Cloning lets you create a digital replica of any voice using as little as 30 seconds of reference audio. Cloned voices can be used across all Nur products including Text-to-Speech, Voice Agents, and AI Dubbing.

30-second minimum sample
Multi-language cloning
Emotion transfer
High fidelity
Custom fine-tuning
Commercial licensing

Quickstart

Clone a voice from an audio file and use it to generate speech immediately.

1from nur import NurClient
2
3client = NurClient()
4
5# Clone a voice from a local file
6voice = client.voices.clone(
7 name="My Custom Voice",
8 file="sample.wav",
9 description="Professional narrator voice",
10 language="en"
11)
12
13print(f"Voice ID: {voice.id}")
14print(f"Similarity: {voice.similarity_score}")
15
16# Use the cloned voice for TTS
17audio = client.tts.generate(
18 text="This is my cloned voice speaking!",
19 voice_id=voice.id
20)
21audio.save("cloned_output.mp3")

Clone Voice

POST/v1/voices/clone

Create a cloned voice from an audio file or URL. The audio should contain clear speech with minimal background noise. Supports WAV, MP3, FLAC, and OGG formats. Provide either file or audio_url, but not both.

ParameterTypeDescription
nameREQUIREDstringDisplay name for the cloned voice
filefileAudio file upload (WAV, MP3, FLAC, OGG). Min 30s
audio_urlstringPublic URL to an audio file for cloning
descriptionstringHuman-readable description of the voice
languagestringPrimary language of the voice (e.g. en, es, fr)
1# Clone from a local file
2curl -X POST https://api.nur.ai/v1/voices/clone \
3 -H "Authorization: Bearer $NUR_API_KEY" \
4 -F "name=My Custom Voice" \
5 -F "file=@sample.wav" \
6 -F "description=Professional narrator voice" \
7 -F "language=en"
8
9# Clone from a URL
10curl -X POST https://api.nur.ai/v1/voices/clone \
11 -H "Authorization: Bearer $NUR_API_KEY" \
12 -H "Content-Type: application/json" \
13 -d '{
14 "name": "My Custom Voice",
15 "audio_url": "https://example.com/sample.wav",
16 "description": "Professional narrator voice",
17 "language": "en"
18 }'

Response

1{
2 "id": "voice_klm456",
3 "name": "My Custom Voice",
4 "description": "Professional narrator voice",
5 "language": "en",
6 "type": "cloned",
7 "preview_url": "https://cdn.nur.ai/voices/voice_klm456/preview.mp3",
8 "created_at": "2025-01-15T10:30:00Z",
9 "similarity_score": 0.94
10}

List Voices

GET/v1/voices

Retrieve a list of all available voices, including both built-in and cloned voices. Filter by language or type to narrow the results.

ParameterTypeDescription
languagestringFilter by language code (e.g. en, es, fr)
typestringFilter by voice type: built-in or cloned
limitintegerNumber of voices to return. Defaults to 20, max 100
1curl -X GET "https://api.nur.ai/v1/voices?language=en&type=cloned&limit=10" \
2 -H "Authorization: Bearer $NUR_API_KEY"

Get Voice

GET/v1/voices/{voice_id}

Retrieve detailed information about a specific voice, including its preview URL and similarity score for cloned voices.

ParameterTypeDescription
voice_idREQUIREDstringID of the voice to retrieve
1curl -X GET https://api.nur.ai/v1/voices/voice_klm456 \
2 -H "Authorization: Bearer $NUR_API_KEY"

Delete Voice

DELETE/v1/voices/{voice_id}

Permanently delete a cloned voice. Built-in voices cannot be deleted. Any agents using this voice will fall back to the default voice.

ParameterTypeDescription
voice_idREQUIREDstringID of the cloned voice to delete
1curl -X DELETE https://api.nur.ai/v1/voices/voice_klm456 \
2 -H "Authorization: Bearer $NUR_API_KEY"

Response Objects

Reference for the objects returned by Voice Cloning endpoints.

Voice Object

FieldTypeDescription
idstringUnique voice identifier (prefixed with voice_)
namestringDisplay name of the voice
descriptionstringHuman-readable description
languagestringPrimary language code
typestringVoice type: built-in or cloned
preview_urlstringURL to a preview audio clip of the voice
created_atstringISO 8601 creation timestamp
similarity_scorenumberCloning accuracy score from 0 to 1 (cloned voices only)

Best Practices

Use high-quality reference audio

Record in a quiet environment with minimal background noise. A clear, consistent sample produces significantly better clones. Aim for 60-90 seconds of natural speech for optimal results.

Match the intended use case

If your cloned voice will be used for narration, use a narration-style sample. The model captures tone, pacing, and emotion from the reference, so the sample should reflect the desired output style.

Verify with the similarity score

After cloning, check the similarity_score in the response. Scores above 0.90 indicate excellent quality. If the score is below 0.85, try re-recording the sample with better audio conditions.

Respect licensing and consent

Always obtain explicit consent before cloning someone's voice. Use the commercial licensing capability to ensure compliance. Nur enforces voice verification for production deployments.