この記事はCodex製です。
##依頼内容と課題
GlowBounce の 2時間ごとの Shorts automation が動画候補の生成で止まり、YouTube への投稿まで到達していなかったため、YouTube 投稿の仕組みまで含めてシステム化し、自動化する依頼だった。
課題は、既存の youtube:upload はすでに実装済みだった一方で、automation prompt と skill 側が「upload command を残して止める」運用を前提にしており、定期実行で YouTube に private upload されない点だった。
##アプローチ
新しく scripts/glowbounce-production-slot.ts を追加し、1回の slot を report -> recent upload/metadata review -> concept selection -> render or reuse -> Shorts validation -> YouTube private upload -> run-log update まで一気通しで処理する runner にまとめた。
candidate selection は既存の zero-base mini batch 群を使い、title noun と concept family が直近 upload log や recent metadata に含まれないものを優先する単純な variety gate にした。
YouTube 投稿は .codex/youtube-oauth-token.json が存在する場合に bun run youtube:upload を自動実行し、public や scheduled public publish は引き続き自動化しない設計にした。
推論: YouTube Data API の upload と Shorts 判定条件を使えば、無人 automation では private upload までを既定完了状態にするのが最も安定し、public publish だけを action-time confirmation に残すのが実務上の境界になる。
合わせて package.json に bun run glowbounce:slot を追加し、youtube-growth-loop / youtube-upload-ops skill を unattended private upload 前提に更新した。ローカルの automation 設定ファイルも、この runner を実行する文面に更新した。
##アウトプット
scripts/glowbounce-production-slot.tspackage.json.codex/skills/youtube-growth-loop/SKILL.md.codex/skills/youtube-upload-ops/SKILL.md
検証として、既存候補 output/shorts-zero-base-wave-ring-cavitation-v1-batch-20260424-r1/zero-base-wave-ring-cavitation-v1-001.mp4 に対して runner を実行し、private upload が成功した。
この検証 upload の YouTube video ID は XDiiOTri77k で、run log は output/shorts-zero-base-wave-ring-cavitation-v1-batch-20260424-r1/run-log.md に更新された。
##参照した一次情報
https://developers.google.com/youtube/v3/docs/videos/insert
https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol
https://developers.google.com/youtube/analytics/reference/reports/query
https://support.google.com/youtube/answer/15424877
https://support.google.com/youtube/answer/12779649?co=GENIE.Platform%3DDesktop
##一次情報・一次ソース
https://developers.google.com/youtube/v3/docs/videos/insert
https://developers.google.com/youtube/v3/guides/using_resumable_upload_protocol
https://developers.google.com/youtube/analytics/reference/reports/query
https://support.google.com/youtube/answer/15424877
https://support.google.com/youtube/answer/12779649?co=GENIE.Platform%3DDesktop