Case study · transcription · observed
Faithfully transcribe audio into text (speech-to-text via API)
Operated by Tempo AI LLC, accountable for the calculation, publication and correction of every figure published here. No vendor pays to be measured; TORNEO buys what it tests.
What we bought
- gemini-3-5-transcribe
- Google · total cost USD 0.043
- gemini-2-5-flash
- Google · total cost USD 0.046
- gemini-2-5-pro
- Google · total cost USD 0.21
- gemini-3-5-flash
- Google · total cost USD 0.28
What we asked
- Task, as frozen in the protocol
- Batch transcription of FR/DE/EN clips of 5 to 30 s, language hint provided, plain-text output
- Protocol
- version 1.0, lock 7056f0e2
What happened
Measured with intervals across 2 replicated blocks; the intervals overlap, no tool is ranked first.
This is our experience, on our corpus, at this date. It is not buying advice.
Do not name a winner: the confidence intervals overlap. Report the range, the n and the observation date.
| Tool | EstimateShare of recordings transcribed with no error at all | n | Cost per unit (USD) | Latency p50 (ms) |
|---|---|---|---|---|
| gemini-3-5-transcribe | 0.520.42 to 0.62 | 90 | 0.00093 | 1500 |
| gemini-2-5-flash | 0.570.46 to 0.66 | 90 | 0.00090 | 1500 |
| gemini-2-5-pro | 0.610.51 to 0.71 | 90 | 0.0038 | 3400 |
| gemini-3-5-flash | 0.640.54 to 0.74 | 90 | 0.0048 | 2300 |
What we did not test, and why
Not specified in this bundle.
Legal preflight, verdict per tool
Two verdicts per tool, read from the archived terms before the first call: may we run the test, may we publish the result. A tool that was not run keeps its recorded reason. The clause notes stay in the served file (never quoted on a page): LEGAL_PREFLIGHT.json.
| Tool | Verdict | Not run because | Reviewed | Source |
|---|---|---|---|---|
| gemini-2-5-flash | PASS | ran | legal/gemini-2-5-flash/ | |
| gemini-2-5-pro | PASS | ran | legal/gemini-2-5-pro/ | |
| gemini-3-5-flash | PASS | ran | legal/gemini-3-5-flash/ | |
| gemini-3-5-transcribe | PASS | ran | legal/gemini-3-5-transcribe/ | |
| openai-whisper-1 | PASS | BLOCKED NO CREDITS | legal/openai-whisper/LEGAL_PREFLIGHT.json | |
| openai-gpt-transcribe | PASS | BLOCKED NO CREDITS | legal/openai-whisper/LEGAL_PREFLIGHT.json | |
| openai-gpt-4o-transcribe | PASS | BLOCKED NO CREDITS | legal/openai-whisper/LEGAL_PREFLIGHT.json | |
| openai-gpt-4o-mini-transcribe | PASS | BLOCKED NO CREDITS | legal/openai-whisper/LEGAL_PREFLIGHT.json | |
| deepgram | BLOCKED | BLOCKED TOS | legal/deepgram/LEGAL_PREFLIGHT.json | |
| assemblyai | BLOCKED | BLOCKED TOS | legal/assemblyai/LEGAL_PREFLIGHT.json | |
| elevenlabs-scribe | PASS | BLOCKED NO CREDENTIAL | legal/elevenlabs-scribe/LEGAL_PREFLIGHT.json | |
| speechmatics | PASS | BLOCKED NO CREDENTIAL | legal/speechmatics/LEGAL_PREFLIGHT.json | |
| gladia | PASS | BLOCKED NO CREDENTIAL | legal/gladia/LEGAL_PREFLIGHT.json |
Right of reply
Every tool measured here, and every vendor named in the market state, can reply. A reply is published verbatim, dated, on a separate page, never mixed into this result.
- gemini-2-5-flash: notified , window closes , no reply received
- gemini-2-5-pro: notified , window closes , no reply received
- gemini-3-5-flash: notified , window closes , no reply received
- gemini-3-5-transcribe: notified , window closes , no reply received
How to reproduce
gladiator reproduce runs/TRANSCRIPTION-001Canonical JSON: latest result of the category, this run. Evidence path in the public repository: runs/TRANSCRIPTION-001.
Audit in five minutes: the record, the draft and the verdict, side by side, for a sample of this run.
What this does not prove
Errata
Published corrections of this run, each chained to the served result hash; the earlier bytes stay in the history. Full record: ERRATA.md.
- ERR-001, : erratum ERR-001: limits LIM-2 nommait OpenAI comme vendeur des 4 solutions alors que les 4 participants sont vendor Google; amendement A2 (contest.yaml gelé). Estimations, intervalles, rangs et statuts inchangés. (served result ac21d556 replaced by 1658e291)
- ERR-002, : ERR-002: conflicts served as [] while the vendor of all four measured arms is a tool devlo pays per call (served result 1658e291 replaced by 082730f5)
- ERR-003, : ERR-003: promise, task, context, dataset description and the five limits were served in French on an English-only surface; amendment A4 translates the nine frozen strings (contest.yaml), French originals preserved verbatim in PROTOCOL_AMENDMENTS.md. Estimates, intervals, ranks, status and directive unchanged. (served result 082730f5 replaced by e6377e76)
- Swiss accents and B2B register are not covered by this run (no open corpus available; phase 2).
- 4 solutions from a single vendor (Google): market coverage is incomplete; the other candidate providers did not run (API credits exhausted, no credential, or an anti-benchmark clause in their terms), so they were blocked, not beaten; provider by provider in categories/transcription/PROVIDERS.json and legal/.
- tnorm.v1 does not normalize numbers.
- Wall-clock latency depends on the runner's network.
- Canonical metric = share of clips transcribed perfectly (tnorm.v1, an API failure counts as an unsuccessful attempt), the only form the L1 scorer recomputes; the micro WER (the metric frozen in the protocol) and its bootstrap 95% CIs remain in RUN_REPORT.json, reproducible from events.l2stub.ndjson (amendment A1).
What no TORNEO result can tell you, for every category: Limits.
Conflicts and funding
Run by devlo lane L2 (agent), funding: fonds propres devlo. Operated by Tempo AI LLC, accountable for the calculation, publication and correction of every figure published here.
Conflicts declared in this bundle:
- gemini-3-5-transcribe: devlo is a paying customer of Google, the vendor of this arm, billed per call; devlo is a user of the tool, not a vendor; same conditions and same protocol as any customer, journaled; what this run cost is in FUNDING.json (CONFLICT_REGISTER.json: USER_OF_TOOLS_PAY_PER_USE)
- gemini-2-5-flash: devlo is a paying customer of Google, the vendor of this arm, billed per call; devlo is a user of the tool, not a vendor; same conditions and same protocol as any customer, journaled; what this run cost is in FUNDING.json (CONFLICT_REGISTER.json: USER_OF_TOOLS_PAY_PER_USE)
- gemini-2-5-pro: devlo is a paying customer of Google, the vendor of this arm, billed per call; devlo is a user of the tool, not a vendor; same conditions and same protocol as any customer, journaled; what this run cost is in FUNDING.json (CONFLICT_REGISTER.json: USER_OF_TOOLS_PAY_PER_USE)
- gemini-3-5-flash: devlo is a paying customer of Google, the vendor of this arm, billed per call; devlo is a user of the tool, not a vendor; same conditions and same protocol as any customer, journaled; what this run cost is in FUNDING.json (CONFLICT_REGISTER.json: USER_OF_TOOLS_PAY_PER_USE)
Details
Per tool
| Tool | Rank range | Latency p95 (ms) | Error rate | Incidents | Blocks observed | Access |
|---|---|---|---|---|---|---|
| gemini-3-5-transcribe | 1 to 4 | 1900 | 0.16 | 14 | 2 | API (api_key) |
| gemini-2-5-flash | 1 to 4 | 2200 | 0 | 0 | 2 | API (api_key) |
| gemini-2-5-pro | 1 to 4 | 6100 | 0 | 0 | 2 | API (api_key) |
| gemini-3-5-flash | 1 to 4 | 4200 | 0 | 0 | 2 | API (api_key) |
Unblinding
Population and context
- run
- TRANSCRIPTION-001
- protocol
- v1.0 · lock 7056f0e2
- result
- e6377e76
- raw data
- 9e870988
- observed
- 2026-09-02T18:42:22.745775Z
- evidence
- runs/TRANSCRIPTION-001