You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The AssemblyAI CLI (`assembly`) brings speech AI to your terminal: transcribe files, stream live audio, run a two-way voice agent, prompt the LLM Gateway, and scaffold ready-to-deploy starter apps.
7
+
The AssemblyAI CLI (`assembly`) brings speech AI to your terminal: transcribe files, URLs, and YouTube/podcast pages, stream live audio, talk to a two-way voice agent, prompt the LLM Gateway, benchmark speech models, and scaffold ready-to-deploy starter apps.
8
8
9
9
## 🚀 Why the AssemblyAI CLI?
10
10
11
-
-**🎯 Everything in one command**: transcription, real-time streaming, voice agents, and LLM prompts — no SDK boilerplate.
12
-
-**🔌 Pipeline-friendly**: data goes to stdout, errors to stderr, `--json`for stable machine-readable output, `-` reads audio from stdin.
13
-
-**🔐 Secure by default**: your API key lives in the OS keyring, never in a dotfile, and run commands have no `--api-key` flag so keys can't leak into shell history.
14
-
-**🛠️ From demo to app**: `assembly init` scaffolds a runnable FastAPI starter app, and `--show-code` prints the equivalent Python SDK script for any command.
11
+
-**🎯 One command for everything**: transcription, real-time streaming, voice agents, LLM prompts, and WER benchmarking — no SDK boilerplate.
12
+
-**🔌 Built for pipelines**: data goes to stdout, errors to stderr, `--json`gives stable machine-readable output, and`-` reads audio from stdin.
13
+
-**🔐 Secure by default**: your API key lives in the OS keyring, never in a dotfile — and run commands have no `--api-key` flag, so keys can't leak into`ps` or shell history.
14
+
-**🛠️ From demo to deployed app**: `assembly init` scaffolds a runnable FastAPI starter, `assembly dev` / `share` / `deploy` run, tunnel, and ship it, and `--show-code` prints the equivalent Python SDK script for any run command.
15
15
-**🤖 Agent-ready**: `assembly setup install` wires your coding agent up with the AssemblyAI docs MCP server and skills.
16
16
-**📖 Open source**: MIT licensed.
17
17
@@ -30,156 +30,100 @@ brew trust assemblyai/cli # only needed when HOMEBREW_REQUIRE_TAP_TRUST is set
30
30
brew install assembly
31
31
```
32
32
33
-
Homebrew pulls in `ffmpeg` and `portaudio`, so `stream` and `agent` work out of the box.
34
-
Plain `transcribe` uploads your file directly and needs neither.
33
+
Homebrew pulls in `ffmpeg` and `portaudio`, so every command works out of the box.
have [`ffmpeg`](https://ffmpeg.org) on `PATH` to stream non-WAV audio. Plain `transcribe` needs
56
-
neither.
57
-
58
-
## 📋 Key Features
59
-
60
-
-**Transcription**: `assembly transcribe` handles files, URLs, and YouTube/podcast pages, with flags for speaker labels, PII redaction, summarization, sentiment, chapters, and more.
61
-
-**Batch transcription**: point `assembly transcribe` at a directory or glob (or pipe paths with `--from-stdin`) to transcribe everything concurrently, with sidecar files that make re-runs resumable. Add `--llm "prompt"` to run an LLM prompt over each finished transcript, saved into the sidecars.
62
-
-**Real-time streaming**: `assembly stream` transcribes the microphone, a file, or a URL live — on macOS it can capture system audio too.
63
-
-**Voice agent**: `assembly agent` runs a full-duplex spoken conversation in your terminal (use headphones).
64
-
-**LLM Gateway**: `assembly llm` prompts an LLM over a transcript, stdin, or a live stream (`assembly stream --llm "summarize as I talk"`).
65
-
-**Model evaluation**: `assembly eval` transcribes a Hugging Face dataset (with built-in aliases for common benchmarks: `assembly eval tedlium`) or a local `.csv`/`.jsonl` manifest and scores WER against its references — handy for picking a speech model.
66
-
-**Starter apps**: `assembly init` scaffolds a self-contained FastAPI + HTML app (`audio-transcription`, `live-captions`, `voice-agent`).
67
-
-**Webhook testing**: `assembly webhooks listen` opens a public dev URL (cloudflared quick tunnel) that prints webhook deliveries as they arrive and can forward them to your local app with `--forward-to`.
68
-
-**Code generation**: add `--show-code` to `transcribe`/`stream`/`agent` to print the equivalent Python SDK script instead of running.
`sudo dnf install portaudio`) and [`ffmpeg`](https://ffmpeg.org) on `PATH` to stream
49
+
non-WAV audio. Plain `transcribe` uploads your file directly and needs neither.
70
50
71
51
## 🔐 Authentication
72
52
73
53
New to AssemblyAI? Create a free account at
74
54
[assemblyai.com/dashboard](https://www.assemblyai.com/dashboard) to get an API key.
75
55
76
-
### Option 1: Browser login (recommended)
56
+
The easiest path is browser login, which stores your API key in the OS keyring
57
+
(Keychain / Credential Manager / Secret Service):
77
58
78
59
```sh
79
60
assembly login
80
61
```
81
62
82
-
Stores your API key in the OS keyring (Keychain / Credential Manager / Secret Service).
83
-
84
-
### Option 2: Environment variable
63
+
In CI — or anywhere a browser isn't an option — set the key as an environment variable
64
+
instead. It's checked before the keyring, and nothing is written to disk:
85
65
86
66
```sh
87
67
export ASSEMBLYAI_API_KEY="YOUR_API_KEY"
88
68
```
89
69
90
-
Checked before the keyring, so nothing is written to disk — ideal for CI (set it as a masked secret).
91
-
92
-
## 🚀 Getting Started
93
-
94
-
### Basic usage
70
+
## 🚀 Getting started
95
71
96
-
Guided setup: sign in, first transcription, start building:
72
+
For a guided tour — sign in, run a first transcription, start building:
97
73
98
74
```sh
99
75
assembly onboard
100
76
```
101
77
102
-
Transcribe the hosted sample:
78
+
Or jump straight in:
103
79
104
80
```sh
105
-
assembly transcribe --sample
81
+
assembly transcribe --sample # transcribe the hosted sample file
82
+
assembly transcribe call.mp3 # then your own audio
83
+
assembly stream --sample # live streaming, no microphone needed
84
+
assembly stream # stream your microphone (Ctrl-C to stop)
85
+
assembly agent # talk to a voice agent (use headphones)
86
+
assembly init # scaffold a starter app
106
87
```
107
88
108
-
Then your own audio:
89
+
## 📋 Key features
109
90
110
-
```sh
111
-
assembly transcribe call.mp3
112
-
```
113
-
114
-
Stream the hosted sample live (no microphone needed):
115
-
116
-
```sh
117
-
assembly stream --sample
118
-
```
119
-
120
-
Or stream your microphone (Ctrl-C to stop):
121
-
122
-
```sh
123
-
assembly stream
124
-
```
125
-
126
-
Talk to a voice agent:
127
-
128
-
```sh
129
-
assembly agent
130
-
```
131
-
132
-
Scaffold a starter app:
133
-
134
-
```sh
135
-
assembly init
136
-
```
91
+
-**Transcription**: `assembly transcribe` handles files, URLs, and YouTube/podcast pages, with flags for speaker labels, PII redaction, summarization, sentiment, chapters, and more.
92
+
-**Batch transcription**: point `assembly transcribe` at a directory or glob (or pipe paths with `--from-stdin`) to transcribe everything concurrently, with sidecar files that make re-runs resumable. Add `--llm "prompt"` to run an LLM prompt over each finished transcript, saved into the sidecars.
93
+
-**Real-time streaming**: `assembly stream` transcribes the microphone, a file, or a URL live — on macOS it can capture system audio too.
94
+
-**Voice agent**: `assembly agent` runs a full-duplex spoken conversation in your terminal.
95
+
-**LLM Gateway**: `assembly llm` prompts an LLM over a transcript, stdin, or a live stream (`assembly stream --llm "summarize as I talk"`).
96
+
-**Model evaluation**: `assembly eval` transcribes a Hugging Face dataset (with built-in aliases for common benchmarks: `assembly eval tedlium`) or a local `.csv`/`.jsonl` manifest and scores WER against its references — handy for picking a speech model.
97
+
-**Starter apps**: `assembly init` scaffolds a self-contained FastAPI + HTML app (`audio-transcription`, `live-captions`, `voice-agent`); `assembly dev` runs it, `assembly share` exposes it on a public URL, and `assembly deploy` ships it to Vercel, Railway, or Fly.io.
98
+
-**Webhook testing**: `assembly webhooks listen` opens a public dev URL (cloudflared quick tunnel) that prints webhook deliveries as they arrive and can forward them to your local app with `--forward-to`.
99
+
-**Code generation**: add `--show-code` to `transcribe`/`stream`/`agent` to print the equivalent Python SDK script instead of running.
0 commit comments