Podcast Show Notes & Clip Finder - Whisper
Pricing
from $0.00005 / actor start
Podcast Show Notes & Clip Finder - Whisper
Transcribes podcast episodes from an RSS feed with Whisper, then generates show notes, chapter markers, pull-quotes and a ranked list of 30–60s clip-worthy segments with exact timestamps.
Pricing
from $0.00005 / actor start
Rating
0.0
(0)
Developer
Eonix Pvt Ltd
Maintained by CommunityActor stats
0
Bookmarked
2
Total users
1
Monthly active users
3 days ago
Last modified
Categories
Share
Podcast Show Notes & Clip Finder — Whisper
Point this Actor at a podcast RSS feed and every new episode comes back as ready-to-publish assets:
- Full transcript (
.txt) and subtitles (.srt) with exact timestamps - Show notes in Markdown — a hook paragraph plus topic bullets
- Chapter markers (start time + title)
- Pull-quotes with speaker guesses
- A ranked list of 30–60 s clip-worthy segments — start/end timestamps, the spoken words, a scroll-stopping hook line, a 0–100 score, and platform fit (Shorts / Reels / TikTok)
Transcription runs on Whisper — on the Actor's own CPU via faster-whisper (no external API needed) or through the OpenAI transcription API. The AI analysis (show notes, chapters, quotes, clips) uses one structured OpenAI call per episode and needs your OpenAI API key; without a key you still get transcripts and subtitles, and the clip-report fee is never charged.
Built for: podcasters and their editors, social teams clipping shows for short-form video, agencies producing show notes at scale, and anyone building a searchable archive of a show.
How it works
- Parses the RSS feed and picks the newest unseen episodes (or oldest first with
backCatalog). Seen episodes are remembered per feed, so scheduled runs only pay for new content. - Streams the audio with a size guard — episodes above
maxAudioMbare skipped with askipped_too_largerecord and charge nothing. - Transcribes with Whisper; the status message updates every 60 seconds of processed audio, so long episodes visibly move.
- Runs one structured LLM call per episode. Clips are enforced to 20–75 s, non-overlapping, capped at
maxClips, ranked best first. - Pushes one dataset record per episode and saves
{guid}.txt,{guid}.srtand{guid}-shownotes.mdto the key-value store — all linked from the record and the Output tab.
Input
| Field | Type | Default | Description |
|---|---|---|---|
rssFeedUrl | string | (required) | The podcast's public RSS feed URL. |
episodeLimit | integer | 1 | Max unseen episodes per run (1–25). |
backCatalog | boolean | false | false: newest unseen first. true: back catalog oldest → newest. |
transcriptionMode | enum | local-whisper | local-whisper (on-CPU, no API cost) or openai-api (needs openaiApiKey). |
whisperModel | enum | base | tiny / base / small — local mode only. Bigger = more accurate, slower. |
maxAudioMb | integer | 300 | Larger episodes are skipped and never charged. |
maxClips | integer | 8 | Upper bound on clip suggestions per episode (1–20). |
openaiApiKey | secret | — | Enables the AI analysis and openai-api mode. Stored encrypted; sent only to api.openai.com. |
model | string | gpt-4o-mini | OpenAI chat model for the analysis call. |
proxyConfiguration | object | off | Optional proxy for feed/audio downloads. |
Sample output
Real dataset record from a run against NPR News Now (local-whisper, tiny, no openaiApiKey → transcript-only):
{"type": "episode","feedUrl": "https://feeds.npr.org/500005/podcast.xml","guid": "b326dfe6-8f9b-4f24-9525-e725000a6484","episodeTitle": "NPR News: 08-13-2026 4AM EDT","publishedAt": "2026-08-13T08:11:13Z","durationSec": 298.1,"durationHuman": "4:58","language": "en","transcriptionMode": "local-whisper","whisperModel": "tiny","wordCount": 776,"transcriptPreview": "Live from NPR news in Washington, I'm Dan Roman.\nSome agents at immigration and customs enforcement will be getting new gloves to wear\non the field. [...]","showNotesMarkdown": null,"chapters": [],"pullQuotes": [],"clips": [],"clipCount": 0,"analysis": "skipped-no-openai-key","transcriptUrl": "https://api.apify.com/v2/key-value-stores/.../records/b326dfe6-...-2d7af797.txt","srtUrl": "https://api.apify.com/v2/key-value-stores/.../records/b326dfe6-...-2d7af797.srt","showNotesUrl": null,"chargedEvents": { "audio-minute": 5, "clip-report": 0 }}
With openaiApiKey set, analysis becomes "ok" and the record additionally carries:
"showNotesMarkdown": "…150–400 words of Markdown…","chapters": [ { "start": 0, "title": "Intro" }, … ],"pullQuotes": [ { "start": 154.2, "quote": "…", "speakerGuess": "Host" }, … ],"clips": [{"start": 612.4, "end": 654.0,"transcript": "the words spoken in that window","hookLine": "a scroll-stopping caption","score_0_100": 91.0,"platformFit": ["shorts", "tiktok"]}, …],"showNotesUrl": "…/{guid}-shownotes.md"
The dataset's Clips view shows one row per suggested clip across all episodes. Oversized episodes produce a skipped_too_large record, failures an episode_error record, and each run ends with a run-summary listing counts and every saved file.
Use cases
- Weekly clip pipeline — schedule the Actor on your show's feed; every new episode lands as an SRT, show notes, and a ranked shortlist of moments to cut for Shorts/Reels/TikTok the same day.
- Back-catalog revival —
backCatalog: truewithepisodeLimit: 25works through an archive; per-feed state guarantees each episode is transcribed and billed exactly once. - Agency show-notes desk — one scheduled task per client feed; pull
showNotesMarkdownand chapters straight into your CMS via the dataset API.
Pricing (pay-per-event)
| Event | When it's charged | Price |
|---|---|---|
| Actor start | Once per run | $0.00005 |
| Audio transcribed (per minute) | After transcription succeeds and the transcript + SRT are saved; every started minute counts | $0.015 / minute |
| AI clip report (per episode) | Once per episode when the AI analysis succeeds | $0.07 / episode |
You are never charged for failed or skipped work: oversized episodes, download failures and transcription failures charge nothing, and a failed or key-less analysis charges no clip report. A one-hour episode with the full AI report costs about $0.97; transcript-only about $0.90. Compare that with typical transcription services at $0.25–1.00 per minute.
Quality note: the default base model is solid for clear English audio but will make mistakes on crosstalk, heavy accents, music beds and niche jargon; tiny is rougher (fine for clip-finding, not verbatim quotes). Use small or openai-api mode when accuracy matters most. Whisper auto-detects ~100 languages; the record's language field reports what it heard.
State, dedupe and reprocessing
- Processed episode GUIDs are stored per feed in the named key-value store
podcast-clipper-state. A second run on an unchanged feed reports0 new episodesand charges only the Actor start fee. - Episodes skipped as too large are remembered with their size; raising
maxAudioMbabove it makes them eligible again automatically. - To re-process everything, delete the feed's key from
podcast-clipper-state(Storage → Key-value stores).
FAQ
Do I need an OpenAI API key? Only for show notes/chapters/quotes/clips (and openai-api transcription). Without it you still get transcripts and SRT files.
Is my API key safe? The field is marked secret, so the platform stores it encrypted. It is sent only to api.openai.com and never logged or written to output.
Why did my run say "0 new episodes"? Every episode in the feed is already in the state store — that's the dedupe working. See the section above to reset.
Can it process video podcasts? If the feed's enclosure is audio (audio/*), yes. Video enclosures are ignored.
Private / paywalled feeds? Any URL served without login works (including secret-token URLs). Feeds requiring cookies or auth headers are not supported.
How are clips chosen? The LLM proposes moments; the Actor then enforces 20–75 s length, clamps to episode bounds, drops overlaps (best score wins) and caps at maxClips, ranked by score_0_100.
A 2-hour episode looks stuck. It isn't — the status message updates every 60 seconds of processed audio. Expect roughly 15–30 minutes for a 2-hour episode on the default settings.
Changelog
- 0.1 — Initial release: RSS ingestion with per-feed dedupe, local faster-whisper (tiny/base/small) and OpenAI API transcription with chunking, AI show notes / chapters / pull-quotes / ranked clips, SRT + transcript + show-notes artifacts, pay-per-event pricing, dataset Overview + Clips views and Output tab.