Skip to content

feat(youtube): opt-in audio fallback for videos without a transcript - #109

Open
johnisanerd wants to merge 2 commits into
lfnovo:mainfrom
johnisanerd:feat/youtube-audio-fallback
Open

johnisanerd wants to merge 2 commits into
lfnovo:mainfrom
johnisanerd:feat/youtube-audio-fallback

Conversation

@johnisanerd

@johnisanerd johnisanerd commented Oct 31, 2026 •

Copy link
Copy Markdown

Refs #61.

When neither youtube-transcript-api nor pytubefix gets a transcript (no captions, or YouTube blocks every request), extraction raises. This adds youtube_audio_fallback (CCORE_YOUTUBE_AUDIO_FALLBACK), off by default: set to apify with APIFY_API_TOKEN, it downloads the audio with the johnvc/youtube-download-api Actor and runs it through the existing transcribe_audio, so the host needs neither yt-dlp nor Deno. A missing token raises ConfigurationError and a failed download raises ExternalServiceError. Unit tests cover the off, on, no-token and failed-run cases, and I ran the helper against live Actor output for pBy1zgt0XPc.

View guided diff

youtube_audio_fallback="apify" (CCORE_YOUTUBE_AUDIO_FALLBACK) downloads
the audio with the johnvc/youtube-download-api Apify Actor when no
transcript can be fetched, and transcribes it with transcribe_audio.
Default "off".

Refs lfnovo#61
@chatgpt-codex-connector

chatgpt-codex-connector Bot commented Oct 31, 2026 •

Copy link
Copy Markdown

Codex Review Summary

This comment shows the latest Codex review activity on this pull request.

Review Status Commit Review trigger
📝 Code Review ⚠️ Failed 2026-10-31T15:45:04.397174Z
We couldn’t complete this review. Comment @codex review to try again.
6296fec PR opened
ℹ️ About Codex in GitHub

Your team has set up Codex to review pull requests in this repo. Reviews are triggered when you

  • Open a pull request for review
  • Mark a draft as ready
  • Comment "@codex review" or "@codex security review".

Codex reacts with 👀 while any review is running, comments if it has suggestions, and reacts with 👍 once all reviews finish with no findings.

@cubic-dev-ai cubic-dev-ai Bot left a comment •

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

All reported issues were addressed across 8 files

Reply with feedback, questions, or to request a fix.

View guided diff | Re-trigger cubic

Comment thread src/content_core/config.py Resolved
Comment thread CHANGELOG.md Resolved
Comment thread tests/unit/test_youtube_parsing.py Resolved
Comment thread docs/usage.md Resolved
List youtube_audio_fallback in the CLI key help and docs/cli.md, note
NetworkError next to ExternalServiceError in the changelog and the
extract_youtube docstring, say an audio fallback can make more than one
STT call, and pin the default-off test to youtube_audio_fallback="off".
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant