Speech to Text: Audio & Video Transcription with SRT Subtitles
Pricing
Pay per event
Speech to Text: Audio & Video Transcription with SRT Subtitles
Transcribe audio and video files, podcast feeds and Google Drive or Dropbox links to text with NVIDIA Parakeet, one of the most accurate open speech models. Get sentence and word timestamps plus SRT and VTT subtitles. 25 European languages.
Pricing
Pay per event
Rating
0.0
(0)
Developer
Jumble Mog
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Turn audio and video files, podcast episodes and Google Drive or Dropbox links into accurate text, with a timestamp on every sentence and word, plus ready-to-use SRT and WebVTT subtitle files. Transcription runs inside the Actor on NVIDIA Parakeet TDT 0.6B v3, one of the most accurate open speech recognition models, so there's no API key to bring and your audio isn't sent to a third-party AI service.
What you get
- Accurate transcripts with punctuation and capitalization. Parakeet TDT 0.6B v3 averages a 6.32% word error rate on the Hugging Face Open ASR Leaderboard, lower than OpenAI Whisper large-v3's 7.44% there.
- Timestamps for every sentence and, if you want, every word, for searchable transcripts, clipping, highlights and karaoke-style captions.
- SRT and WebVTT subtitles with captions sized for readability (two lines of up to 42 characters by default; set 32 for vertical video).
- Podcast feeds and Apple Podcasts links: give a show's RSS feed or Apple Podcasts page and get its newest episodes transcribed.
- Google Drive and Dropbox share links work as they are, and you can upload files straight from your computer.
- Fair billing: you pay per minute of audio transcribed. Links that fail, files that can't be decoded and recordings with no speech are reported in the results and never charged.
- 25 European languages, detected automatically: Bulgarian, Croatian, Czech, Danish, Dutch, English, Estonian, Finnish, French, German, Greek, Hungarian, Italian, Latvian, Lithuanian, Maltese, Polish, Portuguese, Romanian, Russian, Slovak, Slovenian, Spanish, Swedish and Ukrainian.
Sample output
Input: the 36-second trailer of NASA's Houston We Have a Podcast (public domain), which is also the Actor's example input.
{"url": "https://traffic.megaphone.fm/NATIONALAERONAUTICSANDSPACEADMINISTRATION8123271079.mp3","title": "NATIONALAERONAUTICSANDSPACEADMINISTRATION8123271079.mp3","status": "ok","language": "en","languageName": "English","durationSeconds": 36.1,"speechSeconds": 30.53,"billedMinutes": 1,"wordCount": 94,"text": "Hey there, NASA Superfans. If you're fascinated by the idea of humans traveling through space and curious about how all that works, I think you'll love Houston We Have a Podcast. The official podcast of the NASA Johnson Space Center in Houston, Texas. We have a podcast. I'm Gary Jordan, I host the show. ...","segments": [{"start": 1.08, "end": 2.6, "text": "Hey there, NASA Superfans."},{"start": 2.76, "end": 10.6, "text": "If you're fascinated by the idea of humans traveling through space and curious about how all that works, I think you'll love Houston We Have a Podcast."},{"start": 10.68, "end": 14.28, "text": "The official podcast of the NASA Johnson Space Center in Houston, Texas."}],"files": {"txt": "https://api.apify.com/v2/key-value-stores/<store>/records/001-NATIONALAERONAUTICSANDSPACEADMINISTRATION8123271079.txt","srt": "https://api.apify.com/v2/key-value-stores/<store>/records/001-NATIONALAERONAUTICSANDSPACEADMINISTRATION8123271079.srt","vtt": "https://api.apify.com/v2/key-value-stores/<store>/records/001-NATIONALAERONAUTICSANDSPACEADMINISTRATION8123271079.vtt"},"model": "nvidia/parakeet-tdt-0.6b-v3"}
The SRT file from the same run:
100:00:01,080 --> 00:00:02,760Hey there, NASA Superfans.200:00:02,760 --> 00:00:06,840If you're fascinated by the idea of humanstraveling through space and curious about300:00:06,840 --> 00:00:10,680how all that works, I think you'lllove Houston We Have a Podcast.
How to use it
- Paste links to audio or video files, upload files, or add podcast RSS feeds.
- Pick the files you want saved (text, SRT, VTT, full JSON) and click Start.
- Read the transcripts in the Output tab, download them as JSON, CSV or Excel, or open the subtitle files from the links in each result.
You can also run it through the Apify API, on a schedule (for example, to transcribe each new episode of a podcast every morning), or from Make, n8n, Zapier and other integrations.
Input
| Field | What it does |
|---|---|
mediaUrls | Direct links to audio or video files (MP3, M4A, WAV, FLAC, OGG, OPUS, MP4, MOV, MKV, WEBM and more), Google Drive or Dropbox share links, Apple Podcasts show links, or podcast pages that link to an RSS feed. |
files | Files uploaded from your computer or picked from an Apify key-value store. |
podcastFeeds | Podcast RSS or Atom feeds. |
episodesPerFeed | How many of the newest episodes to transcribe per feed (default 1). |
maxFiles | Stop after this many files, so cost stays predictable (default 100). |
maxMinutesPerFile | Only the first this-many minutes of each file are transcribed and billed (default 240). |
outputFormats | Files to save: txt, srt, vtt, json (default text, SRT and VTT). |
includeSegments | Add sentences with timestamps to each result (default on). |
includeWords | Add every word with timestamps to each result (default off). |
maxCharsPerLine | Subtitle line length (default 42). |
Example input for a podcast:
{"podcastFeeds": ["https://www.nasa.gov/feeds/podcasts/curious-universe"],"episodesPerFeed": 3,"outputFormats": ["txt", "srt"]}
Output
Each file becomes one item in the dataset with the transcript (text), sentences with timestamps (segments), optional word timestamps (words), detected language, durationSeconds, billedMinutes, wordCount and download links to the saved files (files). Items for podcast episodes also carry feedTitle and publishedAt. A file that couldn't be processed gets status: "failed" and an error explaining why; a file without speech gets status: "no-speech". Neither is billed.
The transcript files are saved in the run's key-value store as 001-<name>.txt, .srt, .vtt and .json.
Pricing
You pay per started minute of audio transcribed, at the price shown on this page. A 36-second clip is billed as 1 minute; a 60-minute podcast as 60 minutes. Failed links, undecodable files and silent recordings cost nothing, and maxMinutesPerFile and maxFiles cap what a run can cost. If you set a maximum cost per run in Apify, the Actor transcribes only as much as fits and stops.
Speed
With the default 8 GB of memory, the Actor transcribes about 10 minutes of audio per minute (a one-hour episode takes about 6 minutes). Choose 16 GB or more for faster runs; the price per audio minute stays the same.
Supported links and limits
- Files up to 4 GB and 12 hours (set
maxMinutesPerFileup to 720). - Links to YouTube, TikTok, Instagram, Facebook, X, Vimeo, SoundCloud and Spotify aren't supported, because those platforms' terms don't allow downloading. Use a direct link to a file you have the right to use.
- Languages outside the 25 listed above aren't supported yet; the model will produce poor text for them.
For AI agents and developers
This Actor works with the Apify MCP server, so agents can call it as a tool: pass mediaUrls (or podcastFeeds) and read the dataset. Every item has the same fields, documented in the dataset schema, and status tells you whether a file succeeded. For long transcripts, read the .txt or .json file from files instead of loading the whole dataset item.
Privacy
Your files are downloaded into the run, transcribed there and deleted when the file is done. Transcripts are stored only in your own Apify storage. No audio or text is sent to an outside AI service.
Credits and licenses
- Speech model: NVIDIA Parakeet TDT 0.6B v3, licensed CC BY 4.0, run as the int8 ONNX export by istupakov (CC BY 4.0) for CPU speed.
- Voice activity detection: Silero VAD (MIT), via onnx-asr (MIT).
- Audio decoding: FFmpeg.