Audio & Video to Text - Whisper Speech-to-Text Transcriber
Pricing
from $4.40 / 1,000 audio minutes
Audio & Video to Text - Whisper Speech-to-Text Transcriber
Transcribe audio and video files from URLs to text with OpenAI Whisper (faster-whisper): podcasts, interviews, meetings, voice notes. 99 languages with auto-detect, timestamped segments, SRT and WebVTT subtitles, optional translation to English. No API key, no external AI service.
Pricing
from $4.40 / 1,000 audio minutes
Rating
0.0
(0)
Developer
Teddy Wasserman
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Security
Limited permissionsShare
What does Audio & Video to Text do?
Audio & Video to Text transcribes audio and video files into text. Give it direct links to audio files, or the RSS feed of a podcast to transcribe its newest episodes. It handles podcast episodes, interviews, meeting recordings, voice notes, lectures or video files, and get back the full transcript, timestamped segments and, if you want, ready-to-use SRT and WebVTT subtitles and word-level timestamps. The language is detected automatically (99 languages) or set by you, and it can translate speech from any supported language into English.
It runs OpenAI's open-source Whisper model (through faster-whisper, MIT licence) inside the Actor. There is no Google, OpenAI or other external API behind it, no API key to set up, and your audio is not sent to a third party. You choose between three model sizes: Tiny (fastest), Base (the default, good for clear speech) and Small (clearly more accurate on accents, names and noisy recordings).
Why use Audio & Video to Text?
- No API key, no per-token bills. Paste URLs and run. You pay per minute of audio, with a published price and no hidden model fees.
- Podcasts, interviews and meetings in bulk. Hundreds of files in one run, from a list of URLs, from a podcast's RSS feed (the newest N episodes, with show and episode title and publication date), or from the file links in another Actor's dataset.
- Subtitles and timestamps included. Every phrase has a start and end time. Switch on SRT and WebVTT to get subtitle files for video editors and players, or word timestamps for search and highlighting.
- 99 languages with auto-detect. The spoken language is detected from the first 30 seconds and returned with a confidence value. English, Swedish, German, French, Spanish, Japanese and many more are supported.
- Translate to English. One switch turns a Spanish, German or Swedish recording into an English transcript.
- Made for pipelines. Chain it after the Bulk Image & File Downloader or a podcast scraper via the dataset input, and send the text to a vector database, an LLM or a spreadsheet.
- Honest billing. Files that can't be downloaded, pages that are not audio or video, files over your limits and links blocked by
robots.txtare free.
What data can you extract?
| Field | Example | Description |
|---|---|---|
url | https://.../episode-12.mp3 | The file that was transcribed |
language / languageProbability | en / 0.999 | Spoken language and the model's confidence |
durationSeconds / durationMinutes | 259.2 / 4.32 | Length of the audio |
text | And so my fellow Americans ask not what your country can do for you… | The full transcript |
wordCount / segmentCount | 22 / 2 | Words and phrases found |
segments | [{"start": 0, "end": 7.6, "text": "…"}] | Timestamped phrases (seconds); each segment also has words when word timestamps are on |
srt / vtt | 1\n00:00:00,000 --> 00:00:07,600\n… | Subtitle files as strings (optional) |
podcast / episodeTitle / publishedAt | NPR News Now | Only for podcast feed input: show, episode title and publication time |
model / task | base / transcribe | Model used, transcribe or translate |
minutesBilled | 5 | Audio minutes charged (rounded up) |
processingSeconds | 38.2 | Time the transcription took |
How to use Audio & Video to Text (step by step)
- Click Try for free.
- Paste the Audio / video file URLs, one per line, or add Podcast RSS feed URLs and the number of Episodes per feed, or pick a Dataset from another run and set its URL field.
- Choose the Model. Base is the right default; use Small for difficult audio.
- Leave Spoken language empty to auto-detect, or enter a code such as
svto skip detection. - Optional: switch on Include SRT and WebVTT subtitles, Word-level timestamps or Translate to English, and set Max audio minutes per run so a long list can't surprise you.
- Click Start. Open the Transcripts view or export to JSON, CSV or Excel.
Input example
For a podcast, replace audioUrls with "podcastFeedUrls": ["https://feeds.npr.org/500005/podcast.xml"], "episodesPerFeed": 3.
{"audioUrls": ["https://upload.wikimedia.org/wikipedia/commons/e/e0/Interview_with_Warren_Hanson_regarding_Hundred_Flowers.ogg"],"model": "base","language": "","includeSubtitles": true,"maxMinutesTotal": 60}
Output example
{"url": "https://raw.githubusercontent.com/ggerganov/whisper.cpp/master/samples/jfk.wav","foundIn": "url","contentType": "audio/wav","model": "base","task": "transcribe","language": "en","languageProbability": 0.929,"durationSeconds": 11.0,"durationMinutes": 0.18,"text": "And so my fellow Americans ask not what your country can do for you, ask what you can do for your country.","wordCount": 22,"segmentCount": 2,"segments": [{"start": 0.0, "end": 7.6, "text": "And so my fellow Americans ask not what your country can do for you,"},{"start": 7.6, "end": 10.6, "text": "ask what you can do for your country."}],"minutesBilled": 1,"processingSeconds": 0.8,"scrapedAt": "2026-11-04T12:54:10Z"}
How much does it cost?
Audio & Video to Text uses pay-per-event pricing.
| Event | Price (Free plan) | When it is charged |
|---|---|---|
| Actor start | $0.0005 | Once per run |
| Audio minute (Tiny and Base) | $0.008 ($8 per 1,000 minutes) | Every started minute of audio that was transcribed |
| Audio minute (Small model) | $0.016 ($16 per 1,000 minutes) | Every started minute, when you pick the Small model |
Each file is rounded up to whole minutes, so a 30-second clip is one minute. Files that can't be downloaded, are not audio or video, exceed the size or length limit, or are blocked by robots.txt are free. Paid Apify plans get Store discounts (Bronze −15%, Silver −30%, Gold and up −45%).
Worked examples (Free plan prices, Base model):
- A 45-minute podcast episode: 45 × $0.008 ≈ $0.36.
- 20 customer-interview recordings of 30 minutes: 600 minutes ≈ $4.80.
- A one-hour lecture with the Small model: 60 × $0.016 ≈ $0.96.
Speed. A 4.3-minute interview took 52 seconds with Base and 126 seconds with Small for the whole run, including model start-up, on the default 4 GB memory. Long files scale roughly linearly, so an hour of audio takes around 10 minutes with Base. The first file of a run is a little slower because the model loads.
Use cases
- Podcast and video show notes. Transcribe every episode, then summarise, chapter or search it.
- Subtitles. Generate SRT or WebVTT for videos you own, in the original language or translated to English.
- Meeting and interview analysis. Turn call recordings and user interviews into text for analysis, tagging or an LLM.
- Research and journalism. Transcribe speeches, hearings, field recordings and archive audio.
- RAG and search. Put what was said in your audio archive into a vector database with timestamps, so answers can link back to the exact second.
- Accessibility. Provide transcripts for audio content.
Use with AI agents, MCP and the API
curl -X POST "https://api.apify.com/v2/acts/teddythebuilder~speech-to-text-transcriber/run-sync-get-dataset-items?token=<TOKEN>" \-H "Content-Type: application/json" \-d '{"audioUrls":["https://raw.githubusercontent.com/ggerganov/whisper.cpp/master/samples/jfk.wav"],"model":"base"}'
Python with apify-client:
from apify_client import ApifyClientclient = ApifyClient("<TOKEN>")run = client.actor("teddythebuilder/speech-to-text-transcriber").call(run_input={"audioUrls": ["https://example.com/episode-12.mp3"],"model": "small","includeSubtitles": True,})for item in client.dataset(run["defaultDatasetId"]).iterate_items():print(item.get("language"), item.get("durationMinutes"), (item.get("text") or "")[:200])
MCP: available as a tool in the Apify MCP server (https://mcp.apify.com) for Claude, ChatGPT, Cursor and other MCP clients. Short recordings return within a minute, so agents can use the synchronous endpoint.
Integrations
Send transcripts to Google Sheets, Airtable, Notion, a vector database, Slack, email, Make, Zapier, n8n or a webhook after each run.
Data source and legality
The Actor downloads only the audio and video files you link to (or that are in the dataset you choose) and transcribes them locally with the open-source Whisper model. It respects robots.txt, sends a clear user agent and does not log in or bypass any protection. No audio is sent to an external AI or transcription service, and no file is stored: audio is deleted when the file is done, and only the text is saved in the dataset.
You are responsible for having the right to process the recordings (copyright, consent of the speakers, personal data). Speech can contain personal data; process recordings only with a legal basis and delete the transcripts when you no longer need them.
FAQ
Where do I find a podcast's RSS feed? Most podcasts list it on their website ("RSS" link) and hosting services such as Libsyn, Simplecast, Anchor and Buzzsprout publish it. Apple Podcasts and Spotify pages do not show the feed URL directly; search for the show name plus "RSS feed".
Can it transcribe YouTube or other web page links? No. It needs a direct link to the media file (an MP3, MP4, WAV or similar), for example a podcast enclosure URL or a file in cloud storage. Links to web pages are rejected for free. Downloading from YouTube is not supported.
Which formats work? MP3, M4A/AAC, WAV, OGG/Opus, FLAC, MP4, WebM, MOV, MKV and most other common audio and video formats. For video, only the audio track is used.
Which model should I pick? Base for clear speech such as podcasts and meetings. Small if speakers have strong accents, names matter, or the recording is noisy. Tiny only when speed matters more than accuracy.
Does it identify who is speaking? No. There is no speaker diarization. Segments have timestamps but no speaker labels.
Why is some text missing or odd in a silent or music part? Speech models can invent words when there is only noise or music. "Skip silence" (on by default) removes long non-speech parts to avoid this. Always check important transcripts; accuracy depends on audio quality.
What is the maximum file size or length? By default 300 MB and 180 minutes per file; you can change both in the input (up to 1,000 MB, any length with 0). Very long files need more time; raise the run timeout accordingly.
How is a file billed if it has silence? By the full length of the file, rounded up to whole minutes, because the whole file is processed.
Does it work with private files? Only if the URL works without a login, for example a signed link. The Actor never logs in anywhere.
Questions or bugs? Open an issue on the actor page. We reply within 24 hours. If the actor helps you, a rating on the Store page helps others find it.
Related actors
- Bulk Image & File Downloader: collect audio, video and image files from web pages into a dataset, then transcribe them here.
- Image to Text OCR: text from images and scanned PDFs.
- PDF Text Extractor: text and Markdown from PDFs for LLM and RAG use.
- Website to Markdown: clean Markdown of web pages for LLMs.
Changelog and support
- 1.1 (November 2026): podcast RSS feeds: transcribe the newest episodes with show and episode metadata.
- 1.0 (November 2026): first release. Whisper Tiny, Base and Small; auto language detection; translation to English; timestamped segments, word timestamps, SRT and WebVTT; URL and dataset input.
Questions or feature requests? Open an issue on the actor page. We reply within 24 hours.