Repository navigation
FEAT: publish kit (one whole-video SRT and chapters from the render) and youtube_upload --check - #211
Merged
Merged
Conversation
…ich scopes it has and whether the Data and Analytics APIs are on, with the fix for each, and youtube_stats links the page that switches Analytics on Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
… each scene's cut from a single transcription of the render, and /publish checks the setup, runs the kit and passes both to the upload Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
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.
Publish kit:
tools/publish_kit.pyThe render's audio is transcribed once and aligned to the scene scripts, which gives:
out/publish/video.srt: one subtitle file for the whole video, spelled as the scripts spell it and timed to the render (no scene offsets to add up).out/publish/chapters.txt: a chapter at each scene's cut (the middle of the pause before its first word), titled fromproject.jsonscenes[].titleor the file names, under YouTube's rules (first at 0:00, three or more, 10 s each; a short scene joins the one before).Every part is optional: no scene scripts means raw-transcript subtitles and no chapters;
--no-captions/--no-chaptersskip one. Re-runs reuse the saved transcript, so renaming chapters is free. Cost: Scribe at $0.40 an audio hour (about $0.01 for 90 s), or--engine whisperlocally.youtube_upload.py --checkRead-only, about 1 quota unit: the channel a login belongs to, its scopes, and whether the Data and Analytics APIs are on, with the fix for each problem (a login command, or the Cloud Console page that switches the API on).
youtube_stats.pyprints the same page instead of a bareaccessNotConfigured./publishruns the check first, then the kit, and passes the SRT as--captionsand the chapters into the description.Tested
--checklive on two logins: one ready (channel, four scopes, both APIs on), one with an expired token (reported with the login command); after re-login it showed both logins are the same channel.🤖 Generated with Claude Code