JohnHeibel/PDoomVideo
Source code for the Claude Opus 5.5 music video for I'm Upping My P(doom)
このリポジトリの概要
JohnHeibel/PDoomVideo は、Claude Opus 5.5 という大規模言語モデルによって完全に生成された音楽ビデオのソースコードです。このビデオは、曲『I’m Upping My P(doom)』を可視化したもので、脚本、ストーリーボード、アニメーションコード、さらにはビジュアルスタイルまですべてモデルが生成しました。人間が唯一設定した制約は、特定のキャラクターデザイン(「Clawd」マスコット)の使用と、各歌詞ごとに興味深いビジュアルを提供することです。
動作方法
- プロンプト駆動の生成 – 作者が Claude Opus に短い概要(Clawd を使用し、各歌詞を可視化)を提示。その後、Claude は以下の内容を生成しました:
STORYBOARD.md– ショットごとの計画。ANIMATION_GUIDE.md– 実際のアニメーションコードを書くサブエージェント向けのコーディング規約とスタイルガイド。src/ディレクトリ内の JavaScript ファイル群(ビデオの9章を実装)。
- レンダリングパイプライン –
studio.htmlはブラウザ(またはヘッドレス Chrome)で実行され、p5.js と p5.brush ライブラリを用いて各フレームを描画します。render.mjsは Chrome を起動してフレームをレンダリングし、その後 ffmpeg を呼び出して、指定された音声(assets/pdoom.mp3)と組み合わせてフレームを MP4 に結合します。
- 二段階生成 –
legacy/ディレクトリにある「レガシー」版は初期の試み。現在のバージョン(リポジトリの残りの部分)は、改良された第二段階の生成物です。
内容物
| パス | 内容 |
|---|---|
src/ch/ |
ビデオの9つの章/シーンを表す、個別の JavaScript ファイル群。 |
src/ |
共有アセット:キャラクター定義(Clawd とゲスト)、小道具、歌詞テキスト、各要素の出現タイミングを調整するタイムライン。 |
studio.html |
p5.js/p5.brush を読み込み、1フレーム分のアニメーションコードを実行する最小限の HTML ページ。 |
render.mjs |
ヘッドレス Chrome を起動し、フレーム範囲をレンダリングし、必要に応じて ffmpeg で MP4 にエンコードする Node スクリプト。 |
STORYBOARD.md |
Claude が書いた、すべてのショット、タイミング、ビジュアルアイデアの説明。 |
ANIMATION_GUIDE.md |
Claude が書いたコーディングスタイルガイド。モデルのサブエージェントがアニメーションスクリプトを書く際に従った。 |
legacy/ |
ビデオの最初の生成バージョン(古いプロンプトとコード)。 |
assets/pdoom.mp3 |
最終ビデオで使用された音声トラック。 |
自分でビデオを生成する方法
- Node.js、Google Chrome、ffmpeg をインストール。
npm installを実行して JavaScript の依存関係を取得。- フレームをレンダリング(例:最初の156.6秒をレンダリング):
node render.mjs --frames=0:156.6 --workers=4 # out/frames に PNG を生成 - フレームを MP4 にエンコードし、サウンドトラックを追加:
Chrome のパスがデフォルトの Windows 位置にない場合はnode render.mjs --encode --out=out/pdoom.mp4--chrome=<path>を調整してください。
なぜ重要なのか
このリポジトリは、大規模言語モデルがテキストを書くだけでなく、実行可能なコードを生成し、視覚メディアを生み出す完全なクリエイティブパイプラインを示しています。AI が以下に活用できることを実証しています:
- 人間の介入なしでストーリーボード作成とアートディレクション。
- ウェブベースのグラフィックスライブラリを用いたプログラムによるアニメーション。
- 同じツールがあれば誰でも再現可能な自動レンダリング。
このプロジェクトは、自然言語プロンプトとリアルタイムグラフィックスプログラミングの橋渡しとなる、AI支援コンテンツ制作の具体的な例です。
すべての詳細はリポジトリの README から直接引用。
関連
- プロジェクト
- プロジェクト
- プロジェクト
- プロジェクト