Requirements
- Target platform
- OpenClaw
- Install method
- Manual import
- Extraction
- Extract archive
- Prerequisites
- OpenClaw
- Primary doc
- SKILL.md
Transcribe audio files via OpenRouter using audio-capable models (Gemini, GPT-4o-audio, etc).
Transcribe audio files via OpenRouter using audio-capable models (Gemini, GPT-4o-audio, etc).
Hand the extracted package to your coding agent with a concrete install brief instead of figuring it out manually.
I downloaded a skill package from Yavira. Read SKILL.md from the extracted folder and install it by following the included instructions. Tell me what you changed and call out any manual steps you could not complete.
I downloaded an updated skill package from Yavira. Read SKILL.md from the extracted folder, compare it with my current installation, and upgrade it while preserving any custom configuration unless the package docs explicitly say otherwise. Summarize what changed and any follow-up checks I should run.
Transcribe audio files using OpenRouter's chat completions API with input_audio content type. Works with any audio-capable model.
{baseDir}/scripts/transcribe.sh /path/to/audio.m4a Output goes to stdout.
# Custom model (default: google/gemini-2.5-flash) {baseDir}/scripts/transcribe.sh audio.ogg --model openai/gpt-4o-audio-preview # Custom instructions {baseDir}/scripts/transcribe.sh audio.m4a --prompt "Transcribe with speaker labels" # Save to file {baseDir}/scripts/transcribe.sh audio.m4a --out /tmp/transcript.txt # Custom caller identifier (for OpenRouter dashboard) {baseDir}/scripts/transcribe.sh audio.m4a --title "MyApp"
Converts audio to WAV (mono, 16kHz) using ffmpeg Base64 encodes the audio Sends to OpenRouter chat completions with input_audio content Extracts transcript from response
Set OPENROUTER_API_KEY env var, or configure in ~/.clawdbot/clawdbot.json: { skills: { "openrouter-transcribe": { apiKey: "YOUR_OPENROUTER_KEY" } } }
The script sends identification headers to OpenRouter: X-Title: Caller name (default: "Peanut/Clawdbot") HTTP-Referer: Reference URL (default: "https://clawdbot.com") These show up in your OpenRouter dashboard for tracking.
ffmpeg format errors: The script uses a temp directory (not mktemp -t file.wav) because macOS's mktemp adds random suffixes after the extension, breaking format detection. Argument list too long: Large audio files produce huge base64 strings that exceed shell argument limits. The script writes to temp files (--rawfile for jq, @file for curl) instead of passing data as arguments. Empty response: If you get "Empty response from API", the script will dump the raw response for debugging. Common causes: Invalid API key Model doesn't support audio input Audio file too large or corrupted
Agent frameworks, memory systems, reasoning layers, and model-native orchestration.
Largest current source with strong distribution and engagement signals.