Transcribe and stream podcast pages (any yt-dlp-extractable URL)#63
Merged
Conversation
The YouTube download path was gated on a YouTube-specific URL regex, but yt-dlp (already a hard dependency) ships dedicated extractors for podcast hosts (Apple Podcasts, Spreaker, SoundCloud, iHeartRadio, ...). Add youtube.is_downloadable_url(): YouTube still matches by shape alone (so a missing yt-dlp keeps its install hint), and any other http(s) URL routes through the download-first path when a dedicated (non-Generic) extractor claims it. Direct audio URLs and unknown pages still pass through for the API to fetch itself. Wire the new predicate into `aai transcribe`, `aai stream`, and `transcribe --show-code` (which now generates the yt-dlp download block for podcast pages too); `stream --show-code` rejects all downloaded sources with one message. Update help text, onboarding prompt, README, and the aai-cli skill docs to advertise podcast-page support. https://claude.ai/code/session_01RovWF8h4r427GboMXqRoub
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
The YouTube download path was gated on a YouTube-specific URL regex, but
yt-dlp (already a hard dependency) ships dedicated extractors for podcast
hosts (Apple Podcasts, Spreaker, SoundCloud, iHeartRadio, ...). Add
youtube.is_downloadable_url(): YouTube still matches by shape alone (so a
missing yt-dlp keeps its install hint), and any other http(s) URL routes
through the download-first path when a dedicated (non-Generic) extractor
claims it. Direct audio URLs and unknown pages still pass through for the
API to fetch itself.
Wire the new predicate into
aai transcribe,aai stream, andtranscribe --show-code(which now generates the yt-dlp download blockfor podcast pages too);
stream --show-coderejects all downloadedsources with one message. Update help text, onboarding prompt, README,
and the aai-cli skill docs to advertise podcast-page support.
https://claude.ai/code/session_01RovWF8h4r427GboMXqRoub