OpenTranscription
OpenTranscription
RankerModelsPlayground
OpenTranscription
OpenTranscription

One API to every speech-to-text model worth using. Compare them on your audio, route to the best one, pay per second.

Platform status

Product

RankerModelsTranscriptionsPlaygroundBlog

Developers

DocumentationReliabilityAPI VersioningStatus

Legal

Privacy PolicyTerms of ServiceSupport
© 2026 OpenTranscription

Speech, decoded.

One API to every speech-to-text model worth using. Compare side by side, route to the best, pay by the second.

Compare models on your audio →Start building
New TranscriptionOpen playground

How it works · 3 steps

From audio to transcript in seconds.

1

Upload audio

Drop any audio file — MP3, WAV, FLAC, and 10 more formats.

Drop audio file

2

Pick a model — or let us

Choose from 30+ models or use our smart router to auto-select by price, speed, or accuracy.

Whisper Large v3

Nova 3

Chirp 2

3

Get a structured transcript

Receive word-level timestamps, speaker labels, and confidence scores in a unified format.

{
  "start": 0.0,
  "end": 2.4,
  "text": "Welcome to...",
  "speaker": "A",
  "confidence": 0.97
}

Features

Everything you'd build anyway.

The stuff that's table-stakes the day you ship a voice product.

One API for every model. Diarization. 100+ languages. Realtime streams. Bring-your-own keys. Real benchmarks. Six things, all built in.

01 / 06

One API, every model

30+ models from 15 providers through a single unified endpoint. One integration, all the options.

provider : "deepgram" →

"assemblyai"

response_shape :{ transcript, words[], speakers[], confidence }

endpoint : POST /v1/transcribe // unchanged

01 / 06

One API, every model

30+ models from 15 providers through a single unified endpoint. One integration, all the options.

provider : "deepgram" →

"assemblyai"

response_shape :{ transcript, words[], speakers[], confidence }

endpoint : POST /v1/transcribe // unchanged

02 / 06

Realtime + batch

WebSocket streaming from mic or file upload. Async batch for pre-recorded audio. Same API.

01:07

~120ms

02 / 06

Realtime + batch

WebSocket streaming from mic or file upload. Async batch for pre-recorded audio. Same API.

01:07

~120ms

03 / 06

Speaker diarization

Identify who said what. Available on supported models with a single flag.

S1

0:02

Quick update — the streaming refactor merged last night.

S2

0:05

Nice. Any change to the latency numbers?

S1

0:09

Down about 15%. I'll post the graph.

03 / 06

Speaker diarization

Identify who said what. Available on supported models with a single flag.

S1

0:02

Quick update — the streaming refactor merged last night.

S2

0:05

Nice. Any change to the latency numbers?

S1

0:09

Down about 15%. I'll post the graph.

04 / 06

100+ languages

From English to Yoruba, with auto-detect on verified models. Code-switching for mixed-language audio.

EN
ES
DE
FR
JA
ZH
AR
HI
PT
RU
KO
IT
TR
PL
NL
SV
TH
VI

+ 86 more

04 / 06

100+ languages

From English to Yoruba, with auto-detect on verified models. Code-switching for mixed-language audio.

EN
ES
DE
FR
JA
ZH
AR
HI
PT
RU
KO
IT
TR
PL
NL
SV
TH
VI

+ 86 more

05 / 06

Bring your own key

Use your existing provider API keys. 100 free minutes per month, 5% platform fee after.

Deepgram

················3f9a

pass-through

AssemblyAI

················a017

idle

05 / 06

Bring your own key

Use your existing provider API keys. 100 free minutes per month, 5% platform fee after.

Deepgram

················3f9a

pass-through

AssemblyAI

················a017

idle

06 / 06

Real benchmarks

WER scores on golden-set audio across 8 categories. Event-driven, not vibes.

WER

1

2

3

06 / 06

Real benchmarks

WER scores on golden-set audio across 8 categories. Event-driven, not vibes.

WER

1

2

3

One-call integration

One call. We post the transcript back.

The SDKs handle the upload and the wait, in TypeScript or Python. Or call the HTTP API directly.

