$0.006 / min · $0.36 / hr
What the Whisper API actually costs.
OpenAI prices Whisper at $0.006 per minute. That's $0.36 per audio-hour — a number that stays invisible until the month you send a few hundred hours.
The same model, priced by five providers
| Provider | $ / hr | Notes |
|---|---|---|
| SpeakEasycheapest | $0.20 | Whisper-quality, OpenAI-compatible API, hours-based billing |
| OpenAI Whisper API | $0.36 | $0.006/min — the price floor we beat |
| Deepgram Nova | $0.43 | $0.0072/min on pay-as-you-go |
| AssemblyAI | $0.37 | $0.00062/sec on the universal model |
| Google Cloud Speech | $0.96 | $0.016/min standard model |
Public list prices on each provider's pricing page as of April 2026. Pay-as-you-go tier where available.
What that becomes per month
| Volume | OpenAI | SpeakEasy |
|---|---|---|
| 10 hours / month | $3.60 | $10.00 (plan) |
| 50 hours / month | $18.00 | $10.00 |
| 200 hours / month | $72.00 | $47.50 |
| 1,000 hours / month | $360.00 | $247.50 |
SpeakEasy is $10/month with 50 hours included, then $0.25 per additional hour. Below 28 hours a month, OpenAI's pay-as-you-go is genuinely cheaper — the plan only pays off once you're using it.
Switching is one line
The API speaks the OpenAI protocol, so the official SDK works unchanged. Point base_url somewhere else and keep the rest of your code.
from openai import OpenAI
client = OpenAI(
api_key="sk-se-YOUR_KEY_HERE",
base_url="https://www.tryspeakeasy.io/api/v1", # the only line that changes
)
with open("audio.mp3", "rb") as f:
result = client.audio.transcriptions.create(
model="whisper-large-v3",
file=f,
)
print(result.text)
Get an API key → $1 for the first month, 50 hours included. Full Python walkthrough →
Test the output before you spend anything
This is the same whisper-large-v3 an API key would call. Drop a file you actually care about — the cost of that transcription is printed underneath the result.
FAQ
How much does the OpenAI Whisper API cost?+
$0.006 per minute of audio, billed by the second, which works out to $0.36 per audio-hour. There's no monthly minimum and no included tier — you pay for exactly what you send. New accounts get a small one-off credit, after which every minute is billed.
Is Whisper cheaper if I self-host it?+
Per hour of audio, often yes; per hour of your time, usually not. large-v3 wants roughly 10 GB of VRAM to run comfortably, so you're renting a GPU. That only beats $0.36/hr if the GPU stays busy — an idle instance you pay for by the hour loses to per-minute billing quickly. Self-hosting wins on steady high volume or when audio can't leave your network.
What is the cheapest Whisper API?+
Of the hosted options, SpeakEasy at $0.20 per audio-hour is the lowest we're aware of for whisper-large-v3, against $0.36 at OpenAI and $0.37 to $0.43 at AssemblyAI and Deepgram. The table above links each provider's own pricing page so you can check rather than take our word for it.
Do I have to rewrite my code to switch?+
No. The API is OpenAI-compatible, so the official Python and Node SDKs work unchanged — you point base_url at a different host and keep everything else. That's the whole migration, and it's one line.
What counts as billable time?+
Audio duration, not processing time or file size. A 12-minute recording costs the same whether it's a 3 MB mono MP3 or a 200 MB WAV, and whether it returns in four seconds or forty.
Can I try it before paying anything?+
The widget on this page runs the same whisper-large-v3 model, free and without an account, five files a day. If the output isn't good enough for your use case, you'll know before you spend anything.