Media URL Transcriber
Last updated November 8, 2026
Transcribe direct audio and video file links on your own Deepgram, AssemblyAI, Groq, or OpenAI key. One row per file with text, timestamps, and speakers. You pay your provider directly and this actor per minute.
Install
npx @mambalabsdev/mcp-media-url-transcriberEvery tool here also runs hosted, with no install at all, through Apify's MCP endpoint.
Features
- Works with your own Deepgram, AssemblyAI, Groq, or OpenAI key.
- One row per file with the transcript, timestamped segments, language, and duration.
- Speaker labels on Deepgram and AssemblyAI.
- Refused, failed, and silent files are free, and a run with no key checks up to 3 links for free.
- Pay per event: Media minute transcribed at $0.005.
Input
media_urlsarrayoptionalDirect links to audio or video files (mp3, wav, m4a, mp4, and others) that answer without a login. Platform pages such as YouTube, TikTok, Instagram, Vimeo, or Spotify are refused with a free row. In Clay, put the column inside a one item list.
providerstringoptionalWhose API transcribes the file, on your key: deepgram (default), assemblyai, groq, or openai. openai takes files up to 25 MB; the others read the URL.
api_keystringoptionalYour own key for the provider above. It is stored encrypted by Apify, sent only to that provider, and never written to a row or a log. With no key the run checks up to 3 files and transcribes nothing, for free.
modelstringoptionalOptional. The provider's model name. Defaults: deepgram nova-3, assemblyai its own default, groq whisper-large-v3-turbo, openai whisper-1 (the only one accepted there).
languagestringoptionalOptional. A language code such as en or de. Empty lets deepgram and assemblyai detect it; whisper models detect it on their own.
diarizestringoptionalyes or no (default no). Labels who spoke each segment. deepgram and assemblyai only; your provider may bill it as an add on.
include_segmentsstringoptionalyes (default) or no. Adds a list of segments with start and end seconds to each row.
max_charge_usdstringoptionalOptional. No new file starts once this is used up. A transcript your provider already billed is still delivered, charged up to this amount, and the run then stops. It limits this actor's charge, not your provider's bill.
Output schema
{
"row_type": "string",
"media_url": "string",
"provider": "string",
"model": "string",
"language": "string",
"duration_seconds": "number",
"billed_minutes": "integer",
"text": "string",
"segments": "array",
"word_count": "integer",
"speaker_count": "integer",
"provider_job_id": "string",
"content_type": "string",
"file_bytes": "integer",
"row_status": "string",
"error_reason": "string",
"billable_events_json": "string",
"scraped_at": "string"
}Pricing
| Event | Free plan price |
|---|---|
| Media minute transcribed | $0.005 |
| Actor Start | $0.003 |
Pay per event on the Apify platform. Paid Apify plans pay less per event. No subscription, no seat license.
On the Apify free plan the actor stops at $1.50 of charges a month, about 300 media minutes. Any paid Apify plan removes the cap.
Limits
- This has not been run with a live key. Mamba Labs holds no key for this actor to use. Fixtures shaped from each provider's documentation and the refused key path, tested live against all 4 providers, are the test. The first buyer's key is the live test, so start with one short file.
- Direct file links only. YouTube, TikTok, Instagram, Facebook, X, Vimeo, Loom, Spotify, SoundCloud, Twitch, LinkedIn, Reddit, Rumble, Dailymotion, and Apple Podcasts pages are refused, along with their media hosts. Podcast feeds are not expanded: give the episode file links.
- Transcribe only media you have the right to transcribe. The provider's terms apply to your use of your key.
- Files must answer without a login. A signed link works if it is still valid when the provider reads it.
- OpenAI accepts files up to 25 MB and only the whisper-1 model here. Groq's own file limit is 25 MB on its free tier and 100 MB on its dev tier.
- Speaker labels work on Deepgram and AssemblyAI only, and providers can bill them as an add on.
- Files run one at a time. A long list can reach the run's timeout, so raise it for long files.
- A restart of the run during a Deepgram, Groq, or OpenAI request sends that file again, which your provider can bill twice. AssemblyAI jobs resume by job ID.
- max_charge_usd limits this actor's charge, not your provider's bill. Set a budget in your provider account too.
- If a provider reports no duration, the file bills 1 minute and the row says so.