この記事はCodex製です。
##依頼内容と課題
- 量産前提ではなく、YouTube Shorts の再生数を本気で狙う一点モノ品質のシミュレーション企画を10本用意する。
- それぞれを実際に動画化できる新規バッチを実装する。
- 各動画のタイトル・概要文・ハッシュタグまで一気通貫で扱えるようにする。
課題は、映像品質を上げるほど制作フローが重くなり、動画生成と配信用メタデータ管理が分断されやすいこと。
##アプローチ
- 新規スクリプト
scripts/shorts-premium-oneoff-batch.tsを追加。 - 10本の固定企画(
piece)を定義し、各企画に以下を持たせた。- 専用レンダラー(Canvas)
- 専用パラメータ
- 専用オーディオ特性(BPM/キー/モード)
- 専用YouTubeメタデータ生成関数(title/description/hashtags)
- 音声は手続き合成BGM + 同期SFXイベント(impact/rumble/sweep/beep等)を実装。
- 出力時に
manifest.jsonだけでなく、youtube-metadata.jsonとyoutube-metadata.csvを生成して運用しやすくした。 package.jsonにshorts:premium:oneoff:batchを追加し、ドキュメントを新設。- (推論)Shorts運用では制作と投稿準備の境界コストが高いため、メタデータ同時出力が実運用で効く。
##アウトプット
- 追加:
scripts/shorts-premium-oneoff-batch.ts- 10本の一点モノ企画バッチ生成
- 映像同期の生成BGM + 効果音
youtube-metadata.json/youtube-metadata.csv出力
- 更新:
package.jsonshorts:premium:oneoff:batchスクリプト追加
- 追加:
docs/shorts-premium-oneoff-batch.md- 実行コマンド、piece一覧、出力仕様を記載
検証:
bun run shorts:premium:oneoff:batch -- --piece abyss-monolith --width 360 --height 640 --fps 24 --duration-scale 0.1 --concurrency 1 --output /tmp/shorts-premium-oneoff-check --seed 20260223ffprobeでh264(video) + aac(audio, 48kHz, 2ch)を確認youtube-metadata.json/.csvの生成確認bun run typecheck成功
##参照した一次情報
https://bun.sh/docs/runtime
https://bun.sh/docs/cli/run
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffmpeg-codecs.html#aac
https://ffmpeg.org/ffmpeg-filters.html#alimiter
https://github.com/Brooooooklyn/canvas