From sundial-org-awesome-openclaw-skills-4
Transcribes audio files via OpenRouter using audio-capable models (Gemini, GPT-4o-audio, etc). Converts audio to WAV, base64 encodes it, and sends to the chat completions API.
How this skill is triggered — by the user, by Claude, or both
Slash command
/sundial-org-awesome-openclaw-skills-4:openrouter-transcribeThe summary Claude sees in its skill listing — used to decide when to auto-load this skill
Transcribe audio files using OpenRouter's chat completions API with `input_audio` content type. Works with any audio-capable model.
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"
input_audio contentSet 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:
npx claudepluginhub sundial-org/awesome-openclaw-skillsTranscribes audio files using OpenAI's Whisper API (curl). Useful for generating transcripts from meetings, lectures, or voice notes.
Transcribes speech to text via OpenRouter's API using curl or bash scripts. Encodes audio as base64 JSON input for models like google/chirp-3 or openai/whisper-1; returns transcript and usage in JSON.
Transcribes audio files to text using OpenAI models with optional speaker diarization. Handles known-speaker hints and chunking for long recordings.