Speech to Text: Audio, Video & Podcast Transcriber
Pricing
from $2.10 / 1,000 audio minutes
Speech to Text: Audio, Video & Podcast Transcriber
Speech to text with Whisper, no API key needed: transcribe audio, video and podcast RSS episodes to text, SRT and VTT subtitles and timestamped JSON segments. 99 languages. Optional own Groq or OpenAI key.
Pricing
from $2.10 / 1,000 audio minutes
Rating
0.0
(0)
Developer
Rod Services
Maintained by CommunityActor stats
0
Bookmarked
1
Total users
1
Monthly active users
19 days ago
Last modified
Share
Speech to text for audio, video and podcasts: Whisper transcripts, SRT and VTT subtitles and timestamped segments. No API key needed. Paste a file link or a podcast RSS feed, press Start, get the transcript in seconds. $0.003 per audio minute, one bill.
What you get
For every audio or video file, or every podcast episode:
- A clean transcript in the original language, 99 languages supported.
- SRT and WebVTT subtitle files, ready for YouTube Studio, video editors and HTML5 players.
- JSON segments with start and end times, for search, quotes and RAG.
- Title, publish date and feed title for podcast episodes.
It runs OpenAI Whisper large v3 turbo on Groq through a hosted key of this Actor, so you need no Groq or OpenAI account. Long recordings are split into chunks automatically: a 3 hour podcast works the same as a 3 minute voice memo. Optionally paste your own Groq or OpenAI key to pick other models or translate to English.
Typical uses:
- Podcast transcription from RSS. Point it at any feed. It takes the newest N episodes.
- Meeting recordings, interviews and lectures. MP4, MOV, MKV and WEBM work. Only the audio track is used.
- Subtitles for videos and accessibility.
- AI agents and LLM pipelines. Feed transcripts into summarizers, show notes, chatbots or vector databases. Callable through the Apify API and MCP.
Quick start
- Open the Input tab.
- Add links in Audio or video URLs, upload a file, or paste a Podcast RSS feed URL.
- Optional: set a Language hint such as
en,deorlt. - Click Start. Transcripts appear in the Output tab. Subtitle files are in the key-value store.
The prefilled example transcribes the 2 minute Gettysburg Address recording in about 15 seconds.
From code, one HTTP call runs the Actor and returns the rows:
curl -X POST "https://api.apify.com/v2/acts/rod_analytics~media-transcriber/run-sync-get-dataset-items?token=$APIFY_TOKEN" \-H 'Content-Type: application/json' \-d '{"rssFeedUrl": "https://librivox.org/rss/389", "maxEpisodes": 2, "outputFormats": ["text", "srt"]}'
Want to check your links first? Turn on Dry run. It downloads, converts and splits the audio without transcribing and without the per minute charge.
Input example
{"rssFeedUrl": "https://librivox.org/rss/389","maxEpisodes": 3,"language": "en","outputFormats": ["text", "srt", "vtt", "json"]}
| Field | What it does |
|---|---|
audioUrls | Direct links to MP3, M4A, WAV, FLAC, OGG, OPUS, AAC, MP4, MOV, MKV, WEBM and more. Drive and Dropbox links work. |
rssFeedUrl, maxEpisodes | Podcast RSS or Atom feed, and how many of the newest episodes to transcribe. |
uploadedFile, keyValueStoreRecords | Files uploaded in Console, or records in a key-value store. |
language | ISO 639-1 language hint. Empty means auto detect. |
outputFormats | text, srt, vtt, json files saved to the key-value store. |
maxDurationMinutes | Transcribe at most this many minutes per file. Protects you from surprise costs. |
prompt | Names, brands and jargon that help the model spell them right. |
dryRun | Download and split only. No charge per minute. |
provider, apiKey, model | Optional. Your own Groq or OpenAI key and model. Empty uses the hosted key. |
translateToEnglish | Return an English translation. Needs your own key. |
Output sample
Real result of the prefilled example, shortened. Download the dataset as JSON, CSV, Excel or HTML.
{"sourceUrl": "https://www.archive.org/download/gettysburg_shurtagal_librivox/Gettysburg_Address_Lincoln_64kb.mp3","sourceType": "url","title": "Gettysburg Address","durationSeconds": 100.336,"language": "en","text": "This is a LibriVox recording, all LibriVox recordings in the public domain. ... The Gettysburg Address by Abraham Lincoln, November 19, 1863. Four score and seven years ago...","segments": [{"id": 2,"start": 8.04,"end": 12.68,"text": "The Gettysburg Address by Abraham Lincoln, November 19, 1863."},{"id": 3,"start": 13.44,"end": 18.38,"text": "Four score and seven years ago, our fathers brought forth on this continent a new nation"}],"segmentsCount": 28,"wordCount": 307,"srtUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/srt-0000-Gettysburg-Address.srt","vttUrl": "https://api.apify.com/v2/key-value-stores/<storeId>/records/vtt-0000-Gettysburg-Address.vtt","provider": "groq","model": "whisper-large-v3-turbo","apiKeySource": "hosted","billedMinutes": 2,"warnings": [],"error": null}
| Field | Description |
|---|---|
title, feedTitle, publishedAt | Episode title and date from RSS, or the media title tag, or the file name. |
durationSeconds, transcribedSeconds | Length of the file and of the part that was transcribed. |
language | ISO 639-1 code, detected or from your hint. |
text, segments | Full transcript, and {id, start, end, text} with times in seconds. |
srtUrl, vttUrl, txtUrl, jsonUrl | Files in the key-value store. |
provider, model, apiKeySource | What transcribed the file, and whether the hosted key or yours was used. |
billedMinutes | Audio minutes charged for this file. |
warnings, error | What went wrong or was changed, in plain words. |
The Overview view shows one row per file. The Segments view shows one row per timestamped segment.
Pricing
Pay per event, one bill. The model cost is included when the hosted key is used.
| Event | Free tier | Bronze | Silver | Gold |
|---|---|---|---|---|
| Audio minute, per started minute per file | $0.003 | $0.0027 | $0.0024 | $0.0021 |
| Run start, per GB of memory | $0.001 | $0.001 | $0.001 | $0.001 |
| Audio | Free tier | Gold |
|---|---|---|
| 1 hour podcast | $0.18 | $0.126 |
| 10 episodes of 45 min | $1.35 | $0.95 |
| 100 hours of meetings | $18.00 | $12.60 |
- Minutes are counted per file and rounded up, so a 20 second clip is one minute.
- Dry runs, rejected links and failed files are free of the per minute charge.
- The price is the same with your own key. Then your provider also bills you for the model.
- Your discount tier follows your Apify subscription plan.
- Set Maximum cost per run in Run options. The Actor stops taking new minutes at the limit and cuts a long file short with a warning.
Optional: your own API key
The hosted key is shared by all users and has Groq's rate limits. Short waits are retried. If the shared key is out of quota, the run ends with one free row that says so, and files that were not transcribed are not charged. Retry later, or bring your own key:
- Groq keys are free to create at console.groq.com/keys.
- OpenAI keys are at platform.openai.com/api-keys.
Paste the key into Your own API key and pick the Provider. Your key is needed for Translate to English and for models other than whisper-large-v3-turbo.
| Provider | Model | Timestamps | Translation | Provider price |
|---|---|---|---|---|
| Groq | whisper-large-v3-turbo (default) | Yes | No, switches to v3 | ~$0.04 per hour |
| Groq | whisper-large-v3 | Yes | Yes | ~$0.111 per hour |
| OpenAI | whisper-1 | Yes | Yes | $0.006 per min |
| OpenAI | gpt-4o-mini-transcribe | No, estimated | No | $0.003 per min |
| OpenAI | gpt-4o-transcribe | No, estimated | No | $0.006 per min |
FAQ
Do I need an API key? No. Without a key the Actor uses its hosted Groq key with Whisper large v3 turbo.
Can I transcribe YouTube, TikTok, Instagram, Facebook or Vimeo links? No. Their terms forbid downloading media with third-party tools, so these page links are rejected with a message. Use a direct link to a file you own or may use, upload the file, or use the podcast RSS feed.
Is my own API key safe? It is a secret input that Apify stores encrypted. The Actor sends it only to the provider you picked, never logs it and never writes it to the dataset. Use a separate key with a spending limit.
Do you store my audio? Audio is downloaded into the run container, converted, sent to the provider and deleted when the file is done. Transcripts are saved in your own run storage. The provider processes the audio under its own data policy.
Tips for better transcripts. Give a language hint for short clips and music intros. Use the vocabulary prompt for names, products and acronyms.
Known limitations. No speaker labels yet. Word counts for Chinese and Japanese count characters. Files behind logins or DRM cannot be downloaded.
Found a bug or need speaker labels, summaries or delivery to your storage? Open an issue on the Issues tab.