Google Gemini batch transcription with word timestamps, optional speaker labels and custom vocabulary.
72 languages · benchmarked
Gemini 3.5 Transcribe is a speech-to-text model from Google Gemini. In our standardized benchmarks it reaches 10.43% word error rate, ranking #8 of 40 models tested. It supports 72 languages and runs at $0.005/min — cheaper than most alternatives.
Its nearest benchmarked alternative is MAI-Transcribe-2 (preview). Best suited for multi-speaker conversations, multilingual workloads, accuracy-critical work, and high-volume, cost-sensitive pipelines.
Overall Score
69.4
#8 of 40
Word Error Rate
10.43%
Character Error Rate
6.94%
Match Error Rate
9.78%
Word Info Lost
14.62%
Avg Latency
5.1s
Benchmarks Run
35
overall WER · 40 models
Gemini 3.5 Transcribe
field · 39 models
lower-left is better
8 categories
WER
lower is better
Medical
1.9%
Legal
2.2%
Technical
2.6%
Conversational
5.9%
Finance
6.8%
General
9.4%
Noisy Environment
23.6%
Code-Switching
26.7%
| Category | WER | CER | MER | WIL | Latency | Benchmarks |
|---|---|---|---|---|---|---|
Code-Switching | 26.73% | 20.79% | 25.96% | 31.85% | 6.1s | 2 |
Conversational | 5.94% | 3.93% | 5.66% | 7.75% | 5.7s | 2 |
Finance | 6.77% | 2.96% | 6.68% | 10.93% | 5.5s | 2 |
General | 9.39% | 6.20% | 9.27% | 15.01% | 4.9s | 19 |
Legal | 2.17% | 1.28% | 2.14% | 3.14% | 5.4s | 2 |
Medical | 1.94% | 1.15% | 1.94% | 2.57% | 5.3s | 2 |
Noisy Environment | 23.59% | 15.38% | 19.07% | 26.73% | 4.2s | 4 |
Technical | 2.63% | 1.74% | 2.61% | 3.53% | 6.2s | 2 |
5 accents
| Accent | WER | Benchmarks |
|---|---|---|
African | 24.62% | 1 |
Australian | 18.46% | 1 |
Indian | 25.40% | 1 |
British | 4.48% | 1 |
American | 18.87% | 1 |
Model ID
gemini/gemini-3.5-transcribe
Authenticate every request with your secret API key as a Bearer token. Issue a key from your dashboard.
Use it with your agent
Paste this into Claude Code, Cursor, Codex or any agent with a shell. It installs the CLI and the OpenTranscription skill, then transcribes with this model.
Quickstart
Upload your audio, create a job with this model, then poll the job or set a webhook_url to be notified when it completes.
Key parameters
file_path
string
required
Storage path returned by the upload step.
model
string
required
The model to run this job on.
models
string[]
Ordered fallback chain: primary first, then backups tried in order if a provider fails.
language
string
ISO 639-1 language code. Omit to auto-detect.
diarization
boolean
Label speakers (A, B, …) in the output.
word_timestamps
boolean
Per-word start, end and confidence. Defaults to true; send false to leave them out.
custom_words
string[]
Names, jargon and product terms to bias the model toward. Up to 1000 entries.
vocabulary_list_id
uuid
A vocabulary list saved in your workspace. Merged with custom_words when both are sent.
webhook_url
string
HTTPS URL notified with the result when the job completes. Delivered events are signed (X-OT-Signature).
title
string
Display name for this job in the dashboard. Falls back to the file name.
Response
A completed job returns the transcript in the OpenTranscription Unified Schema (OTUS).
Webhooks — skip polling
We POST a signed event to your webhook_url when a job completes or fails; verify the X-OT-Signature (HMAC-SHA256, reject if older than 300 s) and dedupe on the event id, then fetch the full transcript via GET /api/v1/transcriptions/{id}.
Rate-limited per tier — see the X-RateLimit-* response headers.
Full API referencefrom the same field
same benchmark, every match
Supported Languages
Supported Formats
Features
Limits
Max file size
No documented limit
Max duration
30 min