The useful short answer is not “BYOK costs pennies” or “BYOK costs $5 a month”. It depends on which of the two dictation stages leave your Mac.
Under the worked assumptions in this Note, 20 hours a month of local transcription plus cloud cleanup costs about $0.09 to $2.16 across five representative cleanup models. If you use OpenAI for cloud transcription as well, that stage adds about $3.60 with gpt-4o-mini-transcribe or $7.20 with Whisper. [1] Prices were checked on 5 August 2026.
Those are planning figures, not promises. They exclude tax and currency conversion, and they do not tell you which model writes best for your voice.
BYOK dictation has two separate bills
Dictation is two jobs:
- Transcription turns audio into a rough transcript.
- Cleanup turns that transcript into the text you actually want to paste.
Cloud speech providers generally bill transcription by audio duration. Text-model providers bill cleanup by input and output tokens. If a stage runs locally, its API usage cost is zero.
That distinction matters. “DeepSeek V4 Flash costs $0.09 a month” only makes sense if transcription is local and the usage assumptions below hold. It is not the price of a complete cloud pipeline.
For a ShoutFlow cost estimate, treat the stages independently. The configurations priced below use local or OpenAI transcription, then local, OpenAI, OpenRouter, DeepSeek, Kimi, Gemini, xAI or a custom endpoint for cleanup. Your Mac talks directly to the selected provider and ShoutFlow adds no token markup. [8]
What assumptions drive the figures?
I used one deliberately visible model for every calculation:
- 100 spoken words a minute
- 60 minutes of audio per dictated hour
- 12,000 cleanup input tokens per hour
- 10,000 cleanup output tokens per hour
- 5, 20 or 80 dictated hours a month
The cleanup allowance is conservative enough to include the transcript, prompt and rewritten output without pretending tokenisation is exact.
The formula is:
monthly cleanup cost = hours × ((12,000 × input rate) + (10,000 × output rate)) ÷ 1,000,000
For transcription:
monthly transcription cost = hours × 60 × advertised price per audio minute
Replace these assumptions with provider dashboard totals once you have a week of real use. A fast speaker, terse cleanup prompt or shorter output can reduce token use. Verbose output, retries and uncached prompts can increase it.
How much does cloud transcription cost?
OpenAI currently lists gpt-4o-mini-transcribe at an estimated $0.003 per minute and Whisper at $0.006 per minute. [1]
| OpenAI transcription model | 5 hours/month | 20 hours/month | 80 hours/month |
|---|---|---|---|
| gpt-4o-mini-transcribe | $0.90 | $3.60 | $14.40 |
| Whisper | $1.80 | $7.20 | $28.80 |
Local WhisperKit transcription has no API usage charge. That makes the transcription decision more important than fine differences between low-cost cleanup models.
For market context, Groq lists Whisper Large v3 Turbo at $0.04 per audio hour, while xAI currently lists speech-to-text at $0.10 an hour for REST batch transcription and $0.20 an hour for streaming. [2] [5] Those are vendor rates, not current ShoutFlow setup recommendations. A cheap endpoint on a pricing page is not the same thing as a tested provider option in the app.
Cloud cleanup: the model sets the bill
The next table uses a named model for each provider. It does not claim every model from that provider has the same price.
| Cleanup provider and model | Input / output per 1M tokens | Per dictated hour | 20 hours/month |
|---|---|---|---|
| DeepSeek V4 Flash | $0.0028 cache hit or $0.14 cache miss / $0.28 | $0.0045 | $0.09 |
| OpenAI GPT-5.4 nano | $0.20 / $1.25 | $0.0149 | $0.30 |
| xAI Grok 4.3, short context | $1.25 / $2.50 | $0.0400 | $0.80 |
| Kimi K2.6 | $0.16 cache hit or $0.95 cache miss / $4.00 | $0.0514 | $1.03 |
| Gemini 3.5 Flash | $1.50 / $9.00 | $0.1080 | $2.16 |
DeepSeek is calculated at its V4 Flash cache-miss input rate. Kimi is also calculated at cache miss. That avoids assuming a discount before you have billing evidence that your requests qualify. [3] [6]
OpenAI's figure uses GPT-5.4 nano as a low-cost representative model, not as a claim about ShoutFlow's default. xAI's row uses Grok 4.3 at its short-context rate; requests that reach the long-context threshold are charged at the higher tier. Google prices Gemini 3.5 Flash output, including thinking tokens, at $9 per million on the standard paid tier. [1] [4] [7]
Why can't OpenRouter have one price?
OpenRouter is a router, not one model with one price. A custom endpoint is even broader. For OpenRouter, collect:
- the exact model or route;
- its input price per million tokens;
- its output price per million tokens;
- any cache discount, provider minimum or route-specific condition that applies.
OpenRouter says it passes through provider inference prices without a markup, but charges a fee when you buy credits, currently 5.5% with an $0.80 minimum. [10] Include that purchase fee separately from the model arithmetic. For a custom endpoint, use the token formula only if that endpoint actually publishes separate input and output token rates. A compatible endpoint could instead be self-hosted, free, flat-rate, per-request or billed by compute time; its API shape does not determine its billing model. A provider label without the selected model or actual billing unit is not enough to produce a defensible number.
What do common combinations cost?
Using the 20-hour model:
- Fully local: $0 in API usage.
- Local transcription + DeepSeek V4 Flash cleanup: about $0.09.
- Local transcription + GPT-5.4 nano cleanup: about $0.30.
- OpenAI mini transcription + GPT-5.4 nano cleanup: about $3.90.
- OpenAI Whisper transcription + Gemini 3.5 Flash cleanup: about $9.36.
That is a wider range than a single “BYOK cost” figure suggests, but it is still easy to control: keep one stage local, choose the exact cleanup model, and check actual usage before increasing limits.
Three ways the estimate goes wrong
The first mistake is counting time at the computer instead of time spent dictating. Twenty working hours with ShoutFlow open is not twenty hours of audio. If you speak for six minutes across that working hour, the audio bill should use six minutes.
The second is treating output tokens as a fixed fraction of input. A light punctuation pass can return roughly the same amount of text as the transcript. A prompt that asks for a detailed email, specification or summary can return more. A command that removes repetition can return less. The output rate is often higher than the input rate, so this is worth measuring rather than guessing.
The third is applying a cache discount automatically. Provider pricing pages may advertise a cheaper cached-input rate, but eligibility depends on the provider's caching rules and the structure of the request. The changing transcript usually dominates a cleanup call. This Note therefore uses cache-miss prices for DeepSeek and Kimi rather than building the headline around a discount that may not appear on the bill.
Minimum top-ups, account credits, regional tax and card conversion can also dwarf a nine-cent model estimate. They are payment mechanics, not inference usage, but they still affect what leaves your bank account.
Cost does not rank quality, speed or privacy
The cheapest row wins only the arithmetic in this model. It does not prove the cleanup is accurate, preserves names, follows a custom style, handles code or returns quickly enough for your workflow. Those are separate tests.
Run the same ten real transcripts through the models you are considering. Include names, numbers, a correction halfway through a sentence, a short message and a long technical passage. Judge the pasted result, not the vendor's general benchmark. A model that needs repeated retries can cost more and waste more time even if its token rate is lower.
Your provider also receives the payload for the stage it handles: audio for cloud transcription, transcript and instructions for cloud cleanup. Review that provider's current retention, training, data-location and account-control terms before sending confidential material. For example, OpenAI says API inputs and outputs are not used for training by default unless an organisation opts in. [9] Do not assume that policy applies to another provider.
The right result is therefore a small shortlist, not a universal winner: acceptable output on your material, acceptable data terms, then the lowest measured bill among the models that passed.
How should you estimate your own bill?
A decent cost check takes ten minutes:
- Dictate normally for five working days.
- Record audio minutes from the transcription provider.
- Record input and output tokens from the cleanup provider.
- Separate cached and uncached input if the bill does.
- Multiply to a monthly figure using your own working pattern.
- Add tax and currency conversion.
- Set provider spend alerts or hard limits where available.
Do not annualise one unusually busy day. Do not count meetings you never dictate. The useful number is your steady weekly usage, not the number of hours your Mac is switched on.
ShoutFlow costs $25 once for one Mac; optional cloud usage is billed separately by the provider. [8] The practical benefit of its local-first design is not that every cloud route is automatically cheap. It is that you can decide, stage by stage, whether a cloud bill exists at all.