Guide: Transcribing Audio with Whisper via OpenAI and Groq (SAPAT) - #322
Open
Spaceben123 wants to merge 1 commit into
Open
Guide: Transcribing Audio with Whisper via OpenAI and Groq (SAPAT)#322Spaceben123 wants to merge 1 commit into
Spaceben123 wants to merge 1 commit into
Conversation
Covers SAPAT (nkkko/sapat), a multi-provider Whisper transcription CLI, for issue daytona#13. Grounded in a direct read of the source (v0.3.0, provider-plugin-architecture): explains how Whisper's encoder-decoder architecture actually works, walks through Azure OpenAI and Groq end-to-end, adds a new native api.openai.com provider using the existing OpenAICompatProvider mixin (the current release only ships azure/groq for the OpenAI family), surveys the other 25+ registered providers, and documents the automatic large-file chunking pipeline. Also flags a real, source-verified gotcha: the azure provider calls Whisper's /audio/translations endpoint rather than /audio/transcriptions, so non-English audio comes back translated into English rather than transcribed in its original language. Adds a first-time author profile and a new speech-to-text definition per CONTRIBUTING.md. Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01MQvd9avZenwbcumQHWuusX Signed-off-by: Spaceben123 <Spaceben123@users.noreply.github.com>
Spaceben123
force-pushed
the
guide/sapat-whisper-openai-groq
branch
from
September 5, 2026 18:36
ded742f to
5c8269d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
/claim #13
What this covers
A long-form, step-by-step guide to SAPAT (
nkkko/sapat), the multi-provider Whisper transcription CLI referenced in #13, written for an AI-engineer audience.Everything technical in the guide is grounded in a direct read of the SAPAT source (commit
ba900b7, thefeat/provider-plugin-architecturemerge, packagev0.3.0) — not the project's README, which documents an older CLI shape (the README's--api openai/--api groqflags andGROQCLOUD_API_KEYno longer exist in the current code; the guide calls this drift out explicitly rather than repeating the stale README).Structure:
--promptand--languagebehave the way they do, and why silence causes hallucination.whisper.cpp/whisperxall run the same Whisper weights on different infrastructure, while several other "compatible" providers (Mistral/Voxtral, ElevenLabs/Scribe, NVIDIA/Parakeet, Vosk/Kaldi) are not Whisper at all despite sharing the API shape.azure.py/groq.py.openai(api.openai.com) provider — onlyazure— so the guide adds one, using the existingOpenAICompatProvidermixin the codebase already uses for Together/Venice/Lemonfox. This directly answers the issue's "extend it to cover additional supported APIs" ask.azure.pycalls Whisper's/audio/translationsendpoint, not/audio/transcriptions— meaning non-English audio through the Azure provider comes back translated into English, not transcribed in its original language, regardless of--language.audio_splitter.py), full CLI flag reference, troubleshooting, and real-world use cases.Also includes a new
speech-to-textdefinition and a first-time author profile, perCONTRIBUTING.md.Disclosure
This guide was researched and drafted with AI assistance (Claude/Fable). The technical claims about SAPAT's architecture, providers, and CLI behavior are based on directly reading the source files cited throughout (not invented or copied from the README). I do not have API keys for the paid providers, so I did not execute a live end-to-end transcription — the guide is explicit that the code-level walkthroughs (architecture, request construction, provider registry, chunking math) were verified by reading the source, while running the commands against a live API key is left to the reader, as the guide states outright rather than implying it was tested live.
Why this over the existing attempts
I checked the issue's history before writing — it explicitly calls out that prior submissions under-explained Whisper itself. This guide treats that as the core ask rather than a footnote, and adds one piece of genuinely new technical content (the direct-OpenAI provider extension, plus the translations-vs-transcriptions endpoint finding) that isn't just a restatement of the README.
🤖 Generated with Claude Code
https://claude.ai/code/session_01MQvd9avZenwbcumQHWuusX