Japanese speech-to-text
ExcellentWe sent 30 Japanese test clips through this API. Whisper Large v3 made 4.2% character errors, about one character in 24. $0.002 per audio minute, word timestamps, SRT and VTT subtitles, files up to 100 MB.
Measured accuracy
| Model | Word error rate | Character error rate | Clips with no errors | Empty transcripts | Speed |
|---|---|---|---|---|---|
Whisper Large v3openai/whisper-large-v3 | 73% | 4.2% | 8 of 30 | 0 of 30 | 0.052× real time |
Excellent. Production quality. Transcripts can be used as they are for notes, search and subtitles. Scored on characters, because Japanese is written without spaces. 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.
| Spoken | 残念ながら、運転手の行動を100%の確率で予測することはできないので、交通の流れを研究することは困難です。 |
| Whisper Large v3 | 残念ながら運転手の行動を100%の確率で予測することはできないので、構図の流れを研究することは困難です。 |
Language detection
All 10 clips we sent without a language field were identified as Japanese. Auto-detection is safe here; sending language=ja still skips the detection step.
Quickstart
The request is the OpenAI transcription request with a different base URL. language is optional.
curl https://api.inferenceapis.com/v1/audio/transcriptions \
-H "Authorization: Bearer $INFERENCE_API_KEY" \
-F "model=openai/whisper-large-v3" \
-F "language=ja" \
-F "file=@recording.mp3" \
-F "response_format=verbose_json"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="ja", 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 Japanese test.
Notes for Japanese
- Output has no spaces and punctuation is inconsistent; a
promptending in 「。」 nudges the model to punctuate.
Text-to-speech in Japanese
The reverse direction is covered too: hear the Japanese voices on the Japanese text-to-speech page.
FAQ
How accurate is Whisper for Japanese?
On 30 clean read-speech clips it made 4.2% character errors, about one character in 24. Production quality. Transcripts can be used as they are for notes, search and subtitles. Real recordings with noise, accents or several speakers will score worse.
Does language auto-detection work for Japanese?
In our test, yes: all 10 clips sent without a language were identified as Japanese. Sending language=ja still saves the detection step on every request.
Can it translate Japanese speech to English?
The API returns Japanese text. For English, transcribe first and translate the text with a chat model on the same key.
