with one click
elevenlabs-transcribe
// Transcribes audio/video files using ElevenLabs Scribe v2 API. Use when transcribing audio files, generating transcripts, or converting speech to text.
// Transcribes audio/video files using ElevenLabs Scribe v2 API. Use when transcribing audio files, generating transcripts, or converting speech to text.
| name | elevenlabs-transcribe |
| description | Transcribes audio/video files using ElevenLabs Scribe v2 API. Use when transcribing audio files, generating transcripts, or converting speech to text. |
| argument-hint | <audio-file> [--output transcript.txt] [--language eng] [--num-speakers 2] [--keyterms "term1" "term2"] |
<quick_start>
Via slash command:
/elevenlabs-transcribe path/to/audio.mp3
/elevenlabs-transcribe path/to/audio.mp3 --output transcript.txt --num-speakers 3
Requirements:
ELEVENLABS_API_KEY in the project's .env fileuv installed (dependencies auto-install via PEP 723)
</quick_start>uv is available (dependency installation is automatic via inline script metadata — no venv or manual pip install needed)
API key configured in the .env file where Claude is running:
ELEVENLABS_API_KEY=your-key-here
Audio file exists and is a supported format (mp3, wav, mp4, m4a, ogg, flac, webm, etc.)
MUST stop if the API key is missing — inform the user to add it to their .env file.
Step 1: Parse user input
Extract the audio file path and any options from $ARGUMENTS or the user's message. Supported options:
--output <path> or -o <path> — where to save the transcript--language <code> — ISO-639 language code (e.g., eng, spa, fra, deu, jpn, zho)--num-speakers <n> — max speakers in the audio (1-32)--keyterms "term1" "term2" — words/phrases to bias transcription towards--timestamps none|word|character — timestamp granularity--no-diarize — disable speaker identification--no-audio-events — disable audio event tagging--json — output full JSON responseStep 2: Validate the audio file
Confirm the file path exists. Expand ~ paths. The script handles validation automatically but check early for a clear error message.
Step 3: Check for API key
grep -q "ELEVENLABS_API_KEY=" .env 2>/dev/null && echo "API key configured" || echo "API key missing"
If missing, tell the user to add ELEVENLABS_API_KEY= to their .env file and stop.
Step 4: Run transcription
Dependencies are installed automatically by uv via inline script metadata (PEP 723). No venv or manual pip install needed.
Basic transcription (diarize + audio events + auto language):
uv run ~/.claude/skills/elevenlabs-transcribe/scripts/transcribe.py "<audio_file_path>"
With output file and options:
uv run ~/.claude/skills/elevenlabs-transcribe/scripts/transcribe.py "<audio_file_path>" --output transcript.txt --language eng --num-speakers 3
With key terms for better accuracy:
uv run ~/.claude/skills/elevenlabs-transcribe/scripts/transcribe.py "<audio_file_path>" --keyterms "technical term" "product name"
Full JSON response:
uv run ~/.claude/skills/elevenlabs-transcribe/scripts/transcribe.py "<audio_file_path>" --json --output result.json
Step 5: Present results
Format the transcription output cleanly for the user. If diarization is enabled, group text by speaker. Highlight any audio events detected. Example output:
[Speaker 0]: Hello, how are you doing today?
[Speaker 1]: I'm doing great, thanks for asking! (laughter)
<script_options>
| Flag | Description | Default |
|---|---|---|
<file> | Path to audio/video file (required) | - |
--output <path>, -o | Save transcription to file | stdout |
--language <code> | ISO-639 code (eng, spa, fra, deu, jpn, zho) | auto-detect |
--num-speakers <n> | Max speakers in audio (1-32) | auto-detect |
--keyterms "t1" "t2" | Terms to bias transcription towards (max 100) | none |
--timestamps <level> | Granularity: none, word, character | word |
--no-diarize | Disable speaker identification | diarize enabled |
--no-audio-events | Disable audio event tagging | events enabled |
--json | Output full JSON response | formatted text |
| </script_options> |
<supported_formats> All major audio and video formats: mp3, wav, mp4, m4a, ogg, flac, webm, aac, wma, mov, avi, mkv, and more. Maximum file size: 3GB. </supported_formats>
<api_details>
<error_handling>
| Error | Resolution |
|---|---|
ELEVENLABS_API_KEY not found | Add key to .env file in current directory |
uv: command not found | Install uv: curl -LsSf https://astral.sh/uv/install.sh pipe to sh |
File not found | Verify the file path and expand any ~ |
422 Validation Error | Check file format/size, ensure model_id is valid |
401 Unauthorized | API key is invalid or expired |
| </error_handling> |
<success_criteria>
.env without exposure in chat--output specified, file written to requested pathAnalyze environment variables in JavaScript/TypeScript projects. Identifies unused variables, infers permission scopes, detects specific services (Stripe, AWS, Supabase), and documents code paths. Includes optional cleanup of unused variables with regression detection. Use when auditing .env files, reviewing security, or documenting project configuration.
BigCommerce API expert for building integrations, apps, headless storefronts, and automations. Full lifecycle - REST APIs, GraphQL Storefront, webhooks, authentication, app development, and multi-storefront. Use when working with BigCommerce platform APIs.
Extracts frames and timestamped audio segments from video files (GIF, MP4, MOV) at configurable intervals and stores them in a directory with a manifest file. Use when analyzing video content, preparing frames for visual review, extracting audio for transcription, or creating frame+audio sequences for another agent to process.
Chokidar-based file watcher that triggers `claude -p` on changes. Useful for automated AI reactions to file changes — design sync, code validation, config regeneration, etc.
Safely identifies and removes dead code in TypeScript/JavaScript projects using multi-agent analysis with automatic backup branches. Use when cleaning up unused exports, orphaned files, dead imports, unreachable functions, or unused dependencies.
Configure agent-tail log aggregation for the current project. Auto-detects framework (Vite, Next.js, plain Node, monorepo) and sets up CLI runner, browser log plugins, and output destinations. Use when setting up agent-tail, configuring dev server logging, or piping logs for AI agent consumption.