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」吉祥物)以及每句歌詞都需呈現有趣的視覺效果。

運作方式

  1. 提示驅動生成 – 作者向 Claude Opus 提供簡短說明(使用 Clawd,視覺化每句歌詞)。隨後 Claude 產生了:
    • STORYBOARD.md – 逐鏡計畫。
    • ANIMATION_GUIDE.md – 用於實際撰寫動畫程式碼的子代理之編碼規範與風格指引。
    • src/ 中的 JavaScript 檔案,實現影片的九個章節。
  2. 渲染流程 –
    • studio.html 在瀏覽器(或無頭 Chrome)中執行,使用 p5.js 與 p5.brush 套件繪製每一幀。
    • render.mjs 驅動 Chrome 渲染幀,然後呼叫 ffmpeg 將幀與提供的音訊(assets/pdoom.mp3)合併為 MP4。
  3. 雙階段生成 – legacy/ 中的「舊版」版本是早期嘗試;目前版本(專案其他部分)是第二輪優化生成的結果。

內容清單

路徑 內容
src/ch/ 九個獨立的 JavaScript 檔案,分別代表影片的九個章節/場景。
src/ 共用資源:角色定義(Clawd 及其客串角色)、道具、歌詞文字,以及協調各元素出現時間的時間軸。
studio.html 最小化 HTML 頁面,載入 p5.js/p5.brush 並執行單幀動畫程式碼。
render.mjs Node 指令碼,啟動無頭 Chrome,渲染幀範圍,並可選地使用 ffmpeg 將其編碼為 MP4。
STORYBOARD.md Claude 所撰寫的每場鏡頭、時間點與視覺構思的詳細描述。
ANIMATION_GUIDE.md Claude 所撰寫的編碼風格指南,模型的子代理在撰寫動畫指令碼時遵循此規範。
legacy/ 影片第一代生成的檔案(舊提示與程式碼)。
assets/pdoom.mp3 最終影片中使用的音訊軌道。

如何自行生成影片

  1. 安裝 Node.js、Google Chrome 與 ffmpeg。
  2. 執行 npm install 以取得 JavaScript 依賴。
  3. 渲染幀(範例:渲染前 156.6 秒):
    node render.mjs --frames=0:156.6 --workers=4   # 在 out/frames 產生 PNG
    
  4. 將幀編碼為 MP4 並加入原聲:
    node render.mjs --encode --out=out/pdoom.mp4
    
    若 Chrome 不在預設 Windows 路徑,請調整 --chrome=<path>。

為何重要

此專案展現了完整的創意流程:大型語言模型不僅撰寫文字,還生成可執行程式碼,進而產生視覺媒體。它證明了 AI 可用於:

  • 無需人工干預的分鏡腳本與美術指導。
  • 使用基於網路的圖形套件進行程式化動畫。
  • 任何人只要擁有相同工具即可重現的自動化渲染。

此專案是 AI 輔助內容創作的具體範例,連結了自然語言提示與即時圖形程式設計。


所有細節均直接取自專案的 README。

相關

  • 專案
  • 專案
  • 專案
  • 專案