OpenAI
Batch speech-to-text with word timestamps, but a strict upload cap and weak multilingual performance make it a mixed fit for hard audio.
Useful for simple batch transcription, but not a hard-audio default
- You need a simple hosted batch STT API with word-level timestamps.
- Your audio files are under 25 MB.
- Your inputs are mostly English or jargon-heavy narration rather than heavily code-switched speech.
- You need speaker diarization or confidence scores.
Feature scores on this page: 26.1/100 (1 scored feature)
Our take
Whisper-1 returned usable transcripts on the jargon-heavy and bilingual samples, with word-level timestamps and predictable list pricing. But this benchmark also found a hard 25 MB upload cap, no speaker labels or confidence fields, and weak Spanish recall on the code-switched clip, so it is a mixed fit for real-world multilingual or meeting-style audio.
In-Depth Review
Our detailed analysis of OpenAI — features, performance, and real-world testing.
Feature-by-Feature Breakdown
Batch Audio Transcription▾
Feature tested: Batch Audio Transcription
Result: Passed
Expected behavior: Transcribes uploaded audio files through a single multipart POST to `/v1/audio/transcriptions`, returning text output when the file is within the upload limit. It was exercised on the 8.58 MB medical-jargon clip and the 22.19 MB bilingual clip, with the 65.39 MB crosstalk file rejected by HTTP 413.
Test case: Audio file → Image
Input type: Audio file
Input used: Input artifact (Audio file): Input 1: Overlapping Speech / Crosstalk — 35:43 multi-speaker audio, 65.39 MB, used to test overlap and diarization. — crosstalk.wav
Observed output: Output artifact (Image): RESULT — 05-limit-evidence-3.png
Input artifact: Input artifact (Audio file): Input 1: Overlapping Speech / Crosstalk — 35:43 multi-speaker audio, 65.39 MB, used to test overlap and diarization. — crosstalk.wav
Output artifact: Output artifact (Image): RESULT — 05-limit-evidence-3.png
What changed: Audio file transformed into Image
Test case: Audio file → Text/code file
Input type: Audio file
Input used: Input artifact (Audio file): Input 2: Medical Jargon — 18:44 Gray's Anatomy narration, 8.58 MB, dense with technical terms. — medical_terms.mp3
Observed output: Output artifact (Text/code file): Successful transcript payload for the medical-jargon clip; the run scored 5.17% WER and returned 2,663 words. — raw-response.json
Input artifact: Input artifact (Audio file): Input 2: Medical Jargon — 18:44 Gray's Anatomy narration, 8.58 MB, dense with technical terms. — medical_terms.mp3
Output artifact: Output artifact (Text/code file): Successful transcript payload for the medical-jargon clip; the run scored 5.17% WER and returned 2,663 words. — raw-response.json
What changed: Audio file transformed into Text/code file
Test case: Audio file → Text/code file
Input type: Audio file
Input used: Input artifact (Audio file): Input 3: Bilingual Code-Switching — 32:18 Spanish-English conversation, 22.19 MB, mostly English. — mix_language.mp3
Observed output: Output artifact (Text/code file): Successful transcript payload for the bilingual clip; the run scored 26.12% WER and returned 5,702 words. — raw-response-3.json
Input artifact: Input artifact (Audio file): Input 3: Bilingual Code-Switching — 32:18 Spanish-English conversation, 22.19 MB, mostly English. — mix_language.mp3
Output artifact: Output artifact (Text/code file): Successful transcript payload for the bilingual clip; the run scored 26.12% WER and returned 5,702 words. — raw-response-3.json
What changed: Audio file transformed into Text/code file
Why it matters / Conclusion: Works as a simple hosted batch transcription endpoint, but the 25 MB ceiling is strict and blocks larger real-world audio.
Transcribes uploaded audio files through a single multipart POST to `/v1/audio/transcriptions`, returning text output when the file is within the upload limit. It was exercised on the 8.58 MB medical-jargon clip and the 22.19 MB bilingual clip, with the 65.39 MB crosstalk file rejected by HTTP 413.

