Audio Transcription & Speech to Text - Video, Podcasts, SRT avatar

Audio Transcription & Speech to Text - Video, Podcasts, SRT

Pricing

from $9.00 / 1,000 audio minutes

Go to Apify Store
Audio Transcription & Speech to Text - Video, Podcasts, SRT

Audio Transcription & Speech to Text - Video, Podcasts, SRT

Turns audio and video files (your own uploads, direct file links, public podcast feeds) into text and subtitles (SRT/VTT) in ~99 languages, on the open-source Whisper model, run inside the tool (no API key).

Pricing

from $9.00 / 1,000 audio minutes

Rating

0.0

(0)

Developer

Afterstar

Afterstar

Maintained by Community

Actor stats

0

Bookmarked

1

Total users

1

Monthly active users

14 days ago

Last modified

Categories

Share

What does Audio Transcription & Speech to Text do?

It turns audio and video files into text and subtitles. Give it direct file links, upload your own files, or add a public podcast RSS feed, and you get:

  • the full transcript as plain text;
  • timed segments (start, end, text) as JSON;
  • SRT and VTT subtitle files, ready for video editors and players.

It runs the open-source Whisper speech recognition model (through faster-whisper) inside the run itself. There's no API key to bring and no third-party service: your audio never leaves the run.

What you get

InputDirect audio/video links (mp3, m4a, wav, ogg, flac, mp4, mov, webm), your own uploads, or public podcast RSS feeds
OutputFull text, timed segments (JSON), and SRT + VTT subtitle files
ModelWhisper small (accurate) or base (fast), run inside the tool; no API key, no third-party service
Languages~99, best on English and other major languages
Podcasts'Only new episodes' transcribes just the episodes it hasn't seen
Price$0.009 per audio minute (fast: $0.005) + $0.005 per file transcribed

What can I transcribe?

  • Direct links to audio or video files: mp3, m4a, wav, ogg, flac, mp4, mov, webm.
  • Your own files, uploaded through the input form.
  • Public podcast RSS feeds. The newest episodes are transcribed. With "Only new episodes", a scheduled run transcribes only the episodes it hasn't seen before. That's the easiest way to get every new episode as text automatically.

Not supported: YouTube, TikTok, Spotify, Apple Podcasts pages, SoundCloud, and other streaming, DRM or login platforms. Their terms don't allow downloading, so those links get a status row saying so and are never fetched. For a podcast, use the show's own public RSS feed instead. Links that a site's robots.txt disallows are skipped too.

How much does it cost?

You pay per audio minute, charged as the minutes are transcribed, plus a small fee per file transcribed:

ModeModelPrice
Accurate (default)Whisper small$0.009 per audio minute ($9 per 1,000 minutes), on every Apify plan
FastWhisper base$0.005 per audio minute ($5 per 1,000 minutes); less on paid Apify plans
Every file$0.005 per file transcribed, only when it succeeds
  • A 30-minute podcast episode costs $0.275 in accurate mode, or $0.155 in fast mode.
  • The last started minute counts as a full minute.
  • You're never charged for a file that can't be downloaded or decoded, or that has no speech.
  • Apify's standard run start fee applies.
  • Set a spending limit on the run, and the tool stops there and returns the transcript up to that point.

Input

FieldWhat it does
Audio or video filesDirect links, or your uploads
Public podcast RSS feedsFeed URLs
Episodes per feedThe most episodes per feed in one run (default 1)
Max minutes per fileA cost guard: only the first N minutes of each file are transcribed and charged (empty = all)
Feeds: which episodes"The newest episodes" or "Only new episodes (for schedules)"
ModelAccurate (small) or Fast (base)
Languageauto to detect, or a code such as en, de, es
TaskTranscribe in the spoken language, or translate to English
OutputEverything, plain text, segments, SRT or VTT
Word timestampsOff by default. On: each segment also lists its words with start/end times and a confidence (same price)

Output

One row per file:

{
"id": "file:3f2a…",
"statusCode": "ok",
"sourceUrl": "https://example.com/episode-42.mp3",
"sourceType": "rss",
"episodeTitle": "Episode 42",
"language": "en",
"durationSec": 1834.2,
"minutesCharged": 31,
"text": "Welcome back to the show…",
"segments": [{"start": 0.5, "end": 4.2, "text": "Welcome back to the show."}],
"srtUrl": "https://api.apify.com/v2/key-value-stores/…/records/transcript-3f2a….srt",
"vttUrl": "https://api.apify.com/v2/key-value-stores/…/records/transcript-3f2a….vtt",
"generatedBy": "whisper-small (automatic speech recognition)"
}

