Audio & Video Transcriber – Whisper Speech to Text, SRT, VTT
Pricing
from $9.00 / 1,000 minute transcribeds
Audio & Video Transcriber – Whisper Speech to Text, SRT, VTT
Transcribe audio and video files and podcast RSS feeds to text with Whisper. Any direct mp3, m4a, wav, ogg, mp4 or webm link, Dropbox or Google Drive. 99 languages, auto-detect, translate to English, word timestamps. Get text, timestamped segments, SRT and VTT subtitles. From $0.009 per minute.
Pricing
from $9.00 / 1,000 minute transcribeds
Rating
0.0
(0)
Developer
Cemal Atakli
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
2 days ago
Last modified
Categories
Share
Audio & Video Transcriber – Whisper Speech to Text (SRT, VTT, JSON)
Turn audio and video files into text with OpenAI's Whisper speech recognition. Paste direct links to mp3, m4a, wav, ogg, flac, mp4, mov or webm files, Dropbox or Google Drive share links, or a podcast RSS feed. You get the full transcript, the detected language, timestamped segments, ready-to-use SRT and WebVTT subtitles, and downloadable .txt, .srt, .vtt and .json files.
Whisper runs inside the Actor (faster-whisper, int8 on CPU). No OpenAI API key, no upload, no subscription. You pay $0.009 per minute of audio, and failed files are free.
What it does
- Speech to text in 99 languages. The language is detected automatically, or you can force one (
en,es,de,fr,pt,tr,ja,zh…). - Translate to English. Set
task: translateto get English text and subtitles from any spoken language, at the same price. - Subtitles ready to upload: SRT for YouTube Studio, Premiere, DaVinci Resolve and CapCut, and WebVTT for HTML5
<track>, Vimeo and LMS players. Lines are wrapped at 42 characters. - Timestamped segments (
start,end,text) and optional word-level timestamps with confidence scores, for karaoke captions, search and clip cutting. - Podcast RSS feeds: give a feed URL and the newest N episodes (enclosures) are transcribed, with episode title and publish date.
- Files in the key-value store: each transcript is saved as
.txt(with paragraphs),.srt,.vttand.json, with direct download links in the row. - Three Whisper models:
tiny(fastest),base(default, good for clear speech) andsmall(most accurate for accents, noise and non-English). - Skips silence with voice activity detection (VAD). It is faster and avoids hallucinated words during pauses and music.
- Length and cost control:
maxDurationMinutescuts or skips long files, and the Actor never transcribes more minutes than your Maximum cost per run allows. - Robust: downloads are retried, web pages and private links are detected, and every failure becomes a clear, free error row. One bad file never stops the run.
What it does not do
YouTube, TikTok, Instagram, Spotify, Facebook, X/Twitter, Vimeo and SoundCloud links are rejected with a clear error. Their terms of service do not allow downloading their media with third-party tools. Use a direct link to a file you have the rights to: your own upload, the podcast's RSS feed or enclosure URL, a cloud storage link, or a CDN or S3 URL.
Use cases
- Podcasters: show notes, blog posts, SEO pages and accessible transcripts for every episode, straight from your RSS feed.
- Video creators and editors: SRT/VTT captions for your own videos, Reels and course lessons. Translate captions to English for a wider audience.
- Researchers and journalists: transcribe interviews, focus groups, lectures and public-domain archives (Internet Archive, government recordings).
- AI and RAG pipelines: convert audio libraries into searchable text with timestamps for LLM summarization, Q&A and chaptering.
- Meeting and call recordings (that you own) exported to Dropbox or Google Drive.
- Language learning and accessibility: word-timed transcripts and captions.
Input example
{"mediaUrls": ["https://archive.org/download/spc141_1503_librivox/spc141_spiderandfly_lcw_64kb.mp3","https://www.dropbox.com/scl/fi/abc123/interview.m4a?rlkey=xyz&dl=0","https://drive.google.com/file/d/1AbCdEf.../view?usp=sharing"],"podcastFeedUrls": ["https://feeds.example.com/my-podcast.xml"],"maxEpisodes": 3,"model": "base","language": "auto","task": "transcribe","wordTimestamps": false,"maxDurationMinutes": 60}
The default input transcribes a 4-minute public-domain LibriVox poem (35 s end to end on a laptop core; expect about 1 minute on Apify). Whisper output is not perfect: names and rare words can be misheard (here "Howett" for "Howitt").
| Field | Default | Notes |
|---|---|---|
mediaUrls | LibriVox sample | Direct media links. Dropbox ?dl=0, Google Drive /file/d/…/view and OneDrive links are converted to direct downloads automatically |
podcastFeedUrls / maxEpisodes | – / 3 | RSS 2.0 or Atom feeds; newest episodes first |
model | base | tiny, base ($0.009/min) or small ($0.05/min) |
language | auto | Or a Whisper code such as en, de, es, fr, tr |
task | transcribe | translate gives English output |
wordTimestamps | false | Adds words to each segment |
initialPrompt | – | Vocabulary hint for names and jargon |
vadFilter | true | Skip silence |
maxDurationMinutes / longFileHandling | 60 / truncate | truncate transcribes the first N minutes, skip ignores the file (free) |
maxFileSizeMB | 2000 | Larger downloads are stopped (free) |
saveFiles | true | Save .txt/.srt/.vtt/.json to the key-value store |
includeSegments | true | Keep the segments array in dataset rows |
Output example
One dataset row per file. The Transcripts, Subtitles (SRT & VTT) and Errors views are in the Output tab.
{"type": "transcript","url": "https://archive.org/download/spc141_1503_librivox/spc141_spiderandfly_lcw_64kb.mp3","status": "ok","model": "base","task": "transcribe","language": "en","languageProbability": 0.999,"durationSeconds": 244.85,"transcribedSeconds": 244.85,"truncated": false,"billableMinutes": 5,"wordCount": 526,"segmentCount": 47,"text": "The Spider and the Fly, by Mary Howett, read for Librevox.org by Larry Wilson. An up-a-log, a new version of an old story. Will you walk into my parlour, said the spider to the fly, …","segments": [{"id": 0, "start": 0.24, "end": 9.12, "text": "The Spider and the Fly, by Mary Howett, read for Librevox.org by Larry Wilson."},{"id": 1, "start": 9.12, "end": 12.16, "text": "An up-a-log, a new version of an old story."}],"srt": "1\n00:00:00,240 --> 00:00:09,120\nThe Spider and the Fly, by Mary Howett,\nread for Librevox.org by Larry Wilson.\n\n2\n…","vtt": "WEBVTT\n\n00:00:00.240 --> 00:00:09.120\nThe Spider and the Fly, by Mary Howett,\nread for Librevox.org by Larry Wilson.\n\n…","txtFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-spc141-spiderandfly-lcw-64kb.txt","srtFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-spc141-spiderandfly-lcw-64kb.srt","vttFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-spc141-spiderandfly-lcw-64kb.vtt","jsonFileUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/001-spc141-spiderandfly-lcw-64kb.json","contentType": "audio/mpeg","fileSizeBytes": 1960448,"processingSeconds": 30.1,"realtimeFactor": 0.123,"cpuSecondsPerAudioMinute": 6.75,"transcribedAt": "2026-10-04T09:35:12Z"}
- Podcast episodes also have
feedUrl,feedTitle,episodeTitleandepisodePublished. - With
wordTimestamps, each segment haswords: [{start, end, word, probability}]. truncated: truewithtruncatedReason(maxDurationMinutesormaxTotalCharge) means only the firsttranscribedSecondswere transcribed and billed.- Failed inputs are rows with
"type": "error"and anerrormessage. They are free. - The key-value store record
OUTPUTholds the run summary: files, audio minutes, speed and whether the run stopped at the cost limit.
See SAMPLE_OUTPUT.json for complete rows (an mp3, a webm video, a podcast RSS episode and a rejected YouTube link).
Pricing
Pay per event: you pay only for minutes of audio actually transcribed, rounded up per file to the started minute (a 61.5-second file is 2 minutes, a 60.4-second file is 1).
| Event | Price |
|---|---|
Minute transcribed, tiny or base model | $0.009 |
Minute transcribed, small model | $0.05 |
| Actor start | $0.00005 |
One hour of podcast with the default model costs $0.54. Failed downloads, rejected links, skipped files and minutes cut by maxDurationMinutes are free.
Compared with other Store Actors (public Store prices, 2026-10-04):
| Actor | Price per audio minute | Platform downloading (YouTube, TikTok…) | Model choice | Translate to English |
|---|---|---|---|---|
| Audio & Video Transcriber (this Actor) | $0.009 (small: $0.05) | No (ToS-compliant) | tiny / base / small | Yes |
| memo23/video-audio-transcriber | $0.048 ($0.0008/s) + $0.005 per GB at start | Yes | – | – |
| parsebird/video-audio-transcriber | $0.05 | Yes | – | – |
| eliai/audio-transcriber-whisper | $0.03 | – | – | – |
| amanatools/whisper-transcriber | $0.008 + $0.005 per file | – | – | – |
| steadyfetch/media-transcriber | $0.006 | Yes | – | – |
Set Maximum cost per run in the run options to cap spending. The Actor transcribes only the minutes that fit in the budget, then stops cleanly.
FAQ
Why are YouTube, TikTok, Instagram and Spotify links rejected? Their terms of service prohibit downloading their content with third-party tools. Downloading them could get your account or ours suspended and could infringe the creator's rights. If it is your own video, download it from your creator studio (YouTube Studio, TikTok, Instagram data export) and use the file link, or use the podcast's public RSS feed instead of the Spotify page.
Do I need rights to the media? Yes. Only transcribe media you own, have permission for, or that is in the public domain or under a licence that allows it. You are responsible for the content you submit. Transcripts of copyrighted material may not be republished without permission.
How accurate is it?
base is accurate for clear speech in major languages (podcasts, lectures, narration). For strong accents, background noise, several overlapping speakers or less common languages, use small. Proper names improve with initialPrompt (e.g. Apify, Kubernetes, Dr. Nguyen). Whisper does not label speakers (no diarization).
How fast is it?
With the default model, transcription runs at roughly 4–8× real time on Apify: a 60-minute podcast takes about 10–15 minutes, plus the download. tiny is about 2× faster and small about 3× slower. Each row reports processingSeconds and realtimeFactor. Files are processed one after another, and the next file downloads while the current one is transcribed.
Which formats work? Anything ffmpeg can decode: mp3, m4a/aac, wav, ogg/opus, flac, wma, aiff, amr, mp4, m4v, mov, webm, mkv, avi, mpeg, 3gp and more. Only the audio track of videos is used.
Google Drive or Dropbox link does not work? Share the file as Anyone with the link. A private file returns a login page, which is reported as "The URL returned a web page, not a media file". Very large Google Drive files can need a direct link from another host.
What happens with a 3-hour file?
By default only the first 60 minutes are transcribed and billed (truncated: true). Raise maxDurationMinutes (up to 300) or set longFileHandling: skip.
Is my audio stored? Media is downloaded to the run's temporary disk and deleted right after transcription. Only the transcripts are kept in your dataset and key-value store, under your normal Apify data retention.
Use with AI agents / Apify MCP
- Apify MCP server: add the Actor to Claude Desktop, Cursor or VS Code with
https://mcp.apify.com?actors=gazidev/media-transcriber. An agent can call it with{"podcastFeedUrls":["https://feeds.example.com/show.xml"],"maxEpisodes":1}and summarize the latest episode, or with{"mediaUrls":["https://…/lecture.mp4"],"task":"translate"}to get English text. - API:
POST https://api.apify.com/v2/acts/gazidev~media-transcriber/run-sync-get-dataset-items?token=…with the input JSON returns the transcript rows directly (for files up to a few minutes; use the async run API for long media). - Automation: schedule a Task on your podcast feed with
maxEpisodes: 1and send new transcripts to Google Sheets, Slack, Make, Zapier or n8n via webhooks. LLM-friendly fields:textfor summaries,segmentsfor timestamped chapters and quotes.
More from the toolkit
- RSS Feed Reader: any RSS, Atom or JSON Feed to JSON, with only-new mode. Find new episodes before transcribing.
- Document to JSON: PDFs, Word files and images (OCR) to structured text.
- Website to Markdown: any URL or whole site to clean Markdown for LLMs.
Powered by faster-whisper and OpenAI Whisper models (MIT licence). Not affiliated with OpenAI, YouTube, TikTok, Instagram or Spotify.