ddidderr a2c8502c61 feat: encode audio as 64 kbps MP3 instead of WAV
Convert the normalized audio to mono 16 kHz MP3 at 64 kbps with
FFmpeg's libmp3lame encoder instead of uncompressed WAV. This reduces
request payload size before base64 encoding and submitting to OpenRouter.
Update README documentation accordingly.
2026-09-05 15:16:56 +02:00

Transcribe

Requires Bash, FFmpeg, curl, jq, and standard coreutils.

export OPENROUTER_API_KEY='sk-or-v1-...'
./transcribe recording.m4a
./transcribe video.mp4 > transcript.txt

Accepts m4a, mp4, aac, flac, opus, mp3, ogg, wav, and other formats your FFmpeg supports. Uses the first audio track, converts it to mono 16 kHz MP3 at 64 kbps (requires FFmpeg's libmp3lame encoder), and sends it to OpenRouter's microsoft/mai-transcribe-2 model. Temporary files are removed on exit. The transcript goes to stdout; errors to stderr.

One file per invocation; the whole recording is sent in one request, so the service's audio length and request size limits apply.

OpenRouter model and API reference

S
Description
No description provided
Readme
52 KiB
Languages
Python 78.7%
Shell 21.3%