Audio & Video Transcriber – Whisper Speech to Text, SRT, VTT
Pricing
from $6.00 / 1,000 transcribed minutes
Audio & Video Transcriber – Whisper Speech to Text, SRT, VTT
Transcribe audio and video files and podcast RSS feeds with Whisper: 99 languages, translation to English, timestamps, SRT/VTT subtitles, word timings and paragraphs. $0.006 per minute.
Audio & Video Transcriber – Whisper Speech to Text, SRT & VTT
Turn audio and video files and podcast RSS feeds into accurate text, with timestamps and ready-made SRT / VTT subtitles. The open-source OpenAI Whisper model runs inside the Actor (via faster-whisper), so your audio is never sent to a third-party API.
- 🎙️ Any audio or video file: MP3, M4A, AAC, WAV, OGG, OPUS, FLAC, MP4, MOV, WEBM, MKV, AVI and more (the audio track is extracted automatically).
- 📻 Podcast feeds: paste an RSS feed URL and the newest episodes are transcribed, with episode title, date and GUID.
- 🌍 99 languages with automatic language detection, or translate any language to English.
- ⏱️ Timestamped segments, optional word-level timestamps, and SRT/VTT files for YouTube uploads, video editors and accessibility.
- 🤖 Made for AI pipelines. Clean paragraph text for LLMs, RAG, summarisation, show notes, meeting minutes and search indexing. Easy to call from AI agents via the Apify API/MCP.
- 💸 From $0.006 per audio minute ($0.36/hour), billed only for files that were transcribed.
How to use
- Add one or more direct media URLs (e.g.
https://example.com/episode-12.mp3) or podcast RSS feed URLs. - Pick a model: base (fast, great for clear speech) or small (more accurate for accents, noise and non-English).
- Run. Each file becomes one dataset row; subtitles are saved to the key-value store.
{"mediaUrls": ["https://upload.wikimedia.org/wikipedia/commons/c/c4/GWBush_Oval_Office_Address_20010911-1-.ogg","https://feeds.npr.org/510289/podcast.xml"],"model": "base","maxEpisodesPerFeed": 2}
Input options
| Field | Default | What it does |
|---|---|---|
mediaUrls | – | Audio/video file URLs or podcast RSS feeds (required) |
model | base | base = fast, small = more accurate |
language | auto | ISO code (en, de, es, ja...) or empty to detect |
task | transcribe | translate outputs English for non-English speech |
maxEpisodesPerFeed | 3 | Newest episodes taken from each RSS feed |
includeSegments | true | Timestamped segments in the output |
saveSubtitles | true | Save .srt and .vtt files |
wordTimestamps | false | Per-word timing and confidence |
skipSilence | true | Voice-activity detection skips silence/music (fewer hallucinations) |
maxDurationMinutes | 180 | Longer files are skipped, not charged |
maxFileSizeMb | 500 | Larger downloads are stopped, not charged |
Output
{"url": "https://upload.wikimedia.org/.../GWBush_Oval_Office_Address_20010911-1-.ogg","status": "ok","model": "base","language": "en","languageProbability": 0.992,"durationSeconds": 262.1,"billedMinutes": 5,"wordCount": 592,"text": "Good evening. Today, our fellow citizens, our way of life, our very freedom, came under attack...","srtUrl": "https://api.apify.com/v2/key-value-stores/.../records/transcript-1.srt","vttUrl": "https://api.apify.com/v2/key-value-stores/.../records/transcript-1.vtt","segments": [ { "start": 0.0, "end": 6.4, "text": "Good evening." } ]}
Podcast episodes also include podcastTitle, episodeTitle, episodePublished, episodeGuid and episodeLink. Failed files have status: "error" with an errorCode (HTTP_404, NOT_MEDIA, UNSUPPORTED_MEDIA, TOO_LONG, TOO_LARGE, PLATFORM_NOT_SUPPORTED...) and are not charged. A run summary is saved as OUTPUT.
Pricing
Pay per event, plus a tiny Actor start fee ($0.00005 per GB of memory):
| Model | Price per audio minute | Per hour of audio |
|---|---|---|
| base (fast) | $0.006 | $0.36 |
| small (more accurate) | $0.014 | $0.84 |
- Billed per started minute of each successfully transcribed file (a 4 min 22 s file = 5 minutes).
- Compute is included, with no separate platform usage charge for the transcription.
- Failed downloads, unsupported files, files over your limits and refused links are free.
- If you set a maximum cost per run, files that would exceed it are skipped before transcription.
For comparison, transcription Actors on the Store typically charge $0.01–$0.05 per audio minute.
Accuracy and speed (honest)
- On clear speech, base is close to human-quality for English. small is clearly better for accents, crosstalk, background noise and most non-English languages.
- Typical processing on the default 4 GB memory: base ≈ 6 s per audio minute, small ≈ 17 s per audio minute. Increase memory to 8–16 GB for faster runs on long files (more CPU cores; same price).
- Not included: speaker diarisation (who said what), and live/streaming audio.
Supported sources, and what is not supported
- ✅ Direct file links on your own server, cloud storage (S3/GCS/Dropbox direct links), CDNs, and podcast hosting enclosures.
- ❌ Pages on YouTube, TikTok, Instagram, Facebook, X, Vimeo, Spotify, SoundCloud and similar platforms. Their terms do not allow automated media downloads, so these links are refused with
PLATFORM_NOT_SUPPORTED. - Only transcribe media you own or have the right to process.
FAQ
Is my audio sent to OpenAI or another API? No. The Whisper model runs inside the Apify container, and files are deleted after processing.
Can I get subtitles for a video? Yes. Pass the video file URL; srtUrl/vttUrl link to subtitle files you can download or attach.
Can it run on a schedule for a podcast? Yes. Use an Apify Schedule with your feed URL and maxEpisodesPerFeed: 1 to transcribe each new episode.
Which Whisper models? base and small (MIT licence), int8 quantised CTranslate2 builds via faster-whisper.