47 lines
1.5 KiB
Markdown
47 lines
1.5 KiB
Markdown
---
|
|
name: elevenlabs-stt
|
|
description: Transcribe audio files with ElevenLabs Speech-to-Text (Scribe v2) from the local CLI. Use when you need local audio transcription with optional speaker diarization, language hints, event tagging, or JSON output via scripts/transcribe.sh.
|
|
---
|
|
|
|
# ElevenLabs Speech-to-Text
|
|
|
|
Use `scripts/transcribe.sh` to transcribe a local audio file with ElevenLabs STT.
|
|
|
|
## Requirements
|
|
|
|
Preferred: set `ELEVENLABS_API_KEY` in the environment before running the script.
|
|
|
|
Fallback: if the environment variable is not set, the script will try to read the key from local OpenClaw config files in `~/.openclaw/`.
|
|
|
|
Required binaries:
|
|
- `curl`
|
|
- `jq`
|
|
- `python3`
|
|
|
|
## Usage
|
|
|
|
Run from the skill directory or call the script by full path.
|
|
|
|
Examples:
|
|
|
|
```bash
|
|
scripts/transcribe.sh /path/to/audio.mp3
|
|
scripts/transcribe.sh /path/to/audio.mp3 --diarize --lang en
|
|
scripts/transcribe.sh /path/to/audio.mp3 --json
|
|
scripts/transcribe.sh /path/to/audio.mp3 --events
|
|
```
|
|
|
|
## Options
|
|
|
|
- `--diarize` — enable speaker diarization
|
|
- `--lang CODE` — pass an ISO language code hint such as `en`, `es`, or `fr`
|
|
- `--json` — print the full JSON response instead of only transcript text
|
|
- `--events` — include audio event tagging when supported
|
|
|
|
## Notes
|
|
|
|
- The script uploads a local file directly to ElevenLabs.
|
|
- The model is fixed to `scribe_v2` in the current script.
|
|
- The script returns plain transcript text by default, or pretty-printed JSON with `--json`.
|
|
- If the API returns an error payload, the script prints the error and exits non-zero.
|