<h1 align="center">ElevenLabs CLI</h1>
<p align="center">
The community-built command line for ElevenLabs AI audio workflows.
</p>
<p align="center">
<a href="https://github.com/hongkongkiwi/elevenlabs-cli/releases">
<img src="https://img.shields.io/github/v/release/hongkongkiwi/elevenlabs-cli?style=for-the-badge&logo=github&label=release" alt="GitHub Release" />
</a>
<a href="https://lib.rs/crates/elevenlabs-cli">
<img src="https://img.shields.io/crates/v/elevenlabs-cli?style=for-the-badge&logo=rust" alt="Crates.io Version" />
</a>
<a href="https://lib.rs/crates/elevenlabs-cli">
<img src="https://img.shields.io/crates/d/elevenlabs-cli?style=for-the-badge&logo=rust" alt="Crates.io Downloads" />
</a>
<a href="https://github.com/hongkongkiwi/elevenlabs-cli/actions/workflows/ci.yml">
<img src="https://img.shields.io/github/actions/workflow/status/hongkongkiwi/elevenlabs-cli/ci.yml?branch=main&style=for-the-badge&logo=github&label=ci" alt="CI" />
</a>
<a href="https://opensource.org/licenses/MIT">
<img src="https://img.shields.io/badge/license-MIT-3DA639?style=for-the-badge" alt="MIT License" />
</a>
</p>
<p align="center">
<a href="https://github.com/hongkongkiwi/action-elevenlabs-cli/blob/main/README.md">
<img src="https://img.shields.io/badge/github-action-2088FF?style=flat-square&logo=githubactions&logoColor=white" alt="GitHub Action" />
</a>
<a href="https://github.com/hongkongkiwi/homebrew-elevenlabs-cli/blob/main/README.md">
<img src="https://img.shields.io/badge/homebrew-tap-FBB040?style=flat-square&logo=homebrew&logoColor=black" alt="Homebrew Tap" />
</a>
<a href="https://github.com/hongkongkiwi/scoop-elevenlabs-cli/blob/main/README.md">
<img src="https://img.shields.io/badge/scoop-bucket-4A89DC?style=flat-square" alt="Scoop Bucket" />
</a>
<a href="https://github.com/hongkongkiwi/elevenlabs-cli/pkgs/container/elevenlabs-cli">
<img src="https://img.shields.io/badge/docker-ghcr-2496ED?style=flat-square&logo=docker&logoColor=white" alt="Docker GHCR" />
</a>
<a href="https://github.com/hongkongkiwi/elevenlabs-cli-skill/blob/main/README.md">
<img src="https://img.shields.io/badge/ai%20skill-clawhub-7A5AF8?style=flat-square" alt="ClawHub Skill" />
</a>
</p>
<p align="center">
<a href="#installation">Install</a>
·
<a href="#quick-start">Quick Start</a>
·
<a href="#common-workflows">Workflows</a>
·
<a href="#mcp-server-mode">MCP</a>
·
<a href="#ecosystem">Ecosystem</a>
·
<a href="#support">Support</a>
</p>
> [!WARNING]
> This is an independent, community-built CLI and is not an official ElevenLabs release. For official platform docs, visit [elevenlabs.io/docs](https://elevenlabs.io/docs).
## Why ElevenLabs CLI
- Unified interface for TTS, STT, voice cloning, dubbing, and audio tooling
- Script-friendly output (`--json`) for automation and CI pipelines
- MCP server mode for AI assistants with tool filtering and safety controls
- Multi-channel distribution (Homebrew, Scoop, Cargo, Docker, source)
## Installation
| Homebrew (macOS/Linux) | `brew tap hongkongkiwi/elevenlabs-cli && brew install elevenlabs-cli` |
| Scoop (Windows) | `scoop bucket add elevenlabs-cli https://github.com/hongkongkiwi/scoop-elevenlabs-cli && scoop install elevenlabs-cli` |
| Cargo (all platforms) | `cargo install elevenlabs-cli` |
| Cargo with MCP feature | `cargo install elevenlabs-cli --features mcp` |
| Docker | `docker run --rm -e ELEVENLABS_API_KEY=your-key ghcr.io/hongkongkiwi/elevenlabs-cli tts "Hello"` |
| From source | `git clone https://github.com/hongkongkiwi/elevenlabs-cli.git && cd elevenlabs-cli && cargo install --path .` |
## Quick Start
```bash
# 1) Set API key (or use: elevenlabs-cli config set api_key "..." )
export ELEVENLABS_API_KEY="your-api-key"
# 2) Generate speech
elevenlabs-cli tts "Hello from ElevenLabs CLI" --output hello.mp3
# 3) List voices
elevenlabs-cli voice list
# 4) Transcribe audio
elevenlabs-cli stt audio.mp3
```
> [!TIP]
> Examples use `elevenlabs-cli` (the default binary name). If you want a shorter command, add an alias such as `alias elevenlabs='elevenlabs-cli'`.
## Feature Surface
| Speech | `tts`, `tts-stream`, `tts-timestamps`, `realtime-tts`, `stt` |
| Voice | `voice`, `voice-changer`, `voice-design`, `library`, `samples`, `pronunciation` |
| Content | `sfx`, `dialogue`, `music`, `dub`, `isolate`, `audio-native` |
| Agent Platform | `agent`, `converse`, `tools`, `projects`, `knowledge`, `rag`, `workspace` |
| Platform Ops | `history`, `usage`, `models`, `user`, `config`, `webhook`, `update`, `interactive` |
| Developer UX | `completions`, global `--json`, optional `mcp` mode |
## Common Workflows
### Text to Speech
```bash
elevenlabs-cli tts "Ship high-quality audio from the terminal" --voice Brian --output narration.mp3
```
### Speech to Text with Speaker Diarization
```bash
elevenlabs-cli stt meeting.mp3 --diarize --num-speakers 3
```
### Voice Cloning
```bash
elevenlabs-cli voice clone --name "My Voice" --samples voice1.mp3,voice2.mp3
```
### Sound Effects
```bash
elevenlabs-cli sfx "A soft UI notification" --duration 3 --output notification.mp3
```
### JSON for Automation
```bash
## MCP Server Mode
Start the server:
```bash
elevenlabs-cli mcp
```
> [!NOTE]
> `mcp` is available in builds that include the `mcp` feature (for example, `cargo install elevenlabs-cli --features mcp`).
Minimal client config:
```json
{
"mcpServers": {
"elevenlabs": {
"command": "elevenlabs-cli",
"args": ["mcp"],
"env": {
"ELEVENLABS_API_KEY": "your-api-key"
}
}
}
}
```
Security options:
```bash
elevenlabs-cli mcp --enable-tools tts,stt,voice
elevenlabs-cli mcp --disable-admin
elevenlabs-cli mcp --disable-destructive
elevenlabs-cli mcp --read-only
```
## Configuration
Default config path: `~/.config/elevenlabs-cli/config.toml`
```toml
api_key = "your-api-key"
default_voice = "Brian"
default_model = "eleven_multilingual_v2"
default_output_format = "mp3_44100_128"
[mcp]
enable_tools = "tts,stt"
disable_tools = "agents"
disable_admin = false
read_only = false
```
## Available Models
| `eleven_multilingual_v2` | High quality synthesis across many languages |
| `eleven_flash_v2_5` | Lowest latency |
| `eleven_turbo_v2_5` | Balanced speed and quality |
| `eleven_v3` | Expressive and emotional speech |
| `scribe_v1` | Higher-accuracy speech-to-text |
| `scribe_v1_base` | Faster, lower-cost speech-to-text |
## Output Formats
| `mp3_44100_128` | Default, broadly compatible |
| `mp3_44100_192` | Higher quality MP3 |
| `wav_44100` | Editing and mastering |
| `pcm_16000` | Telephony and real-time systems |
| `opus_48000_128` | Streaming and WebRTC |
| `ulaw_8000` | Legacy telephony |
## Command Reference
Use `elevenlabs-cli --help` and `elevenlabs-cli <command> --help` for details.
| `tts` | Text-to-speech synthesis |
| `stt` | Speech-to-text transcription |
| `voice` | Voice management (list, clone, edit, delete) |
| `library` | Shared/community voice library |
| `isolate` | Background-noise removal |
| `voice-changer` | Speech-to-speech voice transformation |
| `dub` | Dubbing and translation workflows |
| `dialogue` | Multi-speaker dialogue generation |
| `sfx` | Sound effect generation |
| `music` | Music generation |
| `agent`, `converse`, `tools`, `projects` | Conversational/agent features |
| `knowledge`, `rag`, `workspace` | Knowledge and workspace management |
| `history`, `usage`, `models`, `user` | Account/model/runtime information |
| `config`, `webhook`, `update`, `interactive`, `completions` | Tooling and operations |
| `mcp` | Model Context Protocol server mode |
## Ecosystem
Companion repositories and their README files:
| [hongkongkiwi/action-elevenlabs-cli](https://github.com/hongkongkiwi/action-elevenlabs-cli) | GitHub Action wrapper for CI workflows | [Open](https://github.com/hongkongkiwi/action-elevenlabs-cli/blob/main/README.md) |
| [hongkongkiwi/homebrew-elevenlabs-cli](https://github.com/hongkongkiwi/homebrew-elevenlabs-cli) | Homebrew tap for releases | [Open](https://github.com/hongkongkiwi/homebrew-elevenlabs-cli/blob/main/README.md) |
| [hongkongkiwi/scoop-elevenlabs-cli](https://github.com/hongkongkiwi/scoop-elevenlabs-cli) | Scoop bucket for Windows installs | [Open](https://github.com/hongkongkiwi/scoop-elevenlabs-cli/blob/main/README.md) |
| [hongkongkiwi/elevenlabs-cli-skill](https://github.com/hongkongkiwi/elevenlabs-cli-skill) | AI-agent skill integration | [Open](https://github.com/hongkongkiwi/elevenlabs-cli-skill/blob/main/README.md) |
## Resources
- [ElevenLabs API Reference](https://elevenlabs.io/docs/api-reference)
- [ElevenLabs Documentation](https://elevenlabs.io/docs)
- [Voice Library](https://elevenlabs.io/app/voice-library)
- [API Keys](https://elevenlabs.io/app/settings/api-keys)
- [Status Page](https://status.elevenlabs.io)
## Support
- [Report a bug](https://github.com/hongkongkiwi/elevenlabs-cli/issues)
- [Request a feature](https://github.com/hongkongkiwi/elevenlabs-cli/issues)
- [Releases](https://github.com/hongkongkiwi/elevenlabs-cli/releases)
## Contributing
Contributions are welcome.
1. Fork the repository.
2. Create a feature branch.
3. Run tests and checks.
4. Open a pull request with context and examples.
## License
MIT License. See [LICENSE](LICENSE).