Voice Changer quickstart
This guide will show you how to transform the voice of an audio file using the Voice Changer API.
Using the Voice Changer API
Section titled “Using the Voice Changer API”Create an API key
Section titled “Create an API key”Create an API key in the dashboard here, which you’ll use to securely access the API.
Store the key as a managed secret and pass it to the SDKs either as a environment variable via an .env file, or directly in your app’s configuration depending on your preference.
.env
ELEVENLABS_API_KEY=<your_api_key_here>Install the SDK
Section titled “Install the SDK”We'll also use the dotenv library to load our API key from an environment variable.
pip install elevenlabs
pip install python-dotenvnpm install @elevenlabs/elevenlabs-js
npm install dotenvInstall the ElevenLabs CLI. Homebrew (macOS) and Scoop (Windows) are recommended.
Homebrew (macOS)
brew install elevenlabs/tap/elevenlabsScoop (Windows)
scoop bucket add elevenlabs https://github.com/elevenlabs/scoop-bucket
scoop install elevenlabsnpm
npm install -g @elevenlabs/clicurl
curl --proto '=https' --tlsv1.2 -LsSf https://github.com/elevenlabs/cli/releases/latest/download/elevenlabs-cli-installer.sh | shThen authenticate — this opens your browser to authorize the CLI:
elevenlabs auth loginMake the API request
Section titled “Make the API request”Create a new file named example.py or example.mts, depending on your language of choice and add the following code:
# example.py
import os
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import requests
from io import BytesIO
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
voice_id = "JBFqnCBsd6RMkjVDRZzb"
audio_url = (
"https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
)
response = requests.get(audio_url)
audio_data = BytesIO(response.content)
audio_stream = elevenlabs.speech_to_speech.convert(
voice_id=voice_id,
audio=audio_data,
model_id="eleven_multilingual_sts_v2",
output_format="mp3_44100_128",
)
play(audio_stream)// example.mts
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";
const elevenlabs = new ElevenLabsClient();
const voiceId = "JBFqnCBsd6RMkjVDRZzb";
const response = await fetch(
"https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3"
);
const audioBlob = new Blob([await response.arrayBuffer()], { type: "audio/mp3" });
const audioStream = await elevenlabs.speechToSpeech.convert(voiceId, {
audio: audioBlob,
modelId: "eleven_multilingual_sts_v2",
outputFormat: "mp3_44100_128",
});
await play(audioStream);Then run it:
python example.pynpx tsx example.mtsYou should hear the transformed voice playing through your speakers.
Download the sample audio, then convert it to the target voice:
curl -O https://storage.googleapis.com/eleven-public-cdn/audio/marketing/nicole.mp3
elevenlabs speech-to-speech convert \
--voice-id JBFqnCBsd6RMkjVDRZzb \
--audio nicole.mp3 \
--model-id eleven_multilingual_sts_v2 \
--output-format mp3_44100_128 \
--output converted.mp3Open converted.mp3 to hear the transformed voice.
Next steps
Section titled “Next steps”Explore 10,000+ voices to use as the target voice for transformation
Create a custom voice from a short audio recording to use as the target
Explore all Voice Changer parameters and response formats