Speech to Text with Timestamps (SRT/VTT) – Chinese & Japanese
Pricing
from $15.00 / 1,000 audio minute transcribeds
Speech to Text with Timestamps (SRT/VTT) – Chinese & Japanese
Transcribe audio and video files to SRT/VTT subtitles and text with timestamps. Accurate on Chinese (Simplified or Traditional output) and Japanese, works for many other languages. Pay only for minutes transcribed; files that fail to download or decode are free. Built for AI agents.
Pricing
from $15.00 / 1,000 audio minute transcribeds
Rating
0.0
(0)
Developer
Kumo Data Tools
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
4 days ago
Last modified
Categories
Share
Turn audio and video files into subtitles (SRT / WebVTT), plain text and JSON segments with start/end times. Built for people and AI agents that need timed transcripts, with extra care for Chinese and Japanese.
- 🎯 Accurate on Chinese and Japanese – with the same speech model this Actor uses, we measured a character error rate of 8.0% (Chinese) and 3.95% (Japanese) on 30 + 30 clips of Google's FLEURS benchmark (whole clips, punctuation ignored, measured 2026-10-21).
- 🀄 Simplified or Traditional – Chinese output is normalized to the script you choose (简体 / 繁體). Segments detected as Japanese, or as mixed Japanese and Chinese, are left unchanged.
- ⏱️ Timestamps from a modern speech model – speech is split at natural pauses and every segment gets its own start/end time, ready for subtitles.
- 💸 Pay only for audio that was transcribed – a failed download or decode costs nothing.
- 🤖 Agent-friendly – one dataset item per file with the full text, segments and download links.
How to use
- Paste one or more direct links to audio or video files (mp3, m4a, wav, ogg, opus, flac, mp4, mov, webm …) into Audio or video file URLs.
- Optional: set Spoken language (
zh,zh-cn,zh-tw,ja,en…). Leave it empty to auto-detect. - Optional: choose Chinese characters (Auto / Simplified / Traditional / Keep).
- Run. Each file becomes one dataset item; the SRT / VTT / TXT / JSON files are saved in the run's key-value store and linked from the item.
Leave the URL list empty to try it on a short bundled sample – free (the sample's transcript is pre-computed).
Pricing
$0.015 per started minute of audio, per file (a 64-second file = 2 minutes = $0.03). Minutes are billed as they are transcribed: files that fail before transcription (download, decode, too long) and files with no detected speech are not charged; if transcription stops part-way, you get and pay for the minutes transcribed so far. Each run also has Apify's standard start fee of $0.00005 per GB of memory ($0.0001 at the default 2 GB). Platform usage is included. Set Max total charge on the run to cap your spend – files that would exceed it are skipped and reported, not charged.
Input
| Field | Type | Default | Notes |
|---|---|---|---|
audioUrls | array of strings | – | Up to 50 files per run, 500 MB and 60 minutes each (public http(s) links) |
language | string | auto | ISO code, e.g. zh, zh-tw, ja, en |
chineseScript | auto / simplified / traditional / keep | auto | Applied only to Chinese speech |
outputFormats | array | srt, vtt, txt | json adds a JSON segments file |
maxSegmentSeconds | integer | 15 | 5–30 |
Output
One dataset item per input file:
{"url": "https://example.com/meeting.m4a","status": "ok","durationSec": 64.27,"billableMinutes": 2,"detectedLanguages": ["ja"],"segmentCount": 13,"text": "本日の会議を始めます。\nまず先月の売り上げについてです。…","segments": [{"start": 0.0, "end": 2.06, "text": "本日の会議を始めます。"}],"files": {"srt": "https://api.apify.com/v2/key-value-stores/…/records/file-0.srt", "vtt": "…", "txt": "…"}}
status is ok, partial (stopped part-way: the transcribed minutes are included and billed), error (with message, not charged), no_speech (no speech detected: not charged) or skipped (max total charge reached, not charged).
FAQ
Which languages work? Chinese (Mandarin) and Japanese are what we measured and tuned for. Other languages supported by the speech model also work; set language for the best result.
How accurate are the timestamps? Segment boundaries come from voice-activity detection at natural pauses, with a short padding around each segment. Timestamps are per segment, not per word.
Can I transcribe YouTube or other platform links? No. Use direct links to files you own or have the right to process. This Actor does not download from video platforms.
How is my data handled? Your file is downloaded into the run, decoded, and the speech is sent to OpenAI's transcription API. OpenAI states that data sent to its API is not used to train its models, and lists no retention for the transcription endpoint (OpenAI: your data). Results are stored only in your own Apify run storage, under Apify's retention settings. We do not keep copies.
What if a file fails? It is reported with a message; nothing is charged for audio that was not transcribed, and the other files in the run continue.
Notes
- The bundled sample is a clip from Google FLEURS (google/fleurs, dev split,
cmn_hans_cn, file11635592428808064812.wav), licensed CC BY 4.0, re-encoded to Opus (no other changes). - Not affiliated with OpenAI or Google.