Speech to Text: Audio & Video Transcription with SRT Subtitles avatar

Speech to Text: Audio & Video Transcription with SRT Subtitles

Pricing

Pay per event

Go to Apify Store
Speech to Text: Audio & Video Transcription with SRT Subtitles

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

Jumble Mog

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

2 days ago

Last modified

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:

1
00:00:01,080 --> 00:00:02,760
Hey there, NASA Superfans.
2
00:00:02,760 --> 00:00:06,840
If you're fascinated by the idea of humans
traveling through space and curious about
3
00:00:06,840 --> 00:00:10,680
how all that works, I think you'll
love Houston We Have a Podcast.

How to use it

  1. Paste links to audio or video files, upload files, or add podcast RSS feeds.
  2. Pick the files you want saved (text, SRT, VTT, full JSON) and click Start.
  3. 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

FieldWhat it does
mediaUrlsDirect 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.
filesFiles uploaded from your computer or picked from an Apify key-value store.
podcastFeedsPodcast RSS or Atom feeds.
episodesPerFeedHow many of the newest episodes to transcribe per feed (default 1).
maxFilesStop after this many files, so cost stays predictable (default 100).
maxMinutesPerFileOnly the first this-many minutes of each file are transcribed and billed (default 240).
outputFormatsFiles to save: txt, srt, vtt, json (default text, SRT and VTT).
includeSegmentsAdd sentences with timestamps to each result (default on).
includeWordsAdd every word with timestamps to each result (default off).
maxCharsPerLineSubtitle 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.

  • Files up to 4 GB and 12 hours (set maxMinutesPerFile up 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