// npm install @opentranscription/sdk
import { readFile } from 'node:fs/promises';
import { OpenTranscription } from '@opentranscription/sdk';
const ot = new OpenTranscription({ apiKey: process.env.OT_API_KEY! });
// Uploads the audio and opens the job. The signed-URL round trip is inside.
const job = await ot.transcribe({
file: await readFile('interview.mp3'),
fileName: 'interview.mp3',
model: 'auto/best',
language: 'en',
customWords: ['Kubernetes', 'Grafana', 'Sanjay Bhattacharya'],
webhookUrl: 'https://your-app.com/webhooks/ot',
});
// We POST a signed event to that URL when the job finishes: no polling required.

↳ auto/best routes to the most accurate model by default.

API reference

From the blog

Deep dives on speech-to-text accuracy, latency and pricing.

All posts
Amazon Transcribe Medical: what AWS actually ships, and what it won't tell you

What Amazon Transcribe Medical offers in 2026: features, specs, pricing vs Google and Nuance, HIPAA posture, research clues, and where it falls short.

Chirp 3: inside Google Cloud's 2025 speech stack, from HD voices to transcription

What Google Cloud Chirp 3 actually is: release timeline, WER and Elo benchmarks, pricing, specs, known issues, and how it compares to Azure and ElevenLabs.

Deepgram Base in 2026: what the legacy model still does well

Where Deepgram Base fits in 2026: API behavior, variants, latency, specs, limitations, and when to pick Nova-3 or Flux instead.

Ready to transcribe?

One API key. No contracts. No minimum spend.

Compare models on your audio →Get an API key

$0.0007/min

lowest price

43+

models

105

languages

~772ms

lowest latency

Every model worth using

Every model worth using

Deepgram

Google Cloud

Speechmatics

OpenAI

Cartesia

Alibaba (Qwen)

Rev AI

The Ranker

Objective benchmarks. No favorites.

We run automated WER benchmarks against golden-set audio across 8 categories — general, medical, legal, technical, conversational, noisy, finance, and code-switching. Benchmarks trigger on every model or pricing change.

Live ranker

#ModelScoreWERLatencyCost/min

01

Ink-Whisper

Cartesia

84.6

17.2%

773ms

$0.0022

02

Whisper Large V3 Turbo

Groq

81.3

14.3%

3.4s

$0.0007

03

GPT-4o Mini Transcribe

OpenAI

81.1

13.6%

2.0s

$0.003

04

Voxtral Mini Transcribe

Mistral (Voxtral)

80.7

12.7%

2.3s

$0.003

05

Whisper Large V3

Groq

79.9

14.4%

3.1s

$0.0019

01

Ink-Whisper

Cartesia

84.6

WER: 17.2%

Latency: 773ms

Cost/min: $0.0022

02

Whisper Large V3 Turbo

Groq

81.3

WER: 14.3%

Latency: 3.4s

Cost/min: $0.0007

03

GPT-4o Mini Transcribe

OpenAI

81.1

WER: 13.6%

Latency: 2.0s

Cost/min: $0.003

04

Voxtral Mini Transcribe

Mistral (Voxtral)

80.7

WER: 12.7%

Latency: 2.3s

Cost/min: $0.003

05

Whisper Large V3

Groq

79.9

WER: 14.4%

Latency: 3.1s

Cost/min: $0.0019

+38 more models

View full ranker

+38 more models

View full ranker

Ranked by a composite of accuracy, cost, and speed. See methodology

New TranscriptionOpen playground
Compare models on your audio →Start building

Pricing · transparent

Pay per second. No subscriptions.

One rate card across every provider. The price you see is the price you pay. BYOK users pay their provider directly.

Start free

Every new account gets 10 free transcriptions, up to 2 hours of audio — no credit card required.

Compare models on your audio →
Pay as you go

From

$0.0007

/ minute

Per-second billing. Top up credits anytime and spend them across every provider.

  • Every model included
  • No monthly minimum
  • Pay only for audio processed
Get an API key
BYOK

5%

routing fee

Already have provider accounts? Bring your keys, pay your provider directly — we add a 5% routing fee on top.

  • Your keys, your provider billing
  • Same playground + ranker
  • First 100 min/mo free, then 5%
Set up BYOK
Enterprise

Custom

For teams with large volumes, custom deployment, or support requirements.

  • Volume pricing
  • Custom deployment options
  • Invoicing + custom terms
Talk to sales

No subscriptions, no minimums.

Ready to transcribe?

One API key. No contracts. No minimum spend.

Compare models on your audio →Get an API key