Inference APIs

Measured accuracy

ModelWord error rateCharacter error rateClips with no errorsEmpty transcriptsSpeed
Whisper Large v3
openai/whisper-large-v3
82%9.5%12 of 300 of 300.079× real time

Good. Usable with light review. Expect to correct a word here and there, mostly names and numbers. Scored on characters. Whisper sometimes answers in Traditional characters; the references are Simplified, which counts against it slightly. The clips are clean, single-speaker read speech, so treat this as a best case for your own recordings. How we measured, and all 83 languages.

What a transcript looks like

The clip with the median error rate from the test, reference text against what the API returned.

SpokenpH 值以被测化学品中的氢(pH 中的 H)离子数量表示。
Whisper Large v3pH值被测化学品中的氢pH中的H离子数量表示

Language detection

All 10 clips we sent without a language field were identified as Chinese. Auto-detection is safe here; sending language=zh still skips the detection step.

Quickstart

The request is the OpenAI transcription request with a different base URL. language is optional.

cURL
curl https://api.inferenceapis.com/v1/audio/transcriptions \
  -H "Authorization: Bearer $INFERENCE_API_KEY" \
  -F "model=openai/whisper-large-v3" \
  -F "language=zh" \
  -F "file=@recording.mp3" \
  -F "response_format=verbose_json"
Python · openai SDK
import os
from openai import OpenAI

client = OpenAI(base_url="https://api.inferenceapis.com/v1", api_key=os.environ["INFERENCE_API_KEY"])
with open("recording.mp3", "rb") as f:
    r = client.audio.transcriptions.create(model="openai/whisper-large-v3", file=f, language="zh", response_format="verbose_json")
print(r.text)

Subtitles and timestamps

response_format=srt or vtt returns a subtitle file with cues of up to two lines, broken at sentence ends and pauses. verbose_json with timestamp_granularities[]=word returns a start and end time for every word if you want to build your own.

Cost

$0.002 per minute of audio on either model: $0.12 for an hour, $12 for a hundred hours. Duration is measured from the file you upload. There is no daily cap on minutes and no subscription; enough to run your own Chinese test.

Notes for Chinese

  • Whisper may answer in Simplified or Traditional characters. To steer it, put a short sentence in the script you want in prompt.
  • Cantonese has its own code, yue; sending Cantonese audio as zh lowers accuracy.

Text-to-speech in Chinese

The reverse direction is covered too: hear the Chinese voices on the Chinese text-to-speech page.

FAQ

How accurate is Whisper for Chinese?

On 30 clean read-speech clips it made 9.5% character errors, about one character in 11. Usable with light review. Expect to correct a word here and there, mostly names and numbers. Real recordings with noise, accents or several speakers will score worse.

Does language auto-detection work for Chinese?

In our test, yes: all 10 clips sent without a language were identified as Chinese. Sending language=zh still saves the detection step on every request.

Can it translate Chinese speech to English?

The API returns Chinese text. For English, transcribe first and translate the text with a chat model on the same key.

Related languages: Cantonese (5.1%) · Japanese (4.2%) · Korean (13%)