Audio & Video Transcriber (Whisper) - MP3/MP4 to Text, SRT, VTT avatar

Audio & Video Transcriber (Whisper) - MP3/MP4 to Text, SRT, VTT

Pricing

from $4.00 / 1,000 audio minute (base model)s

Go to Apify Store
Audio & Video Transcriber (Whisper) - MP3/MP4 to Text, SRT, VTT

Audio & Video Transcriber (Whisper) - MP3/MP4 to Text, SRT, VTT

Transcribe audio and video files to text with Whisper in bulk: MP3, M4A, WAV, MP4, podcasts. Timestamps, SRT and VTT subtitles, 99 languages, translate to English. $0.005 per audio minute; failed links and silence are free.

Pricing

from $4.00 / 1,000 audio minute (base model)s

Rating

0.0

(0)

Developer

TinyRex

TinyRex

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

a day ago

Last modified

Share

Audio & Video Transcriber (Whisper): MP3, MP4 and podcasts to text, SRT and VTT

Turn a list of audio or video links into text and subtitles. The Actor runs OpenAI's open-source Whisper model (faster-whisper) inside its own container, so there is no API key, no OpenAI account and no outside speech service. You get one row per file with the full transcript, detected language, timestamped segments and ready-made .srt and .vtt subtitle files. $0.005 per audio minute with the base model, $0.01 with the more accurate small model. Dead links, web pages, files without audio and silent files are free.

What you get from the Audio & Video Transcriber

  • Speech to text for any common format. MP3, M4A, WAV, OGG, OPUS, FLAC, AAC, MP4, MOV, MKV, WEBM and anything else ffmpeg can read. Video files are fine: only the audio track is used.
  • 99 languages, auto-detected. Or set the language yourself for short or noisy clips. Choose Translate to get an English transcript of non-English speech (Whisper's built-in translation, same price).
  • Timestamps and subtitles. segments with start and end seconds for every sentence, plus links to .srt and .vtt files you can upload to YouTube, Vimeo, video editors or players.
  • Bulk and pipeline friendly. Paste hundreds of links or read them from another Actor's dataset (for example podcast episode enclosures from an RSS feed). One clean row per file, including a clear error for every file that failed (free).

Sample output (JSON)

Real row from a run on a 77-second spoken Wikipedia recording (segments shortened):

{
"url": "https://upload.wikimedia.org/wikipedia/commons/3/3c/Pope_Simplicius_Spoken_Version.ogg",
"status": "ok",
"language": "en",
"languageProbability": 0.999,
"durationSeconds": 76.7,
"billedMinutes": 2,
"words": 167,
"text": "Pope Simpliceus, from Wikipedia, the free encyclopedia. Pope Simpliceus died March 10, 483, was the head of the Catholic Church from 468 to his death in 483. ...",
"segments": [
{ "start": 0.24, "end": 5.24, "text": "Pope Simpliceus, from Wikipedia, the free encyclopedia." },
{ "start": 5.24, "end": 9.24, "text": "Pope Simpliceus died March 10, 483," }
],
"srtUrl": "https://api.apify.com/v2/key-value-stores/.../records/srt-0143153b17b9df8e",
"vttUrl": "https://api.apify.com/v2/key-value-stores/.../records/vtt-0143153b17b9df8e",
"model": "base",
"task": "transcribe",
"format": "ogg",
"audioCodec": "vorbis",
"hasVideo": false,
"truncated": false,
"transcribeSeconds": 4.5
}

A failed link looks like "status": "failed", "error": "HTTP 404", "billedMinutes": 0. Export as CSV, Excel, JSON or XML, or send results to Google Sheets, Make, Zapier, n8n, webhooks or the Apify API. A SUMMARY record in the key-value store has run totals.

How to transcribe audio or video files

  1. Paste audio or video file URLs, one per line. They must be direct links that download the file (a podcast episode's MP3 link, a file in cloud storage, a CDN link).
  2. Or pick a dataset from another Actor run: every link ending in .mp3/.m4a/.wav/.mp4/... is collected, or set URL field to the column that holds your links.
  3. Pick the Whisper model and, if you know it, the spoken language. Run.

Example input

{
"mediaUrls": [
"https://upload.wikimedia.org/wikipedia/commons/3/3c/Pope_Simplicius_Spoken_Version.ogg",
"https://upload.wikimedia.org/wikipedia/commons/4/48/En-Nabia-article.oga"
],
"model": "base",
"language": "auto",
"task": "transcribe",
"includeSubtitles": true
}
SettingDefaultNotes
mediaUrlsnoneDirect links to audio or video files; duplicates removed
datasetId / urlFieldnoneRead links from another run's dataset
modelbasebase ($0.005/min, fast) or small ($0.01/min, better on accents, noise and non-English)
languageautoAuto-detect or one of 29 common languages
tasktranscribetranslate = English transcript of any language
vadFiltertrueSkips long silences and music-only parts, which reduces made-up text
includeSegmentstrueTimestamped segments in each row
includeSubtitlestrue.srt and .vtt files plus srtUrl / vttUrl
maxMinutesPerFile120Only the first N minutes are transcribed and billed (up to 600)
maxFileSizeMb500Bigger files are skipped (free)
maxFiles100Unique URLs per run (up to 10,000)

Speed: at the default 4 GB memory (1 CPU core) the base model transcribes about 10 to 12 minutes of audio per minute, the small model about 4. More memory gives more CPU cores and faster runs; the price per audio minute stays the same.

Pricing

Pay per event, with Bronze/Silver/Gold discounts:

EventPriceWhen
Audio minute (base model)$0.005Per minute of audio transcribed, rounded up per file
Audio minute (small model)$0.01Same, with the more accurate small model
Free$0Dead links, HTTP errors, web pages, files without an audio track, silent files, files over your limits, files skipped by the spending limit or run timeout

Example: a 45-minute podcast episode costs $0.225 with base. 100 short 30-second clips cost $0.50. A tiny Actor-start fee applies per run. Set a max charge per run and the Actor transcribes only as many minutes as fit, then stops cleanly.

FAQ

Can I transcribe YouTube, TikTok or Instagram videos? No. Links to platform pages are rejected (free) because downloading from those sites needs their own players and is against their terms. Use files you own or have the rights to: your own recordings, podcast MP3s from an RSS feed, files in cloud storage.

How accurate is it? It is the same open-source Whisper model many paid tools use. Clear speech in English and other major languages comes out very well with base; for strong accents, background noise, phone calls or less common languages pick small. Names and rare words can be misspelled, as in any speech recognition.

Does it add speaker labels (diarization)? Not yet. You get timestamped segments and subtitles, without "Speaker 1 / Speaker 2" labels.

How do I make subtitles for a video? Keep Create SRT and VTT subtitle files on. Each row has srtUrl and vttUrl links to download the subtitle files.

Is my audio sent to OpenAI or another API? No. Download, decoding (ffmpeg) and transcription (faster-whisper) all happen inside the Actor's container, and results stay in your own Apify storage.

What about very long files? Files up to 10 hours work. By default only the first 120 minutes are transcribed (maxMinutesPerFile); rows show truncated: true when a file was cut. Long batches need a long enough run timeout; files that would not finish in time are skipped for free.

📘 Step-by-step guide with Python, JavaScript, curl and MCP examples: How to transcribe hundreds of audio and video files to text and subtitles with Whisper

Missing a field?

If a field you need is missing or wrong, please open an issue on the Issues tab. I read every issue and usually reply the same day.