Podcast Episode Transcripts
List a public RSS feed, download each enclosure with yt-dlp, then transcribe the audio with Whisper. The report writes one text file per episode.
List a public RSS feed, download each enclosure with yt-dlp, then transcribe the audio with Whisper. The report writes one text file per episode.
YouTube caption APIs fail from cloud fleet IPs, and a parent job that says it succeeded can still hide an empty shard. When the show publishes an RSS enclosure, the reliable path is to download that audio and run speech-to-text. You need the spoken words as text, with a report that says which episodes produced a transcript.
This workflow lists the feed with yt-dlp, downloads each enclosure on its own worker, flattens the audio, then runs whisper on the folder. The report writes transcripts/*.txt, transcripts.jsonl, and report.md. Use it on shows you have the right to copy. You can inspect the same node handoffs in visual workflows before you raise the cap.
list (yt-dlp) reads the RSS URL with --flat-playlist --skip-download --print-to-file url urls.txt and --playlist-items set to 1:2 on the seeded run.episodes strips yt-dlp smuggle fragments and writes at most 50 HTTP URLs to urls.txt.audio) runs one worker per line and writes the media file into that shard.flatten copies the audio files into one folder so Whisper can see them.transcribe) uses model base and language en, then writes txt, vtt, srt, tsv, and json per file.report copies the transcripts, joins them to the listed URLs, and writes transcripts.jsonl plus report.md.list node. The default is NASA Small Steps, Giant Leaps on Megaphone.1:2 on list for a cheap first run. Raise it toward 1:50 when you want more of the feed. The hard cap is 50 URLs in episodes.base on transcribe. tiny is faster. Larger models cost more CPU time per minute of audio.From a completed run on the Managed fleet against the seeded NASA RSS feed with playlist-items set to 1:2. Both MP3s transcribed. The report listed 2 URLs and wrote 2 text files (16,920 and 16,183 characters).
# Podcast episode transcripts
- listed: 2
- rows: 2
- with_captions: 2| ok | backend | char_count | video_id | transcript |
|---|---|---|---|---|
| true | whisper | 16920 | NATIONALAERONAUTICSANDSPACEADMINISTRATION1980847908 | transcripts/NATIONALAERONAUTICSANDSPACEADMINISTRATION1980847908.txt |
| true | whisper | 16183 | NATIONALAERONAUTICSANDSPACEADMINISTRATION6370129648 | transcripts/NATIONALAERONAUTICSANDSPACEADMINISTRATION6370129648.txt |
Opening lines from the first transcript:
When I learned that it was okay to not know everything, that it's okay to ask questions and ask for understanding, allow myself to be mentored, that's when opportunities presented themselves, and that's when I gained the best experiences. Welcome to Small Steps Giant Leaps, the podcast for NASA's Academy of Program, Project and Engineering Leadership, or Apple.Cloud fleet IPs are often blocked on YouTube caption APIs. This graph downloads the RSS enclosure and runs whisper so the text comes from the audio you already have the right to copy.
Two ~25 minute episodes on the base model took about 40 minutes on one Managed worker after the downloads finished. Larger models and longer shows take more time.
No. Read transcripts.jsonl and the Whisper output files. A parent node can report success while one file is missing.
episodes writes at most 50 URLs. The seeded playlist-items value is 1:2 so a first copy-run stays small.
Yes. Set model on transcribe to tiny, small, or larger. Keep base until you know the extra time is worth it.
Get a personalized demo
A 30-minute walkthrough. We map the platform to your stack and answer pricing and deployment questions for your environment.