# ElevenLabs Scribe

Speech-to-text API that turns audio and video files or live streams into transcripts with timestamps and speaker labels.

- Provider: ElevenLabs (https://elevenlabs.io)
- Category: Transcribe audio
- Type: Hosted API
- Pricing model: Pay per hour of audio, $0.22 batch and $0.39 realtime [1]
- Free tier: Free plan with 10k credits a month [13]
- Authentication: API key in the `xi-api-key` header; single-use tokens for client-side use [6]
- Connect via: REST API, WebSocket (realtime), SDKs, CLI, local MCP server [2]
- Read from the provider's pages on 2026-11-04
- Page: https://supermarket.dev/tools/transcribe-audio/elevenlabs-scribe

## Pricing

### Billing
- Pricing model: Pay per hour of audio sent; monthly subscription plans include hours [2]
- Free tier: Free plan with 10k credits a month [13]
- Card required for free tier: Not published
- Minimum spend: Not published
- Billing period: Subscriptions billed monthly or yearly; API usage billed in US dollars [1]

### Prices
Per hour of audio, as published; no conversion needed. Silence counts toward billed duration. Add-on rates are extra per hour.
| Model | Per hour of audio | Keyterm prompting (per hour) | Transcript editing (per hour) |
|---|---|---|---|
| `scribe_v2` (batch) | $0.22 | $0.05 | $0.07 |
| `scribe_v2_medical` (batch) | $0.22 | $0.05 | $0.07 |
| `scribe_v2_realtime` | $0.39 | $0.08 | $0.12 |
Source [1]

### Other charges
- Silence: Billed like speech [2]
- Multichannel audio: Each channel billed at full duration [5]
- Speaker roles: 10% surcharge on base cost [5]
- Keyterms in the API reference: 20% surcharge on base cost [5]

## Tools

### MCP server
- Official MCP server: Yes, local [13]
- Address or package: `uvx elevenlabs-mcp` (PyPI package `elevenlabs-mcp`); no hosted address for transcription [13]

### MCP tools
The server has many other tools (text to speech, voice cloning, agents); only the transcription tool is listed.
| Tool | What it does | Read-only |
|---|---|---|
| `speech_to_text` | Transcribe speech from an audio file, optionally with language code and speaker labels | Yes |
Source [14]

### API
| Endpoint | What it does |
|---|---|
| `POST /v1/speech-to-text` | Transcribe an audio or video file (batch); optional webhook for async results |
| `GET /v1/speech-to-text/transcripts/{transcription_id}` | Retrieve a previously generated transcript |
| `DELETE /v1/speech-to-text/transcripts/{transcription_id}` | Delete a previously generated transcript |
| `wss://api.elevenlabs.io/v1/speech-to-text/realtime` | Realtime streaming transcription over WebSocket (`scribe_v2_realtime`) |
| `POST /v1/single-use-token/batch_scribe` | Create a single-use token for client-side batch requests |
| `POST /v1/single-use-token/realtime_scribe` | Create a single-use token for client-side realtime streaming |
Source [5]

### Features
- Default model: None; `model_id` is required (`scribe_v2`, `scribe_v2_medical` or `scribe_v2_realtime`) [5]
- Languages: 90+ languages [8]
- Speaker labels: Yes, up to 32 speakers (`diarize`) [2]
- Word timestamps: Yes, word-level; character-level optional [2]
- Live streaming: Yes, `scribe_v2_realtime` over WebSocket, about 150 ms latency [2]
- Max file size: 5 GB for file upload; 2 GB for HTTPS URL [5]
- Max file size (other page): 3 GB [2]
- Audio input: Audio and video files by upload or HTTPS URL; AAC, AIFF, OGG, MP3, OPUS, WAV, FLAC, M4A, WebM [2]
- Other features: Keyterm prompting up to 1000 terms, entity detection and redaction, audio event tags, multichannel up to 5 channels, webhooks [2]

## Authentication

### Methods
| Method | Used for | How |
|---|---|---|
| API key | All REST and WebSocket calls from servers | `xi-api-key` HTTP header |
| Single-use token | Client-side calls without exposing the key; expires after 15 minutes | Create with `POST /v1/single-use-token/batch_scribe` or `realtime_scribe`, pass as `token` query parameter |
Source [5]

### Getting access
- Who creates the account: A person signs in on the dashboard to create a key; the docs also describe a CLI flow that opens a browser to sign in or create an account [4]
- Where to get a key: Dashboard at `https://elevenlabs.io/app/api/api-keys` [3]
- Other requirements: Not published
- Key restrictions: Scope, credit quota and IP allowlist per key [6]

## Setup

### Addresses
- REST API: `https://api.elevenlabs.io/v1/speech-to-text` [5]
- MCP server: Local only: `uvx elevenlabs-mcp` [13]
- OpenAPI spec: `https://api.elevenlabs.io/openapi.json` [17]
- Docs for agents: `https://elevenlabs.io/docs/llms.txt` [15]
- Status page: `https://status.elevenlabs.io` [16]

### Install
| What | Command |
|---|---|
| Python SDK | `pip install elevenlabs` |
| JavaScript SDK | `npm install @elevenlabs/elevenlabs-js` |
| Realtime client SDK (browser) | `npm install @elevenlabs/client` |
| CLI (macOS) | `brew install elevenlabs/tap/elevenlabs` |
| CLI (npm) | `npm install -g @elevenlabs/cli` |
| MCP server (local) | `uvx elevenlabs-mcp` with `ELEVENLABS_API_KEY` set |
| Agent skill | `npx skills add elevenlabs/skills --skill speech-to-text` |
Source [3]

## Limits

### Rate limits
Limits are on concurrent requests, by plan.
| Plan | Speech to text concurrency | Realtime speech to text concurrency |
|---|---|---|
| Free | 8 | 6 |
| Starter | 12 | 9 |
| Creator | 20 | 15 |
| Pro | 40 | 30 |
| Scale | 60 | 45 |
| Business | 60 | 45 |
| Enterprise | Elevated | Elevated |
Source [7]

### Other limits
- Max duration: 10 hours per file (standard mode) [2]
- Max duration (other page): 1 hour (multichannel mode) [2]
- Minimum audio length: 100 ms [5]
- Keyterms: Up to 1000 keyterms, 50 characters each, 5 words each [5]
- Speakers: Up to 32 [5]
- Channels: Up to 5 [5]
- Concurrency headers: Response headers `current-concurrent-requests` and `maximum-concurrent-requests` [9]

## Privacy

### Your data
- Data location: US by default; EU, India and Singapore on Enterprise [11]
- Retention: Inputs and outputs of STT requests are logged by default; ZRM is Enterprise only [10]
- Used for training: The privacy policy says personal information is used to train models; opt-out in account settings [12]
- Zero data retention: Enterprise only, per request with `enable_logging=false`; covers `/v1/speech-to-text/` endpoints [10]

### Compliance
- Certifications: SOC2; GDPR-aligned practices [11]
- HIPAA: Business Associate Agreement available via sales; `scribe_v2_medical` is HIPAA-eligible with ZRM [2]

## Sources

1. API pricing: https://elevenlabs.io/pricing/api
2. Speech to text overview: https://elevenlabs.io/docs/overview/capabilities/speech-to-text.md
3. Speech to text quickstart: https://elevenlabs.io/docs/eleven-api/guides/cookbooks/speech-to-text.md
4. ElevenAPI quickstart: https://elevenlabs.io/docs/eleven-api/quickstart.md
5. Create transcript API reference: https://elevenlabs.io/docs/api-reference/speech-to-text/convert.md
6. API authentication: https://elevenlabs.io/docs/api-reference/authentication.md
7. Speech to text requests help article: https://elevenlabs.io/docs/help-center/product/core-capabilities/speech-to-text/how-many-speech-to-text-requests-can-i-make-and-can-i-increase-it.md
8. Speech to text languages help article: https://elevenlabs.io/docs/help-center/product/core-capabilities/speech-to-text/which-languages-does-speech-to-text-support.md
9. Models: https://elevenlabs.io/docs/overview/models.md
10. Zero Retention Mode: https://elevenlabs.io/docs/eleven-api/resources/zero-retention-mode.md
11. Data residency: https://elevenlabs.io/docs/overview/administration/data-residency.md
12. Privacy policy: https://elevenlabs.io/privacy-policy
13. elevenlabs-mcp README: https://raw.githubusercontent.com/elevenlabs/elevenlabs-mcp/main/README.md
14. elevenlabs-mcp server.py: https://raw.githubusercontent.com/elevenlabs/elevenlabs-mcp/main/elevenlabs_mcp/server.py
15. Docs index for agents: https://elevenlabs.io/docs/llms.txt
16. Status: https://status.elevenlabs.io/api/v2/status.json
17. Checked by supermarket.dev
