Free How-To Guide

Clone your voice with ElevenLabs. In under 10 minutes.

Instant Voice Cloning turns about one minute of clean audio into a reusable AI voice you can use for narration, podcasts, product demos, and apps. This guide covers the whole path: recording, cloning via the dashboard, cloning via the API in Python or TypeScript, and fixing the most common quality problems.

CreatorsPodcastersFoundersDevelopersMarketers
Get ElevenLabs free and follow along →

Direct link (no referral): elevenlabs.io

Instant vs. Professional Voice Cloning

ElevenLabs offers two kinds of voice cloning. Instant Voice Cloning (IVC) works from roughly one minute of audio and produces a usable clone in minutes — ideal for prototypes, personal projects, and most creator workflows. Professional Voice Cloning (PVC) fine-tunes a dedicated model on 30 minutes to several hours of audio for near-indistinguishable results, at the cost of longer training time.

This guide covers IVC. Start there — if the result isn't close enough for your use case, graduate to PVC with the same recordings plus more material.

Rule of thumb: IVC clones your timbre from a small sample. PVC learns your delivery from a large one. Most people are surprised how far IVC alone gets them.

Step 1 — What you need

  • 1.An ElevenLabs account on a plan that includes Instant Voice Cloning (the free tier lets you explore text to speech; cloning unlocks on the Starter plan and up).
  • 2.1–3 minutes of clean audio of the voice you want to clone — your own voice, or one you have explicit written consent to use.
  • 3.For the API route: an API key (created in your ElevenLabs dashboard under Developers → API Keys) and Python or Node.js installed.

Step 2 — Record audio the clone will thank you for

Clone quality is determined almost entirely by input quality. Before you record:

  • Quiet room, no echo. Soft furnishings beat bare walls. No background music, fans, or traffic.
  • One speaker only. Crosstalk or a second voice in the sample will contaminate the clone.
  • Speak the way you want the clone to speak. The clone mirrors the energy, pace, and tone of the sample. Record conversationally if you want conversational output.
  • Aim for 1–3 minutes total. More clean audio helps; more noisy audio hurts. Several short clips are fine — the API accepts multiple files.
  • Use decent gear if you have it. A USB mic beats laptop mics, but a phone in a quiet closet beats a great mic in a noisy room.
Quick test: play your recording back with headphones. If you hear hiss, hum, echo, or clipping — re-record. Ten minutes of re-recording saves hours of disappointing output.

Step 3 — Clone via the dashboard (no code)

  1. Sign in to ElevenLabs and open Voices from the sidebar.
  2. Click Add a new voice → Instant Voice Clone.
  3. Upload your audio clips (or record directly in the browser).
  4. Name the voice, add labels/description if you like.
  5. Confirm you have the rights and consent to clone this voice, then create it.
  6. Open Text to Speech, select your new voice, type a sentence, and generate. That's your clone.

Done in a few minutes. If you only need voiceovers in the studio, you can stop here. Building it into a product or pipeline? Keep going.

Step 4 — Clone via the API (Python or TypeScript)

Install the official SDK (pip install elevenlabs python-dotenv or npm install @elevenlabs/elevenlabs-js dotenv), put your API key in a .env file as ELEVENLABS_API_KEY — never hardcode it — and create the clone with voices.ivc.create:

example.py — Python
# example.py
import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from io import BytesIO

load_dotenv()

elevenlabs = ElevenLabs(
  api_key=os.getenv("ELEVENLABS_API_KEY"),
)

voice = elevenlabs.voices.ivc.create(
    name="My Voice Clone",
    # Replace with the paths to your audio files.
    # The more files you add, the better the clone will be.
    files=[BytesIO(open("/path/to/your/audio/file.mp3", "rb").read())]
)

print(voice.voice_id)
example.mts — TypeScript
// example.mts
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";
import fs from "node:fs";

const elevenlabs = new ElevenLabsClient();

const voice = await elevenlabs.voices.ivc.create({
    name: "My Voice Clone",
    // Replace with the paths to your audio files.
    // The more files you add, the better the clone will be.
    files: [
        fs.createReadStream(
            "/path/to/your/audio/file.mp3",
        ),
    ],
});

console.log(voice.voiceId);

Run it with python example.py or npx tsx example.mts. The script prints a voice ID— save it. That ID is how you reference your cloned voice in every subsequent text-to-speech call, the same way you'd use any stock voice.

Pro tip: pass multiple files in the files array. The more clean samples you provide, the better the clone.

Step 5 — Put your clone to work

  • Audio versions of written content — turn newsletters, blog posts, and docs into narrated audio in your voice.
  • Video voiceovers — script changes no longer mean re-recording; regenerate the line.
  • Multilingual content— your cloned voice can speak languages you don't, for dubbing and localization.
  • Apps and agents — pair the voice ID with the text-to-speech or streaming API to ship voice features in your product.

Troubleshooting

The clone sounds robotic or flat

Usually an input problem: noisy or over-compressed samples, or a monotone reading. Re-record with natural delivery in a quiet room. Also try different model/stability settings when generating.

The clone doesn't sound like me

One minute is a minimum, not a target. Add more clean samples (the API accepts multiple files), and make sure the sample reflects how you actually speak. If it still falls short, that's the signal to move to Professional Voice Cloning.

Random artifacts, breaths, or noise in output

The model reproduces what it hears — background hiss in the sample becomes hiss in the clone. Clean or re-record the source audio rather than fighting the output.

API returns an authorization error

Check that ELEVENLABS_API_KEY is set in your environment, the key is active in the dashboard, and your plan includes Instant Voice Cloning.

Consent and ethics — not optional

Only clone voices you own or have explicit, documented permission to clone. ElevenLabs requires you to confirm you have the necessary rights, and misuse — impersonation, fraud, cloning public figures — violates their terms and, in many places, the law. If you publish AI-narrated content, disclosing that it's AI-generated builds trust rather than costing it.

Ready to hear yourself in AI?

Sign up, record one clean minute of audio, and you'll have a working voice clone before your coffee goes cold.

Want the bigger picture first? Read our full ElevenLabs featured overview.

Transparency: Emerge Tech may earn a commission if you subscribe through our partner link, at no extra cost to you. API examples are from the official ElevenLabs Instant Voice Cloning docs.