DeepSeek ASR and TTS, tested: price, accuracy, latency
DeepSeek added a set of tool APIs, including speech to text (ASR) and text to speech (TTS). We wired both into BibiGPT on launch day and ran the same audio through Grok, Gemini, Qwen, StepFun and ElevenLabs.
Pricing
- Speech to text: list price $0.116/hour, $0.058/hour during the 50%-off promotion, billed per second (partial seconds round up).
- Text to speech: list price $0.45 per 10K characters, $0.225 during the promotion. A Chinese character counts as 2; letters, digits and spaces count as 1.
- In practice that is about $22.5 per million English characters and $45 per million Chinese characters. See the speech model comparison for every provider side by side.
Speech-to-text accuracy
The same 50 clips (25 Mandarin, 25 English) through six engines. Lower is better.
| Engine | Chinese CER | English WER | Latency | Per hour | Timestamps | Max file |
|---|---|---|---|---|---|---|
| Grok Voice Transcribe 2.0 | 1.4% | 5.3% | 2.2 s | $0.1 | Yes | 500 MB |
| DeepSeek ASR | 1.9% | 6.4% | 1.2 s | $0.058 | No | 120 s / 8 MiB |
| Gemini 3.5 Transcribe | 2.2% | 5.3% | 4.3 s | $0.31 | Yes | ~20 MB inline |
| Qwen3-ASR-Flash | 2.3% | 4.6% | 0.8 s | $0.112 | Yes | 5 min (flash) |
| StepFun ASR | 3.9% | 5.8% | 0.8 s | $0.0211 | Yes | — |
| ElevenLabs Scribe v2 | 7.1% | 6.4% | 2.8 s | $0.22 | Yes | 3 GB |
Method: 25 Mandarin and 25 US English clips drawn at random from the Google FLEURS test set (about 9 minutes), converted to 16 kHz 16-bit mono WAV and loudness-normalised. Chinese is scored by character error rate (CER), English by word error rate (WER), with punctuation, case and script normalised. Latency is the median per request.
What we saw
- Chinese is the most consistent: its worst clip was 12% CER, versus 26% for Grok and 21% for Qwen. Most errors were transliterated foreign names.
- Very quiet recordings lose words: FLEURS has a dozen near-silent clips. Without loudness normalisation DeepSeek dropped the start or end of some English sentences and WER rose from 6.4% to 17.5%. Normalise volume first.
- Brand names drift: “BibiGPT” came back as “BB GPT”. There is no hotword parameter to fix it.
- Cantonese is recognised, but in the one clip we tried it came back as standard written Chinese rather than colloquial Cantonese characters.
- Fast: about 1 s per clip, on par with Qwen and StepFun and over twice as fast as Grok or Gemini.
Text-to-speech test
The same script (119 Chinese characters, 292 English characters, 83 Japanese characters) in both voices.
| Voice | Language | First audio | Total | Audio length |
|---|---|---|---|---|
| stella | ZH | 1.03 s | 4.37 s | 20.3 s |
| tide | ZH | 0.79 s | 3.85 s | 19.1 s |
| stella | EN | 1.26 s | 5.58 s | 27.0 s |
| tide | EN | 0.96 s | 5.47 s | 24.6 s |
| stella | JA | 0.99 s | 2.45 s | 12.6 s |
| tide | JA | 0.80 s | 2.19 s | 12.0 s |
Listen
Raw, unedited audio we generated with DeepSeek TTS.
What we saw
- Quick to start: first audio in 0.8–1.3 s and synthesis at about 5× realtime, good for streaming playback.
- Numbers are read sensibly in Chinese. In English, “$0.06” is read as “zero point oh six dollars”.
- Only two voices, Stella (female) and Tide (male), with no speed, emotion or voice-cloning controls. Use MiniMax or ElevenLabs for that.
- Content review applies: rejected text returns HTTP 400.
Limits at a glance
| Item | ASR | TTS |
|---|---|---|
| Endpoint | POST /v1/tools/asr (multipart) | POST /v1/tools/tts (JSON), plus WebSocket streaming |
| Format | 16-bit PCM WAV or Ogg Opus; MP3 is rejected | wav (default) or 24 kHz pcm; opus over WebSocket |
| Length | ≤ 120 s and ≤ 8 MiB | ≤ 10,000 billed characters, body ≤ 64 KiB, up to 30 min of audio |
| Languages | 21 incl. Cantonese, auto-detected | 10: Mandarin, Cantonese, English, Japanese, Korean, Malay, Arabic, Indonesian, Thai, Vietnamese |
| Parameters | No language, hotword or timestamp options | voice_id, format, filter_markdown; no speed |
| Concurrency | 50 in-flight requests per account | 50 in-flight requests per account |
| Gotchas | Stereo uses only the left channel; a silent left channel returns an empty string, not an error | wav is streamed, so the header length is a placeholder; do not read duration from it |
Using it in BibiGPT
- Narration for image videos and document explainers: pick “DeepSeek TTS” as the voice engine. Pro members need no API key.
- For long-video subtitles keep Auto: DeepSeek ASR has no timestamps and a 120 s cap, so BibiGPT has not added it as a subtitle engine yet.
Calling the API
Both endpoints use your regular DeepSeek API key, the same one as the chat models. ASR docs · TTS docs
curl https://api.deepseek.com/v1/tools/asr \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-F file="@speech.wav"
# → {"request_id":"…","text":"…","duration_ms":3200}
# MP3 / M4A 先转成 16 kHz 单声道 WAV,切成 ≤120 秒一段
ffmpeg -i in.mp3 -ac 1 -ar 16000 -sample_fmt s16 \
-f segment -segment_time 110 part_%03d.wavcurl https://api.deepseek.com/v1/tools/tts \
-H "Authorization: Bearer $DEEPSEEK_API_KEY" \
-H "Content-Type: application/json" \
-d '{"text":"你好,DeepSeek。","voice_id":"tide","format":"wav"}' \
--output speech.wavFAQ
Does DeepSeek have a speech-to-text and text-to-speech API?
Yes. Both launched in November 2026 under Tool APIs in the DeepSeek docs (Speech to Text and Text to Speech) and use the same DeepSeek API key.
How much does DeepSeek ASR cost?
List price $0.116 per hour, $0.058 per hour during the 50%-off promotion, billed per second. Cheaper than ElevenLabs Scribe, pricier than StepAudio 2.5 or Qwen-Audio-3.1.
How accurate is DeepSeek ASR?
On our FLEURS sample it scored 1.9% CER on Chinese, 2nd of six and just behind Grok, and 6.4% WER on English, mid-pack.
Can DeepSeek ASR make video subtitles?
Not directly. It accepts at most 120 seconds per request and returns no timestamps, so you would have to split audio and estimate timing yourself. It suits dictation and voice messages better.
How many voices does DeepSeek TTS have?
Two: Stella (female, default) and Tide (male). It speaks Mandarin, Cantonese, English, Japanese, Korean and five more languages, detected from the text.
How is DeepSeek TTS billed?
List price $0.45 per 10K characters, $0.225 during the promotion. Chinese characters count double, so Chinese works out to about $45 per million characters.
Use DeepSeek voices without writing code
Turn an article, PDF or video summary into a narrated short video in BibiGPT and pick DeepSeek TTS as the voice.