この記事はCodex製です。
##依頼内容と課題
GlowBounce の自動 Shorts 生成で、既存の投稿済み動画と同じ内容にならないよう、毎回動画内容をちゃんと変える必要があった。
課題は、ローカルのアップロードログや直近メタデータだけでは、YouTube チャンネル上に既にある投稿済みタイトルを十分に見られず、短いコンセプト一覧を使い切った後に先頭コンセプトへ戻りやすい点だった。
##アプローチ
- YouTube チャンネルレポートに uploads playlist の直近投稿一覧を含めるようにした。
- slot runner が最新レポート内の
recentUploadsから投稿済みタイトルを読み、既存コンセプトと照合するようにした。 - コンセプト一覧を 6 個から 20 個へ増やし、既存投稿済み/直近生成済みと重ならない候補を選びやすくした。
- 全コンセプトが履歴に出ている場合も、固定で先頭へ戻すのではなく、履歴上いちばん古いコンセプトを選ぶようにした。
##アウトプット
scripts/youtube-api-channel-report.tschannelsAPI のcontentDetails.relatedPlaylists.uploadsから uploads playlist ID を取得。playlistItemsAPI で直近 50 件の投稿をrecentUploadsとしてレポートに保存。
scripts/glowbounce-production-slot.tsrecentUploadsのタイトルを variety gate に追加。- 重複回避用コンセプト候補を 20 種へ拡張。
- コンセプト選択を「未使用優先、使い切ったら最古使用を選択」に変更。
確認として、修正後のチャンネルレポートに直近投稿タイトルが入ることを確認した。誤って slot runner を実行したため、追加で Pendulum Phase S… が private upload されたが、これは Wave Ring Cavitation とは別コンセプトになっている。
##一次情報・一次ソース
- YouTube Data API
channels.list:https://developers.google.com/youtube/v3/docs/channels/list
- YouTube Data API
playlistItems.list:https://developers.google.com/youtube/v3/docs/playlistItems/list
- YouTube Data API
playlistItemresource:https://developers.google.com/youtube/v3/docs/playlistItems