ElevenLabs CLI
Official ElevenLabs CLI: the whole API as subcommands, text-to-speech in the terminal and voice agents as code with sync.
- 104 ★ on the repository
- Last commit
- MIT
Extended access
Why this level
- The API key opens paid access to the ElevenLabs account, including deleting agents.
- Texts and files are sent to ElevenLabs servers.
Install
- Works in
Manual install
brew install elevenlabs/tap/elevenlabsThe first README command for macOS and Linux; other systems have Scoop, `npm install -g @elevenlabs/cli`, the install script and a source build.
Access and checks
How we reviewExtended accessThe tool runs code or makes network calls and only reads external data.
- The API key opens paid access to the ElevenLabs account, including deleting agents.
- Texts and files are sent to ElevenLabs servers.
This is third-party code. Review the repository files before installing.
What it does
The CLI is written in Rust and opens every ElevenLabs platform endpoint as `elevenlabs <resource> <method>`. Output comes as JSON, table, YAML or CSV. The `elevenlabs say "text"` command speaks a string or stdin and plays the audio right away through a player found on the system, while `--output` saves a file. The Agents as Code section keeps voice agents in project JSON files: `agents init`, `add`, `push`, `pull`, `test`. Agent branches and versions sync with the platform, and an agent workflow can be drawn in the terminal or exported to Mermaid without a key or network. For Flows jobs (images, video, speech) the `create-and-wait` commands wait for the result. The repository ships two agent skills: `say` and `custom-commands`.
Who it is for. Developers of ElevenLabs voice assistants who want to keep agents in Git and hand API calls to Claude Code or Codex.
Good fit when
- A voice agent configuration is edited in the repository and then pushed to the platform after review.
- An agent must announce aloud that a long build has finished.
- An agent diagram with branches and tools is needed for review.
- An image or video is generated in the background and a script must wait for the finished file.
Not a fit when
- A ready MCP server is wanted; ElevenLabs keeps a separate repository for it.
- There is no ElevenLabs API key, and almost every command calls the cloud.
- The network is unavailable; only agent diagrams from local files work offline.
Example request
Pull my agent configurations with `elevenlabs agents pull`, draw the Support agent workflow and show which tools it calls.Limitations
An ElevenLabs API key in `ELEVENLABS_API_KEY` or a `.env` file in the working folder is required, and usage is billed under the account plan. The `agents delete` method deletes an agent on the platform and leaves local files alone. In version 1 `agents list` shows the cloud list, and local status comes from `agents status`. By default `say` uses the most expressive model, while flash models read text without audio tags. Every request carries anonymous platform tags in `User-Agent`, switched off with `--telemetry off`.
How to disable. Run `npm uninstall -g @elevenlabs/cli` or `brew uninstall elevenlabs`, then delete `~/.elevenlabs/config.json`. Revoke the key in the ElevenLabs settings.
FAQ
How do I install the CLI?
Via Homebrew (`brew install elevenlabs/tap/elevenlabs`), Scoop, npm (`npm install -g @elevenlabs/cli`), the install script or a Rust source build. A one-off run without installing: `npx @elevenlabs/cli <command>`.
How do I pass the API key?
Through the `ELEVENLABS_API_KEY` variable, a `.env` file in the working folder or per command with `--xi-api-key`. A `.env` keeps a key scoped to one project.
What does `agents push` do?
It uploads local configurations to the platform, overriding the main and registered branches. The `--dry-run` flag shows the changes without sending them.
How do I announce a finished build aloud?
With `elevenlabs say "build finished"` or `echo "done" | elevenlabs say`. Voice and model are set with `elevenlabs say config`.
What is `--intent`?
An optional flag: an agent explains in one sentence why it runs a command. The text goes into the `X-Agent-Intent` header and helps the vendor understand use cases.
Discussion
No questions or reviews yet.
Related
CLI toolsTen skills from ElevenLabs: text to speech, transcription, voice agents, sound effects, music, dubbing and voice cleanup through the API
A text-to-speech MCP server that turns text and multi-voice scripts into audio through ElevenLabs and keeps a job history.
Local speech synthesis for agents: a command and a skill voice text, clone a voice from a recording and render scores to audio, with no cloud
The eyes CLI and skill for agents: a video index, search by words and on-screen text, close-up frames and editing metrics
Piper is a CLI for local text-to-speech, with downloadable voices, WAV output and options for your own speech applications.
The polli command-line tool generates text, images, audio and video on Pollinations models and wires up coding agents.
Comparison with similar tools
Cards that share the main search query, and how they differ.
| Tool | Official | Authentication | Repository stars | Main difference |
|---|---|---|---|---|
| ElevenLabs CLI (this card) | no | 104 | ||
| ElevenLabs Skills | yes | 559 | ten ElevenLabs skills for speech, transcription and agents; this is a binary CLI over the whole API with Git-based agent management | |
| ElevenLabs MCP Server | no | API key | 119 | a speech MCP server with job history; the CLI works without MCP, from the shell and CI |
README in short
A single Rust binary with two roles: full API access and an agents-as-code workflow. CI gets modes that need no key, and Flows commands can work through webhooks.