ElevenAPI quickstart
By the end of this guide you will have a working script that sends a text string to the ElevenLabs API and plays the returned audio through your speakers. You will learn how to authenticate with an API key, install the SDK, and make your first text-to-speech request.
For guides covering other capabilities — streaming, voice cloning, speech-to-text — see the Tutorials section.
Using the Text to Speech API
Section titled “Using the Text to Speech 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 your first request
Section titled “Make your first request”Create a new file named example.py or example.mts, depending on your language of choice and add the following code:
from dotenv import load_dotenv
from elevenlabs.client import ElevenLabs
from elevenlabs.play import play
import os
load_dotenv()
elevenlabs = ElevenLabs(
api_key=os.getenv("ELEVENLABS_API_KEY"),
)
audio = elevenlabs.text_to_speech.convert(
text="The first move is what sets everything in motion.",
voice_id="JBFqnCBsd6RMkjVDRZzb", # "George" - browse voices at elevenlabs.io/app/voice-library
model_id="eleven_v4",
output_format="mp3_44100_128",
)
play(audio)
import { ElevenLabsClient, play } from "@elevenlabs/elevenlabs-js";
import "dotenv/config";
const elevenlabs = new ElevenLabsClient();
const audio = await elevenlabs.textToSpeech.convert(
"JBFqnCBsd6RMkjVDRZzb", // "George" - browse voices at elevenlabs.io/app/voice-library
{
text: "The first move is what sets everything in motion.",
modelId: "eleven_v4",
outputFormat: "mp3_44100_128",
},
);
await play(audio);
Then run it:
python example.pynpx tsx example.mtsYou should hear the audio play through your speakers.
Generate speech and save it to an MP3 file:
elevenlabs text-to-speech convert \
--voice-id JBFqnCBsd6RMkjVDRZzb \
--model-id eleven_v4 \
--text "The first move is what sets everything in motion." \
--output-format mp3_44100_128 \
--output audio.mp3Open audio.mp3 to hear the result.
Next steps
Section titled “Next steps”Reduce latency by streaming audio as it generates rather than waiting for the complete file
Explore 10,000+ voices and swap the example voice ID for one that fits your use case
Create a custom voice from a short audio recording