Word-Level Timestamps▾
Feature tested: Word-Level Timestamps
Result: Passed
Expected behavior: Produces verbose JSON transcription output with per-word timing when `response_format=verbose_json` and `timestamp_granularities[]=word` are enabled. It was exercised on the medical-jargon clip and the bilingual clip, yielding timed token outputs.
Test case: Audio file → Text/code file
Input type: Audio file
Input used: Input artifact (Audio file): Input 2: Medical Jargon — same request with word timestamps enabled. — medical_terms.mp3
Observed output: Output artifact (Text/code file): Verbose JSON response showing a `words` array with start/end times for the medical-jargon clip. — raw-response.json
Input artifact: Input artifact (Audio file): Input 2: Medical Jargon — same request with word timestamps enabled. — medical_terms.mp3
Output artifact: Output artifact (Text/code file): Verbose JSON response showing a `words` array with start/end times for the medical-jargon clip. — raw-response.json
What changed: Audio file transformed into Text/code file
Test case: Audio file → Text/code file
Input type: Audio file
Input used: Input artifact (Audio file): Input 3: Bilingual Code-Switching — same request with word timestamps enabled. — mix_language.mp3
Observed output: Output artifact (Text/code file): Verbose JSON response showing a `words` array with start/end times for the bilingual clip. — raw-response-3.json
Input artifact: Input artifact (Audio file): Input 3: Bilingual Code-Switching — same request with word timestamps enabled. — mix_language.mp3
Output artifact: Output artifact (Text/code file): Verbose JSON response showing a `words` array with start/end times for the bilingual clip. — raw-response-3.json
What changed: Audio file transformed into Text/code file
Why it matters / Conclusion: Good for captions and search alignment, but the response still lacks confidence values and speaker labels.
Produces verbose JSON transcription output with per-word timing when `response_format=verbose_json` and `timestamp_granularities[]=word` are enabled. It was exercised on the medical-jargon clip and the bilingual clip, yielding timed token outputs.
Code-Switching TranscriptionMixed results26.12/100▾
Feature tested: Code-Switching Transcription
Result: Partial (26.12/100)
Verdict: Mixed results
Expected behavior: Transcribes mixed-language speech, including Spanish-English audio, into a single transcript. It was exercised on the bilingual sample, which transcribed successfully but showed uneven Spanish recall.
Test case: Audio file → Text/code file
Input type: Audio file
Input used: Input artifact (Audio file): Input 3: Bilingual Code-Switching — 32:18 Spanish-English conversation; the benchmark notes the clip is about 95.5% English, so this is a weak balanced multilingual stress case. — mix_language.mp3
Observed output: Output artifact (Text/code file): Returned a mostly English transcript; the detail view shows a dropped Spanish token and the benchmark scored 26.12% WER with 46.2% Spanish token recall. — raw-response-3.json
Input artifact: Input artifact (Audio file): Input 3: Bilingual Code-Switching — 32:18 Spanish-English conversation; the benchmark notes the clip is about 95.5% English, so this is a weak balanced multilingual stress case. — mix_language.mp3
Output artifact: Output artifact (Text/code file): Returned a mostly English transcript; the detail view shows a dropped Spanish token and the benchmark scored 26.12% WER with 46.2% Spanish token recall. — raw-response-3.json
What changed: Audio file transformed into Text/code file
Why it matters / Conclusion: Use with caution for multilingual or code-switched speech; this benchmark does not support treating it as strong balanced multilingual transcription.
Transcribes mixed-language speech, including Spanish-English audio, into a single transcript. It was exercised on the bilingual sample, which transcribed successfully but showed uneven Spanish recall.
How it scored on the research's own criteria
The 4 evaluation dimensions from our hands-on research on OpenAI, each judged from recorded runs on 3 test inputs — the same verdicts the ranking page ranks on.
held up partial failed not exercised by this input
| Criterion | Verdict | What the runs showed | Per input | Proof |
|---|---|---|---|---|
| Output quality | Mixed3/5 | One input was never transcribed, one was very accurate, and one broke down badly on bilingual speech. That is a genuinely mixed accuracy profile: strong on dense monolingual narration, but unreliable once the language switches. | open proof ↗ | |
| Automation level | Strong5/5 | Every tested input was handled in one multipart request and completed without any manual follow-up. Even the rejected upload came back as a finished API interaction, so the integration path is as simple as it gets. | — | |
| Export | Mixed3/5 | When it does return text, the payload is only shallow: word timing is present, but richer metadata like confidence and speaker labels is absent. One input produced no payload at all, and another variant was cut off, so export is useful but incomplete overall. | open proof ↗ | |
| Input handling | Strong4/5 | It successfully accepted and finished two of the three tested files with wall-clock, RTF, and list price reported, but it also hard-stopped the oversized meeting file at the documented upload cap. That makes the handling broadly good, but not universal. | open proof ↗ |
Verdicts come verbatim from the study's recorded observations, never re-derived at render; a criterion with no recorded run shows Not exercised — this section cannot invent a score.
Transcription pricing
Vendor-published list prices for OpenAI speech-to-text models.
No free tier or published volume discount is shown on the API pricing page. Batch API is not priced separately for transcription.
Banner Preview
How the embed badge will look on your site

Embed HTML
Copy this code to your website source
Quick Integration Guide
- 1Copy the HTML code block above.
- 2Paste it into your site's HTML or CMS editor.
- 3Banner appears instantly on your page.
- 4Links back to your tool profile here.
Similar Tools
Discover more AI tools like OpenAI to enhance your workflow.
Comments (0)
Need a custom AI solution for this use case?
If you are looking to build a custom speech-to-text, audio transcription, or word timestamping system for your business or internal workflow, email us at contact@futuresmart.ai.
Found something inaccurate or missing? We try to keep our AI research accurate and useful. If you found outdated information, an issue, or have a suggestion, email us at collaborate@aidemos.com.