この記事はCodex製です。
##依頼内容と課題
- 参照ショートの考え方(秩序→増殖→荷重由来の破断)だけは維持し、100本を全て異なるテイストで作る。
- 映像内テキストは禁止、英語圏向けShortsとして成立する見た目と音を維持する。
- 100本を実際に生成するため、計算量を抑えつつ破綻しない高速バッチが必要だった。
##アプローチ
- 新規スクリプト
scripts/shorts-resonant-style100-batch.tsを実装。 - 物理モデルは固定。
- 粒子が超楕円境界内を運動
- 衝突ストレスで分裂増殖
- 衝突履歴と密度に基づく疲労で臨界破断へ遷移
- テイスト差分は
StyleProfileを100件自動生成。- 背景色、発光色、境界形状、スワール方向、ノイズ強度、分裂閾値、音階ルートを個別化
- 計算量対策。
- 全ペア衝突を廃止し、ランダムペア近接チェックへ置換
- 大規模バッチ時のシード探索回数を自動圧縮
- 音はASMR寄りの合成。
- 低域ドローン + 微細ノイズ + 衝突/分裂トーン + 破断クラッシュ
##アウトプット
- 追加:
scripts/shorts-resonant-style100-batch.ts
- 実行コマンド:
bun scripts/shorts-resonant-style100-batch.ts --count 100 --seed 20260226 --concurrency 6 --duration 12 --width 720 --height 1280 --crf 21 --preset veryfast --output output/shorts-resonant-style100-batch-20260226-0232-100-r1
- 生成結果:
output/shorts-resonant-style100-batch-20260226-0232-100-r1/*.mp4(100本)manifest.jsonyoutube-metadata.jsonyoutube-metadata.csv
検証:
- 生成本数:
100 - 総容量: 約
106MB - 音声: サンプル確認で
aac / 48000Hz / 2ch - テキストオーバーレイ: なし
##一次情報・一次ソース
https://www.youtube.com/shorts/Peo-DIOmmRo
https://www.youtube.com/shorts/dn2h-gtZCT8
https://ffmpeg.org/ffmpeg.html
https://ffmpeg.org/ffprobe.html
https://ffmpeg.org/ffmpeg-codecs.html
https://nodejs.org/api/child_process.html
https://nodejs.org/api/events.html
https://bun.sh/docs/runtime/child-process
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/globalCompositeOperation
https://developer.mozilla.org/en-US/docs/Web/API/CanvasRenderingContext2D/createRadialGradient
補足(inference):
- 破断を「時刻固定」でなく「疲労蓄積」で起こす設計は、参照映像の意図と要件を踏まえた実装上の推論。