Speech is Cheap (SIC) Skill
Fast, accurate, and incredibly inexpensive automatic speech-to-text transcription service.
🚀 Why use this skill?
- Disruptive Pricing: $0.06 - $0.12 per hour (2-15x cheaper than Deepgram or OpenAI).
- Extreme Speed: 100 minutes of audio transcribes in ~1 minute.
- Multilingual: Supports 100 languages with auto-detection.
- Agent-Ready: Designed for high-volume, automated pipelines.
🛠 Setup
1. Get an API Key
Sign up at speechischeap.com. Use code
CH5
for $5 off.
2. Configure Authentication
This skill looks for your API key in the
SIC_API_KEY
environment variable.
Add this to your
.env
or agent config:
SIC_API_KEY=your_key_here
📖 Usage
🤖 TL;DR for Agents
When this skill is installed, you can transcribe any URL from an OpenClaw session and get the JSON results immediately by running:
./skills/asr/scripts/asr.sh transcribe --url "https://example.com/audio.mp3"
Transcribe a URL
# Basic transcription
./skills/asr/scripts/asr.sh transcribe --url "https://example.com/audio.mp3"
Advanced transcription with options
./skills/asr/scripts/asr.sh transcribe --url "https://example.com/audio.mp3"
--speakers --words --labels
--language "en"
--format "srt"
--private
Transcribe a Local File
Perfect for processing audio already on your disk. This handles the upload automatically.
# Upload and transcribe local media
./skills/asr/scripts/asr.sh transcribe --file "./local-audio.wav"
Upload with webhook callback
./skills/asr/scripts/asr.sh transcribe --file "./local-audio.wav" --webhook "https://mysite.com/callback"
Note: For local files, the skill handles the multi-part upload to
Supported Options
--speakers
: Enable speaker diarization
--words
: Enable word-level timestamps
--labels
: Enable audio labeling (music, noise, etc.)
--stream
: Enable streaming output
--private
: Do not store audio/transcript (privacy mode)
--language <code>
: ISO language code (e.g., 'en', 'es')
--confidence <float>
: Minimum confidence threshold (default 0.5)
--format <fmt>
: Output format (json, srt, vtt, webvtt)
--webhook <url>
: URL to receive job completion payload
--segment-duration <n>
: Segment duration in seconds (default 30)
Check Job Status
./skills/asr/scripts/asr.sh status "job-id-here"
🤖 For Agents
The
asr.sh
command-line tool returns JSON by default when successful, making it easy to pipe into other tools or parse directly.
If the
SIC_API_KEY
is missing, the tool will provide a clear error message and a direct link to the signup page.