speech-to-text
Transcribe audio to text using ElevenLabs Scribe v2.
Skill by elevenlabsOfficial
Install
Works with Claude Code, Claude apps, Codex, Cursor, Gemini CLI, GitHub Copilot, VS Code, OpenCode, Goose, Windsurf. Read the repository before you give any tool access to your data.
npx agentmarket install skill/elevenlabs-speech-to-text
Asks which of your tools to add it to (Claude Code, Codex, Cursor, VS Code, Windsurf, Gemini CLI, Claude Desktop) and shows the change first. See https://agentmart.dev/cli.
Get the weekly diff
The weekly diff: one email a week with new agent tools, notable updates and grade changes, plus security alerts for tools you follow. Double opt-in, one-click unsubscribe.
About
Use cases: writing, audio-video
Reviews
Write a reviewNo reviews yet. Installed it? Reviews come from verified installers only. How reviews work
Permissions
What this skill can do and what it asks for, from its SKILL.md. Checked Oct 25, 2026.
- Tools
- No tools found
- Secrets
- None asked for
- Install scripts
- None found
Network hosts it talks to 1
codeload.github.com· found in install command
Files it touches
~/.claude/skills/speech-to-text
What's inside
- Skill name
speech-to-text- Description
- Transcribe audio to text using ElevenLabs Scribe v2. Use when converting audio/video to text, generating subtitles, transcribing meetings, or processing spoken content.
- License
- MIT
- Compatibility
- Requires internet access and an ElevenLabs API key (ELEVENLABS_API_KEY).
- Instructions
- 323 lines in SKILL.md · view on GitHub
Before installing
- Instructions call the network
Files (7)
- SKILL.md
- installation.md · references/
- realtime-client-side.md · references/
- realtime-commit-strategies.md · references/
- realtime-events.md · references/
- realtime-server-side.md · references/
- transcription-options.md · references/
SKILL.md (first lines)
# ElevenLabs Speech-to-Text
Transcribe audio to text with Scribe v2 - supports 90+ languages, speaker diarization, and word-level timestamps.
> **Setup, before writing any code:** if `ELEVENLABS_API_KEY` isn't set for this project, run `npx -y @elevenlabs/cli@latest onboard init` from the app's folder first and follow what it prints: it signs the user in and stores a key for the project, so nobody copies one by hand. Otherwise see the [Installation Guide](references/installation.md). For JavaScript, use `@elevenlabs/*` packages only.
## Quick Start
### Python
```python
from elevenlabs import ElevenLabs
client = ElevenLabs()
with open("audio.mp3", "rb") as audio_file:
result = client.speech_to_text.convert(file=audio_file, model_id="scribe_v2")
print(result.text)
```
### JavaScript
```javascript
import { ElevenLabsClient } from "@elevenlabs/elevenlabs-js";
import { createReadStream } from "fs";
const client = new ElevenLabsClient();
const result = await client.speechToText.convert({
file: createReadStream("audio.mp3"),
modelId: "scribe_v2",
});
console.log(result.text);
```
### CLI
```bash
elevenlabs speech-to-text convert --file audio.mp3 --model-id scribe_v2
```
## Models
| Model ID | Description | Best For |
|----------|-------------|----------|
| `scribe_v2` | State-of-the-art accuracy, 90+ languages | Batch transcription, subtitles, long-form audio |
| `scribe_v2_medical` | Specialized recognition for medical and clinical audio, 90+ languages | Clinical documentation, medical dictation, patient calls |
| `scribe_v2_realtime` | Low latency (~150ms) | Live transcription, voice agents |
| `scribe_v2_realtime_turbo` | Realtime transcription variant | Live transcription |
| `scribe_v2_realtime_lite` | Realtime transcription variant | Live transcription |
## Transcription with Timestamps
Word-level timestamps include type classification and speaker identification:
```python
result = client.speech_to_text.convert(
file=audio_file, model_id="scribe_v2", timestamps_granularity="word"
)
for word in result.words:
print(f"{word.text}: {word.start}s - {word.end}s (type: {word.type})")
```
## Speaker Diarization
Identify WHO said WHAT - the model labels each word with a speaker ID, useful for meetings, interviews, or any multi-speaker audio:
```python
result = client.speech_to_text.convert(
file=audio_file,
model_id="scribe_v2",
diarize=True
)
for word in result.words:
print(f"[{word.speaker_id}] {word.text}")
```
For call recordings, the batch API can label diarized speakers as `agent` and `customer` by setting `detect_speaker_roles=true` alongside `diarize=true`. This option is not compatible with `use_multi_channel=true`.
If your workspace has registered speaker profiles, set `use_speaker_library=true` with `diarize=true` to match detected speakers against the speaker library.
```bash
elevenlabs speech-to-text convert \
--file call.mp3 \
--model-id scribe_v2 \
--diarize true \
--detect-speaker-roles true \
--use-speaker-library true
```
## Multichannel Audio
Use `use_multi_channel=true` when each speaker is isolated on a separate audio channel. By default, the API returns one transcript per channel under `transcripts`; set `multichannel_output_style="combined"` to receive one transcript merged by timestamp, with `channel_index` on each word.
```python
result = client.speech_to_text.convert(
file=audio_file,
model_id="scribe_v2",
use_multi_channel=True,
multichannel_output_style="combined",
)
```
## Keyterm Prompting
Help the model recognize specific words it might otherwise mishear - product names, technical jargon, or unusual spellings (up to 100 terms):
```python
result = client.speech_to_text.convert(
file=audio_file,
model_id="scribe_v2",
keyterms=["ElevenLabs", "Scribe", "API"]
)
```
## Language DetectionFrom elevenlabs/skills, MIT.
More from elevenlabs/skills
- 0.814score
realtime
elevenlabsOfficial
Use ElevenLabs Realtime models (`eleven_realtime_v1_mini`, `eleven_realtime_v1_max`), the low-latency models built for voice conversation.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
dubbing
elevenlabsOfficial
Dub audio and video into other languages using the ElevenLabs Dubbing API (dubbing_v2), preserving the original speakers' voices.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
music
elevenlabsOfficial
Generate music using ElevenLabs Music API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-isolator
elevenlabsOfficial
Remove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-changer
elevenlabsOfficial
Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer…
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
text-to-speech
elevenlabsOfficial
Convert text to speech using ElevenLabs voice AI.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
speech-engine
elevenlabsOfficial
Add real-time voice conversations to a custom agent runtime with ElevenLabs Speech Engine.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
sound-effects
elevenlabsOfficial
Generate sound effects from text descriptions using ElevenLabs.
SkillAFreshness: A★ 508Claude Code +9 - 0.808score
onboarding
elevenlabsOfficial
Add ElevenLabs to a project from scratch.
SkillAFreshness: A★ 508Claude Code +9 - 0.808score
setup-api-key
elevenlabsOfficial
Fix or hand-configure an existing ElevenLabs API key.
SkillAFreshness: A★ 508Claude Code +9 - 0.803score
agents
elevenlabsOfficial
Build voice AI agents with ElevenLabs.
SkillAFreshness: A★ 508Claude Code +9 - 0.800score
update-skills-from-changelog
elevenlabsOfficial
Update ElevenLabs agent skills from a merged weekly changelog in elevenlabs-dx, then open a pull request in elevenlabs/skills.
SkillAFreshness: A★ 508Claude Code +9
Compare and alternatives
Featured in
Signals
- Stars
- 508
- Forks
- 85
- Open issues
- 1
- Last commit (this folder)
- Oct 22, 2026 (5 days ago)
From GitHub (fetched Oct 24, 2026).
Details
- License
- MIT
- Repository
- github.com/elevenlabs/skills
- Website
- elevenlabs.io
- First seen
- Oct 24, 2026
- Last checked
- Oct 24, 2026
- Source
- GitHubgithub-graphql
Same skill elsewhere
Copies of this SKILL.md published by others; search shows only one of them.
More from elevenlabs
- 0.814score
realtime
elevenlabsOfficial
Use ElevenLabs Realtime models (`eleven_realtime_v1_mini`, `eleven_realtime_v1_max`), the low-latency models built for voice conversation.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
dubbing
elevenlabsOfficial
Dub audio and video into other languages using the ElevenLabs Dubbing API (dubbing_v2), preserving the original speakers' voices.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
music
elevenlabsOfficial
Generate music using ElevenLabs Music API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-isolator
elevenlabsOfficial
Remove background noise and isolate vocals/speech from audio using ElevenLabs Voice Isolator (audio isolation) API.
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
voice-changer
elevenlabsOfficial
Transform the voice in an audio recording into a different target voice while preserving emotion, timing, and delivery using the ElevenLabs Voice Changer…
SkillAFreshness: A★ 508Claude Code +9 - 0.814score
text-to-speech
elevenlabsOfficial
Convert text to speech using ElevenLabs voice AI.
SkillAFreshness: A★ 508Claude Code +9
Cite this page
speech-to-text skill. Agent Mart. https://agentmart.dev/skills/elevenlabs-speech-to-text (last updated 2026-10-24)