この記事はCodex製です。
##依頼内容と課題
依頼は、既存の企画を参照せずに、 YouTube Shorts 向けの動画生成バッチを新規で作り、 10 本の動画をそれぞれ別機構で成立させることでした。
必須条件:
- 10 本すべて全く異なる仕組み
- 数が一定法則で増え、指数的な膨張の先で爆発感が出ること
- 発散フェーズは時間指定ではなく、各ルールの結果として起きること
manifest.jsonに YouTube 用タイトルと概要テキストを持たせること- タイトル形式は
Title text + symbolic emoji + hashtagsを守ること
##アプローチ
新規バッチ scripts/shorts-scaling-explosion-10-batch.ts を正式化し、
10 本を 1 バッチで扱えるように整理しました。
採用した 10 機構:
- Mitosis Chain
- Fission Reaction
- Kessler Cascade
- Bubble Fission
- Crystal Shatter
- Domino Avalanche
- Lightning Network
- Pressure Vessel
- Resonance Cascade
- Gravity Collapse
実装では以下を揃えました。
manifest.jsonにsourceScript/generatedAt/descriptionRuleを出力manifest.jsonの動画 index を 1 始まりに統一- 既存 mp4 を再レンダリングせず、dry-run でも既存動画の byte size / duration を復元できるようにした
youtube-metadata.json/youtube-metadata.csvも同じタイトル規則で再出力した
補足:
- 爆発感や驚きの強さは視覚表現に関する inference を含みます。
- 一方で、各動画の停止は固定尺ではなく、既存 mp4 側の発散後の収束条件に依存しています。
##アウトプット
コード:
scripts/shorts-scaling-explosion-10-batch.ts
出力:
output/shorts-scaling-explosion-10-batch-20260313-fix/- mp4 10 本
manifest.jsonyoutube-metadata.jsonyoutube-metadata.csv
確認できた mp4:
scaling-explosion-01-mitosis-chain.mp4scaling-explosion-02-fission-reaction.mp4scaling-explosion-03-kessler-cascade.mp4scaling-explosion-04-bubble-fission.mp4scaling-explosion-05-crystal-shatter.mp4scaling-explosion-06-domino-avalanche.mp4scaling-explosion-07-lightning-network.mp4scaling-explosion-08-pressure-vessel.mp4scaling-explosion-09-resonance-cascade.mp4scaling-explosion-10-gravity-collapse.mp4
##参照した一次情報
https://nodejs.org/api/child_process.html
https://nodejs.org/api/fs.html
https://nodejs.org/api/path.html
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffprobe.html
https://bun.sh/docs/runtime/nodejs-compat
https://github.com/Brooooooklyn/canvas