Files that couldn't be processed get a row with changeType: "status" and a statusCode: platform_not_supported, robots_disallowed, download_failed, decode_failed, no_audio, no_speech or feed_failed. The run's OUTPUT record sums it up: files, transcribed, minutes charged, status rows, and whether the spending limit was reached. With 'Word timestamps' on, each segment also has words: [{"word": "Welcome", "start": 0.5, "end": 0.86, "probability": 0.97}, ...] (the segments are then included whatever the Output choice). Same price per minute. A file cut by 'Max minutes per file' is transcribed up to that point and says so:

statusCode: "trimmed_at_max_minutes"
, with the file's full length in durationSec and the minutes read in minutesCharged.

Languages and accuracy

Whisper knows ~99 languages. It works best on English and other major languages; smaller languages get more word errors. Try a short sample in your language first.

Like every speech recognition model, Whisper can sometimes produce text during music or noise ("hallucinations"). Voice detection and other settings reduce this, but check important transcripts. Every row says it was generated by automatic speech recognition (generatedBy).

Speed and limits

  • In accurate mode, an hour of audio takes about 20 minutes; fast mode is about 3 times faster.
  • Files up to 2 GB. The run timeout is 2 hours, which is enough for about 5 hours of audio in accurate mode.

Your responsibility

Only transcribe audio you have the rights to. If it records people (for example, calls or meetings), make sure you have their consent where the law requires it. We don't keep, read or reuse your audio or transcripts: they stay in your own Apify storage.

How it compares

Instead ofWith this tool
Typing it out by handA 30-minute episode in about 10 minutes of processing, for $0.275
A transcription API with its own keyNo account or key to bring: the model runs inside the run, and your audio isn't sent anywhere
Subtitles made in a video editorSRT and VTT files come with every transcript

FAQ

Can I run it on a schedule? Yes. Add a podcast RSS feed, choose "Only new episodes" and schedule the run. A run with nothing new finishes in seconds and costs only Apify's run start fee.

Can I use it through the API or with AI agents? Yes, like any Apify Actor: through the Apify API, the client libraries, integrations (Make, Zapier, n8n), webhooks or MCP.

Is this affiliated with OpenAI? No. It uses the open-source Whisper model (MIT licence) through faster-whisper.

Which file types work? mp3, m4a, wav, ogg, flac, mp4, mov and webm, by direct link or upload, up to 2 GB per file.

Why isn't YouTube supported? YouTube, TikTok, Spotify, Apple Podcasts pages and SoundCloud don't allow downloading in their terms, so those links get a status row and are never fetched. For a podcast, use the show's public RSS feed.

Am I charged when a file fails? No. Files that can't be downloaded or decoded, or have no speech, are free.

My file is bigger than 25 MB. Will it work? Yes. Files up to 2 GB work, by direct link or upload, and one run can take about 5 hours of audio in accurate mode. The 25 MB cap belongs to hosted transcription APIs such as OpenAI's; this tool runs Whisper inside the run, so there's no upload cap of that kind. You pay $0.009 per audio minute (fast mode: $0.005) plus $0.005 per file transcribed, so a 1-hour recording costs $0.545 in accurate mode.

Can I shrink a file for a 25 MB API instead? Yes, if you can run ffmpeg. Keep only the audio, as mono 16 kHz at 32 kbps: ffmpeg -i input.mp4 -vn -ac 1 -ar 16000 -b:a 32k output.mp3. An hour of speech is then about 14 MB. For longer recordings, cut it into 15-minute parts with ffmpeg -i output.mp3 -f segment -segment_time 900 -c copy part%03d.mp3 and send each part separately. Use this tool when you can't run ffmpeg (for example on a hosted automation platform) or don't want to split and join files.

How do I call it from n8n, Make or Zapier? Use Apify's integration for that platform and run the Actor afterstar/audio-transcriber with input like {"audioUrls": [{"url": "https://example.com/episode.mp3"}]}; the transcript rows are in the run's dataset. From a plain HTTP request, POST the same input to https://api.apify.com/v2/acts/afterstar~audio-transcriber/run-sync-get-dataset-items with your Apify token. That call waits up to 5 minutes, which is enough for short clips; for long files, start the run and read the dataset when it finishes (or add a webhook).

More Afterstar tools

Found a problem or need a feature? Open an issue on the Issues tab.