elevenlabs-cli
// CLI for ElevenLabs AI audio platform - text-to-speech, speech-to-text, voice cloning, and more
ElevenLabs CLI
Unofficial CLI: This is an independent, community-built CLI client. It is not officially released by ElevenLabs.
A comprehensive command-line interface for the ElevenLabs AI audio platform with 100% SDK coverage. Generate speech, transcribe audio, clone voices, and more.
External Endpoints
This skill instructs the CLI to call the following external services:
| Endpoint | Purpose | Data Sent |
|---|---|---|
https://api.elevenlabs.io/* | ElevenLabs API | API key (auth), text/audio content, voice settings |
https://github.com/hongkongkiwi/elevenlabs-cli/* | Package downloads | None (public) |
Security & Privacy
- API Key: Your ElevenLabs API key is sent only to
api.elevenlabs.iofor authentication - Audio/Text Content: Text and audio files you process are sent to ElevenLabs API
- No Local Persistence: The CLI does not store your data locally beyond specified output files
- No Telemetry: No usage data is sent to any third party
Trust Statement
By using this skill, you will send your ElevenLabs API key and audio/text content to ElevenLabs servers. Only install this skill if you trust ElevenLabs with your data. This is an unofficial community-maintained CLI.
Installation
Homebrew (macOS/Linux)
brew tap hongkongkiwi/tap
brew install elevenlabs-cli
Scoop (Windows)
scoop bucket add elevenlabs-cli https://github.com/hongkongkiwi/scoop-elevenlabs-cli
scoop install elevenlabs-cli
Snap (Linux)
sudo snap install elevenlabs-cli
Cargo (All Platforms)
cargo install elevenlabs-cli
Docker
docker pull ghcr.io/hongkongkiwi/elevenlabs-cli:latest
docker run --rm -e ELEVENLABS_API_KEY=your-key ghcr.io/hongkongkiwi/elevenlabs-cli tts "Hello!"
Prerequisites
- ElevenLabs API key - Get one free at ElevenLabs API Keys
Configuration
# Set API key via environment variable
export ELEVENLABS_API_KEY="your-api-key"
# Or save to config file (~/.config/elevenlabs-cli/config.toml)
elevenlabs config set api_key your-api-key
# Set default voice and model
elevenlabs config set default_voice Brian
elevenlabs config set default_model eleven_multilingual_v2
Commands Reference
Text-to-Speech (tts)
Convert text to natural speech with 100+ voices.
# Basic usage - speaks text and saves to file
elevenlabs tts "Hello, world!"
# Specify voice and model
elevenlabs tts "Hello!" --voice Rachel --model eleven_v3
# Save to specific file
elevenlabs tts "Hello!" --output speech.mp3
# Read text from file
elevenlabs tts --file script.txt --output audiobook.mp3
# Adjust voice settings
elevenlabs tts "Hello!" --stability 0.5 --similarity-boost 0.75 --style 0.3
# Play audio after generation (requires audio feature)
elevenlabs tts "Hello!" --play
# Specify language for multilingual models
elevenlabs tts "Bonjour!" --language fr
# Use seed for reproducible output
elevenlabs tts "Hello!" --seed 12345
Speech-to-Text (stt)
Transcribe audio with speaker diarization and timestamps.
# Transcribe audio file
elevenlabs stt audio.mp3
# Enable speaker diarization (identify speakers)
elevenlabs stt meeting.mp3 --diarize --num-speakers 3
# Output as subtitles
elevenlabs stt video.mp3 --format srt --output subtitles.srt
# With word-level timestamps
elevenlabs stt audio.mp3 --timestamps word
# Record from microphone and transcribe
elevenlabs stt --record --duration 10
Voice Management (voice)
Manage voices including cloning and settings.
# List all voices
elevenlabs voice list
# Get voice details
elevenlabs voice get <voice-id>
# Clone a voice from audio samples
elevenlabs voice clone --name "My Voice" --samples sample1.mp3,sample2.mp3
# Clone from directory of samples
elevenlabs voice clone --name "My Voice" --samples-dir ./samples/
# Get voice settings
elevenlabs voice settings <voice-id>
# Edit voice settings
elevenlabs voice edit-settings <voice-id> --stability 0.6 --similarity-boost 0.8
# Delete a voice
elevenlabs voice delete <voice-id>
# Share a voice publicly
elevenlabs voice share <voice-id>
# Find similar voices
elevenlabs voice similar --voice-id <voice-id>
elevenlabs voice similar --text "deep male voice with british accent"
Sound Effects (sfx)
Generate sound effects from text descriptions.
# Generate sound effect
elevenlabs sfx "door creaking slowly in a haunted house"
# Specify duration (0.5-22 seconds)
elevenlabs sfx "thunder rumbling" --duration 10 --output thunder.mp3
Audio Isolation (isolate)
Remove background noise from audio.
# Remove background noise
elevenlabs isolate noisy_audio.mp3 --output clean_audio.mp3
Voice Changer (voice-changer)
Transform voice in audio files to a different voice.
# Transform voice in audio file
elevenlabs voice-changer input.mp3 --voice Rachel --output transformed.mp3
# Record from microphone and transform
elevenlabs voice-changer --record --duration 10 --voice Rachel --output output.mp3
Dubbing (dub)
Translate and dub video/audio to other languages.
# Create dubbing project
elevenlabs dub create --file video.mp4 --source-lang en --target-lang es
# Check dubbing status
elevenlabs dub status <dubbing-id>
# Download dubbed file
elevenlabs dub download <dubbing-id> --output dubbed.mp4
Dialogue (dialogue)
Generate multi-voice dialogues.
# Create dialogue with multiple voices
elevenlabs dialogue --inputs "Hello there!:Brian,Hi! How are you?:Rachel,I'm great thanks!:Brian"
# Save to file
elevenlabs dialogue --inputs "..." --output dialogue.mp3
Agents (agent)
Manage conversational AI agents.
# List agents
elevenlabs agent list
# Create agent
elevenlabs agent create --name "Support Bot" --voice-id <voice-id> --first-message "Hello!"
# Get agent details
elevenlabs agent get <agent-id>
# Delete agent
elevenlabs agent delete <agent-id>
Knowledge Base (knowledge)
Manage documents for RAG.
# List documents
elevenlabs knowledge list
# Add document from URL
elevenlabs knowledge add-from-url --url https://example.com/doc --name "Documentation"
# Add document from file
elevenlabs knowledge add-from-file --file document.pdf --name "PDF Doc"
History (history)
View and manage generation history.
# List generation history
elevenlabs history list
# Download audio from history
elevenlabs history download <history-item-id> --output audio.mp3
Usage & User
# Get user info
elevenlabs user info
# Get usage statistics
elevenlabs usage stats
Configuration (config)
# Set config value
elevenlabs config set api_key your-key
# Get config value
elevenlabs config get api_key
# List all config
elevenlabs config list
Utilities
# Generate shell completions
elevenlabs completions bash > ~/.bash_completion.d/elevenlabs
elevenlabs completions zsh > "${fpath[1]}/_elevenlabs"
elevenlabs completions fish > ~/.config/fish/completions/elevenlabs.fish
# Update CLI to latest version
elevenlabs update
# Interactive mode (REPL)
elevenlabs interactive
Output Formats
| Format | Description |
|---|---|
mp3_44100_128 | MP3 44.1kHz 128kbps (default) |
mp3_44100_192 | MP3 44.1kHz 192kbps |
wav_44100 | WAV 44.1kHz |
pcm_16000 | PCM 16kHz |
opus_48000_128 | Opus 48kHz 128kbps |
Models
TTS Models
| Model | Description |
|---|---|
eleven_multilingual_v2 | Best quality, 29 languages (default) |
eleven_flash_v2_5 | Lowest latency |
eleven_v3 | Expressive, emotional speech |
STT Models
| Model | Description |
|---|---|
scribe_v1 | High accuracy transcription (default) |
scribe_v1_base | Faster, lower cost |
Related Resources
- Main Repository: hongkongkiwi/elevenlabs-cli
- Homebrew Tap: hongkongkiwi/homebrew-elevenlabs-cli
- Scoop Bucket: hongkongkiwi/scoop-elevenlabs-cli
- ElevenLabs API Docs: https://elevenlabs.io/docs/api-reference
- API Keys: https://elevenlabs.io/app/settings/api-keys
Tags
elevenlabs, tts, text-to-speech, stt, speech-to-text, audio, voice, voice-cloning, voice-synthesis, ai, cli