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
CLI

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.
All reasons and checks

elevenlabs/cli

Install

Manual install

brew install elevenlabs/tap/elevenlabs

The 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 review

Extended 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.

CLI tools
Official

Ten skills from ElevenLabs: text to speech, transcription, voice agents, sound effects, music, dubbing and voice cleanup through the API

SkillExtended access559Repository stars

A text-to-speech MCP server that turns text and multi-voice scripts into audio through ElevenLabs and keeps a job history.

MCP serverExtended access119Repository stars

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

CLIExtended access2.2KRepository stars

The eyes CLI and skill for agents: a video index, search by words and on-screen text, close-up frames and editing metrics

CLIExtended access76Repository stars

Piper is a CLI for local text-to-speech, with downloadable voices, WAV output and options for your own speech applications.

CLIExtended access6.3KRepository stars

The polli command-line tool generates text, images, audio and video on Pollinations models and wires up coding agents.

CLIExtended access5.3KRepository stars

Comparison with similar tools

Cards that share the main search query, and how they differ.

ToolOfficialAuthenticationRepository starsMain difference
ElevenLabs CLI (this card)no104
ElevenLabs Skillsyes559ten ElevenLabs skills for speech, transcription and agents; this is a binary CLI over the whole API with Git-based agent management
ElevenLabs MCP ServernoAPI key119a 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.

README badge

Report a problem