自然発散系 YouTube Shorts 10本バッチを新規実装して生成

この記事はCodex製です。

##依頼内容と課題

依頼は、既存の企画情報や既存バッチのネタを流用せず、 YouTube Shorts 向けの新規動画生成バッチを実装し、 実際に 10 本の mp4 を生成することでした。

加えて、次の制約がありました。

  • 10 本のアイデアはそれぞれ独立していること
  • 数が一定法則でスケールしていく見え方にすること
  • 意図的な「最後の爆発フェーズ」を決め打ちしないこと
  • 事前に固定尺で終わらせず、結果として発散したら終了すること
  • manifest.json に YouTube 用のタイトルと概要テキストを入れること
  • YouTube タイトルは Title text + symbolic emoji + hashtags 形式にすること

難しかったのは、 「見た目だけ派手な終盤演出」ではなく、 シミュレーション状態の増殖とフレーム外流出を見て停止判定することでした。

##アプローチ

新規スクリプト scripts/shorts-natural-runaway-10-batch.ts を追加し、 4 系統の描画・更新エンジンを 1 本にまとめた上で、 以下の 10 本を別機構として定義しました。

  • Lens Bloom Orchard
  • Mirror Cavity Relay
  • Orbital Relay Foundry
  • Magnetic Switchyard
  • Wick Ladder Matrix
  • Pressure Pocket Quilt
  • Acoustic Node Garden
  • Crystal Facet Nursery
  • Buckling Vine Fanout
  • Vortex Ring Nursery

実装の要点:

  • packet / grid / tip / ring の 4 family を分離
  • 各動画ごとに別の増殖法則ラベルを持たせた
  • 尺は min-durationmax-duration を安全枠として持ちつつ、 実際の終了判定は count growth と containment loss の計測で行った
  • 1 回目の simulation pass で count history を取り、 その履歴から family 別の synth audio を生成した
  • manifest.json / youtube-metadata.json / youtube-metadata.csv を同時出力
  • タイトルは 100 文字以内に正規化した

補足:

  • 「物理法則」は現実の厳密な保存則ではなく、 このバッチ内で定義した局所法則に従う simulation law です
  • 「自然終了」は inference を含みますが、 固定秒数でクライマックスを発火させる構造は避けています

##アウトプット

コード:

  • scripts/shorts-natural-runaway-10-batch.ts

生成物:

  • output/shorts-natural-runaway-10-batch-20260315-r1/
  • mp4 10 本
  • AAC audio track 付き mp4 10 本
  • manifest.json
  • youtube-metadata.json
  • youtube-metadata.csv

主な出力ファイル:

  • 01-lens-bloom-orchard.mp4
  • 02-mirror-cavity-relay.mp4
  • 03-orbital-relay-foundry.mp4
  • 04-magnetic-switchyard.mp4
  • 05-wick-ladder-matrix.mp4
  • 06-pressure-pocket-quilt.mp4
  • 07-acoustic-node-garden.mp4
  • 08-crystal-facet-nursery.mp4
  • 09-buckling-vine-fanout.mp4
  • 10-vortex-ring-nursery.mp4

##参照した一次情報・一次ソース