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.
761 B
761 B
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.