# Audio Transcribe

> Transcribe local audio files (voice memos, meeting recordings, dictations, interviews; m4a/mp3/wav/opus/ogg/flac, also the audio track of local video files) in high quality via Whisper (configurable API endpoint) and place the transcript as a dated .md next to the source file. Use whenever the user drops an audio file, mentions a path to a recording, or wants its content as text: "transcribe this", "what do I say in the recording", "turn this into text", "summarize the memo", even without the word "transcribe". NOT for YouTube or podcast URLs; that is the video-watch skill.

- Skill: `belschak/audio-transcribe` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds@latest add belschak/audio-transcribe`
- Raw SKILL.md: https://api.skillmd.com/api/skills/belschak/audio-transcribe/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Docs & Writing
- Author: belschak (https://skillmd.com/u/belschak)
- Updated: 2026-09-17
- Page: https://skillmd.com/skills/belschak/audio-transcribe

---


# audio-transcribe

Local audio file -> Whisper transcript as .md. The script does everything itself: ffmpeg conversion (16 kHz mono opus), chunking above 20 MB, upload to the configured endpoint, retries, temp cleanup. It imports the proven pipeline of the video-watch skill instead of duplicating it, so both skills need to be installed side by side (they ship in the same repo).

**Setup (once):** same `.env` as video-watch (in the video-watch repo root or skill folder; both locations are read): `WHISPER_API_URL`, plus `WHISPER_API_KEY` for hosted APIs. See `.env.example`. `ffmpeg` must be on PATH.

## Workflow

1. **Transcribe:**
   ```
   python3 <skill-path>/scripts/audio-transcribe.py "<path>" [--vocab "Term1, Term2"] [--out <folder>] [--json]
   ```
   - `--vocab`: proper nouns and jargon likely to occur (derive from file name and context). Improves Whisper accuracy noticeably.
   - Several files in one call are fine; `--out` must then be a folder.
   - `--json`: additionally write raw segments (finer timestamps) as .json, only for machine post-processing.
2. **Output:** `<name>-transcript-YYYY-MM-DD.md` next to the source file, paragraphs with `[m:ss]` timestamps. If the source sits in an awkward place (Downloads, Desktop), use `--out` to write into the matching project folder instead, never into a workspace root.
3. Answer follow-ups ("summarize", "what do I say about X") from the .md; never transcribe twice.

Cost depends on your endpoint; at Groq's whisper-large-v3 pricing (as of 2026-07) about $0.111 per audio hour. For YouTube or podcast URLs use the video-watch skill.

