Introducing Breeze CLI: Voice AI That Lives in Your Terminal

Breeze CLI brings Breeze voice generation to the terminal: hear a voice in seconds, turn any command into a Developer API request, and give AI agents a JSON-native way to create audio and narrated video.

Introducing Breeze CLI terminal poster

Every voice AI product has a beautiful web demo. But the actual work of building with voice — wiring narration into an onboarding flow, generating dialogue for a game, giving an app something to say — doesn't happen in a browser. It happens in a terminal, an editor, a CI pipeline, and increasingly inside an AI agent's tool loop. Breeze CLI starts from that reality: it brings Breeze voice generation to the place where developers already work, and it treats “how fast can I hear something?” as the metric that matters most.

Quickstart

Thirty seconds to first sound

The fastest way to evaluate a voice API is to hear it. Every command in this post is a single line — copy it, run it, keep reading. Install:

curl -fsSL https://breezeblue.ai/cli/install.sh | sh

Confirm it landed:

breeze version

Log in once. The CLI opens your browser, you approve the device, and a device-specific key is written to your machine with strict file permissions. You never copy an API key by hand, and the server only ever stores a hash of it:

breeze login

Now make it speak:

breeze tts "Hello from Breeze"

Audio starts playing the moment the first bytes arrive — streamed straight to your speakers, with a live waveform in the terminal. Notice everything you didn't do: you didn't pick a model, didn't browse a voice catalog, didn't read a quickstart. If you don't choose a voice, Breeze chooses a good one, because the only question that matters in your first thirty seconds is “do I like what I hear?”


Explore

Find the right voice without leaving the shell

When the default isn't the voice in your head, browse the library:

breeze voice list

Audition candidates the way you'd A/B anything else: same line, different voice, immediate comparison. Re-run with the voice IDs from the list:

breeze tts "This is the voice of our onboarding narrator" --voice voc_xeh3w54cqvnp

Keep the take you like:

breeze tts "This is the voice of our onboarding narrator" -o narrator.wav

The rest of the voice surface is a subcommand away — designing a new voice from a text brief, cloning, previews, your generation history, async jobs. The CLI is a complete client for the Breeze Developer API, not a demo wrapper around a corner of it.


Ship it

From a throwaway command to a production request

The worst moment in prototyping is discovering that the fun tool and the real API are two different worlds. Breeze CLI closes that gap by construction: every command maps to the public /v1 Developer API — the same one behind our Python and TypeScript SDKs. So when a take sounds right, ask the CLI to hand over the request:

breeze curl tts "This is the voice of our onboarding narrator" --voice voc_xeh3w54cqvnp --format mp3 -o narrator.mp3

breeze curlprints a reproducible cURL request for exactly what you just did, with your real key swapped for a placeholder — safe to paste into a script, a pull request, or a teammate's chat. Translate it into an SDK call or ship it as-is. Nothing about the semantics changes between exploring and production, because it was the same API all along.


Agent native

Your AI agent is a first-class user

Increasingly, the “developer” typing a CLI command is an AI agent. We treat that as a design constraint, not a novelty. Add --agent to any command and Breeze CLI becomes a well-behaved tool call: JSON results on stdout, JSON error envelopes on stderr, no prompts, no spinners, no surprise audio:

breeze voice list --agent

The synthesis you just ran interactively becomes a quiet, file-producing call:

breeze tts "Hello from Breeze" --voice voc_xeh3w54cqvnp -o hello.wav --agent

Failures are branchable, not parseable: authentication, credits, timeout, and network errors each map to a stable exit code, so a script recovers with logic — re-login, top up, retry — instead of regexes over human-readable text. And an agent doesn't have to learn the command surface by trial and error, because the CLI will describe itself in one call:

breeze capabilities --agent

For coding agents there is one more step up: curated skills that teach Claude Code, Codex, or Cursor the recommended Breeze workflows. Installation is explicit opt-in and never touches your API key:

breeze skills install --target codex

Swap codex for claude or cursor. And if an agent is bootstrapping the CLI for you, one line installs both:

curl -fsSL https://breezeblue.ai/cli/install.sh | sh -s -- --with-skills codex

Video Lab

Narrated video, rendered on your machine

Voice rarely ships alone. Video Lab, built into the CLI, turns an HTML composition into an MP4 with Breeze TTS narration — and the whole pipeline is designed to be driven by an agent, with a JSON report at every step. Initialize a project:

breeze video init --project demo --template authored --agent

Validate before spending render time — this is also where an agent catches visual problems frame by frame: text overflow, cropped elements, unreadable captions:

breeze video validate --project demo --agent

Then render the finished MP4, narration included:

breeze video render --project demo --agent

Your compositions, assets, and finished videos never leave your machine. The only network request in the whole pipeline is the narration itself.


Craft

Trust is a feature

A tool you pipe into scripts has to be boring in the right places. Data goes to stdout and status goes to stderr, so pipes always behave. Credentials live in permission-locked local files, and keys only ever appear masked in output. Profiles keep staging and production — or two accounts — cleanly apart on one machine. And breeze update updates the binary and its runtime when you ask it to: never mid-script, never in CI, never behind your back.


Try it

Start here

Three lines from an empty terminal to a voice you can hear:

curl -fsSL https://breezeblue.ai/cli/install.sh | sh
breeze login
breeze tts "Hello from Breeze"

The full documentation — quickstart, command reference, scripting guide, and troubleshooting — lives at docs.breezeblue.ai/cli. We would love to hear what you build with it.