Podcast and Video to Text, Billed by the Minute avatar

Podcast and Video to Text, Billed by the Minute

Under maintenance

Pricing

$40.00 / 1,000 audio minutes

Go to Apify Store
Podcast and Video to Text, Billed by the Minute

Podcast and Video to Text, Billed by the Minute

Under maintenance

For podcast producers and content-repurposing leads: turn public podcast RSS feeds or direct audio/video URLs into a timestamped transcript, billed one event per started audio minute.

Pricing

$40.00 / 1,000 audio minutes

Rating

0.0

(0)

Developer

US Tech Automations

US Tech Automations

Maintained by Community

Actor stats

0

Bookmarked

2

Total users

1

Monthly active users

5 days ago

Last modified

Categories

Share

Podcast transcript, audio transcription, and video to text, billed by the minute

This Actor takes public podcast RSS feeds or direct audio/video file URLs and returns a podcast transcript with timed audio transcription (and video to text when the file is video), one row per file, billed one event per started audio minute.

Who it is for

A podcast producer or a content-repurposing lead who needs a back catalogue turned into articles and captions without uploading one file at a time.

Input

FieldWhat it does
Direct audio or video URLsPublic http(s) file links (mp3, wav, ogg, mp4, and other formats ffmpeg can read)
Podcast RSS feed URLsPublic RSS/Atom feeds; the Actor reads enclosure URLs from the feed
Maximum episodes per RSS feedHow many enclosures to take from each feed, from the top
Maximum filesHard cap on files transcribed this run
Maximum minutes per fileffmpeg stops each file after this many minutes
Whisper modelbase (default, baked into the image) or small; CPU, int8
Include SRT textOptional SubRip captions on each row
Language hintOptional (en, es, …). Blank = detect from the audio
Proxy configurationApify Proxy, off by default

You must pass at least one direct file URL or one RSS URL.

Output (one row per file)

FieldWhat it holds
source_urlThe media file that was transcribed
titleEpisode title when the file came from an RSS feed; otherwise null
languageLanguage the model reported, or null
audio_minutes / audio_secondsLength of the audio actually transcribed (after the per-file cap)
textFull transcript text
segmentsTimed {start, end, text} list
srtSubRip text when Include SRT is on; otherwise null
modelbase or small
errorNull on success. On failure this is the HTTP or tool error, and text is null
fetched_atUTC timestamp of this run
billed_minutesceil(audio_minutes), the number of audio-minute events for this row

Example row (live run on this machine, 2026-09-20)

Input:

{
"mediaUrls": ["https://archive.org/download/testmp3testfile/mpthreetest.mp3"],
"maxItems": 1,
"maxMinutesPerFile": 2,
"modelSize": "base",
"includeSrt": false
}

Output:

{
"source_url": "https://archive.org/download/testmp3testfile/mpthreetest.mp3",
"title": null,
"language": "en",
"audio_minutes": 0.2068,
"audio_seconds": 12.408,
"text": "Okay, we are trying this for a second time to test the ability to upload an MP3 file. Hopefully this will work.",
"segments": [
{"start": 0.0, "end": 7.48, "text": "Okay, we are trying this for a second time to test the ability to upload an"},
{"start": 7.48, "end": 12.24, "text": "MP3 file. Hopefully this will work."}
],
"srt": null,
"model": "base",
"error": null,
"fetched_at": "2026-09-20T21:47:53Z",
"billed_minutes": 1
}

That file is 12.408 seconds of public test speech on archive.org. On this machine, one fetch() run (download + ffmpeg to 16 kHz mono + faster-whisper base int8 on CPU) returned the row above in 2.41 seconds of wall time. A whisper-only pass on the already-downloaded file took 1.08 seconds. Those are two measured runs of this one file, not a speed claim for other files or other machines.

Pricing

Pay per result. On Apify the Actor charges one audio-minute event for every started minute of audio actually transcribed (count = ceil(minutes)). A 12-second file bills 1 event. A 90-second file bills 2 events. Error rows (HTTP 404, empty download, ffmpeg failure) bill 0. The store listing sets the dollar amount per event; this package does not.

Maximum files and Maximum minutes per file are the spend caps.

Limits

  • Public files only. No login, no cookies, no CAPTCHA solving.
  • Direct file URLs, not a YouTube watch page or a site that only plays audio inside a logged-in player.
  • CPU only. The image does not use a GPU.
  • base is in the image. Choosing small downloads that model on first use.
  • One file at a time. Default cap 5 files and 30 minutes each; hard cap 50 files and 180 minutes each.
  • Hosts are asked 1 second apart, with a declared User-Agent.

What this does not do

  • It does not log in, store cookies, or bypass a paywall or DRM.
  • It does not scrape YouTube, Spotify, or Apple Podcasts episode pages. Paste a public RSS URL or a public file URL.
  • It does not promise a word-perfect transcript. The text is what faster-whisper base or small produced from the audio on this run. Quiet, overlapping, or noisy speech can come back wrong or empty. Empty text on a successful row means the model returned no words, not that words were invented.
  • It does not check whether you have the right to transcribe the file you pointed at. The live sample uses a public-domain Internet Archive test file and LibriVox public-domain RSS feeds. Other URLs are your responsibility.
  • It does not measure or guarantee runtime, accuracy, or uptime beyond the one sample above.

Refunds and support

Refunds: if a run returns zero rows for a valid input, email operations@ustechautomations.com within 7 days and we refund that run. Support: same address, replies within 2 business days.