Communitygithub.com

krishnagoswami52/stickman

從程式碼製作電影級火柴人故事影片(MP4),包含 ElevenLabs 語音腳本、免費內建語音(無需 ElevenLabs)、YouTube 標題和縮圖提示。用於 /stickman 或任何火柴人動畫需求。

stickman 是什麼?

此技能可將任何主題轉化為完全由程式碼生成的成品火柴人電影:平面 2D 角色、黃昏色調、電影風格的鏡頭運動和真實音效。涵蓋四種輸出:影片、旁白腳本、YouTube 標題和縮圖提示。它能在 Claude 可執行程式碼的任何環境中執行,包括 Claude 免費方案。無需付費工具或 AI 圖像/影片工具。ElevenLabs 為選用,僅用於旁白;若無 MP3,技能會使用免費開源語音朗讀腳本,因此完全不需要 ElevenLabs 即可製作有旁白的影片。支援 Claude Code(透過 ${CLAUDE_SKILL_DIR})、Cursor、Codex 等平台。工作流程包含六個步驟:解析使用者需求、詢問偏好(風格、長度、旁白、音效、音樂、分鏡)、設定環境、規劃影片(一句話梗概、節拍表、世界座標、鏡頭清單)、建置(編寫程式碼、繪製分鏡、渲染、混音、建置),最後檢查並交付 MP4。若無法執行渲染,可使用 bundle_player.py 輸出 HTML 並錄製 WebM。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/krishnagoswami52/stickman-skill/tree/HEAD/skills/stickman

在你喜歡的 AI 中提問

開啟一個已預先載入此 Agent Skill 的新對話。

說明文件

/stickman

將一個主題轉變為完全由程式碼生成的成品火柴人電影:平面 2D 角色、黃昏色調、電影風格的鏡頭運動和真實音效。此技能涵蓋四種輸出:影片、旁白腳本、YouTube 標題和縮圖提示。

它可在 Claude 能執行程式碼的任何環境中執行,包括 Claude 免費方案。無需付費工具,也無需使用 AI 圖像或影片工具。ElevenLabs 為選用,僅用於旁白。若無 MP3,此技能會使用免費開源語音(scripts/tts.py,詳見 references/free-voice.md)自行朗讀腳本,因此完全不需要 ElevenLabs 即可製作有旁白的電影。

以下所有內容均相對於此技能所在的資料夾(即包含此檔案的資料夾)。請找出其絕對路徑,並在每個腳本中使用。在 Claude Code 中,此路徑為 ${CLAUDE_SKILL_DIR}。在以下命令中以 SKILL 表示。請使用 python3,在 Windows 上則使用 python。

步驟 1:確定使用者的需求

使用者可能想要完整套件或僅部分內容。只執行被明確要求的項目:

要求執行內容
故事點子執行下方的「故事點子」,然後停止
製作影片步驟 2-6
撰寫旁白腳本讀取 references/script-playbook.md,提供腳本,停止
將腳本轉為旁白讀取 references/free-voice.md,執行 tts.py,提供 vo.mp3,停止
標題或縮圖讀取 references/packaging-playbook.md,提供配對,停止
完整套件腳本,然後影片,最後標題和縮圖提示

故事點子

如果尚未指定長度,請先詢問影片應多長。然後提供 5 個點子,並編號,讓使用者可以透過編號選擇。每個點子需包含簡短名稱、一句說明劇情發展的簡單句子,以及結局。讓每個點子符合該長度:少於 20 秒表示一個角色和一個簡單轉折。點子必須易於使用 references/engine.md 中的內容進行動畫製作,且每個點子必須是原創的。後續的「製作點子 3」即表示該點子。

步驟 2:建置前先詢問

除非請求已清楚說明,否則請在一次訊息中同時詢問以下問題,若有提問工具則使用之。跳過任何已回答的項目。如果無人可回答,則使用預設值並說明。

  1. 風格: 2D 或 3D?預設為 2D。兩者使用相同外觀。3D 會增加場景周圍的實際鏡頭移動。
  2. 長度: 多長?預設為 30 秒。若有 MP3,則由旁白決定長度。
  3. 旁白: 是或否?如果附有 MP3 則跳過此項。如果是,他們需提供 MP3 及其腳本文字,或要求你為 ElevenLabs 撰寫腳本並帶回 MP3。無需 SRT。或者,當沒有 MP3 時的預設值:免費內建語音會朗讀腳本(無論是他們的還是你撰寫的),因此他們永遠無需離開聊天室。僅在使用者關心情況下詢問使用哪種語音;references/free-voice.md 中有試聽。
  4. 音效: 是或否?預設為是。
  5. 背景音樂: 是或否?預設為否。如果是,則使用他們上傳的曲目(若有),否則使用程式碼製作的音樂背景。
  6. 分鏡表: 是否想先看分鏡表?除非請求已明確說明,否則務必詢問此項。如果無人可回答,則跳過。

不要預設音樂、效果或旁白。安靜的房間環境音不是音樂。

步驟 3:設定環境

python3 SKILL/scripts/doctor.py
python3 SKILL/scripts/new_film.py film        # 加上 --3d 可啟用 3D

doctor.py 會安裝任何缺少的元件。如果 Chromium 完全無法執行,請前往「如果無法渲染」。

免費語音: 在規劃之前立即製作,因為語音會決定時間點。將腳本儲存為 film/script.txt,然後執行 python3 SKILL/scripts/tts.py film film/script.txt --voice am_michael,並在 film/audio_mix.py 中設定 VOICE = "vo.wav"。詳情請見 references/free-voice.md。

然後,依序閱讀:

  1. references/style-bible.md:外觀和永不妥協的規則。
  2. references/production.md:快速路徑和已知陷阱。
  3. references/engine.md:工具包,以便重複使用而非重新繪製。
  4. references/film-craft.md:無對白或短片的故事和鏡頭。

同時在相關時閱讀:references/script-playbook.md 用於撰寫腳本,references/free-voice.md 用於免費內建語音,references/voiceover.md 用於 MP3,references/sound.md 用於混音,references/symbolic-beats.md 用於約一分鐘或更長的影片,references/3d.md 用於 3D。

步驟 4:規劃影片

在編寫任何繪圖程式碼之前先撰寫這些,因為在程式碼內規劃會產生幻燈片,而非電影:

  1. 一個讓分心的觀眾能理解的一句摘要。
  2. 一份節拍表,每個節拍包含動作、情感、鏡頭和聲音。
  3. 一個世界: 每個角色和道具的固定位置清單。每個鏡頭僅是該世界上的攝影機。
  4. 一份包含剪輯幀數(而非秒數)的鏡頭清單。目標為每 30 秒 8-11 個鏡頭,並包含一個顯示整體地理環境的廣角鏡頭。
  5. 縮圖時刻(如果被要求提供套件),以便其作為真實場景存在。

如果要求分鏡表,請在渲染前遵循步驟 5 中的「分鏡表」。

步驟 5:建置

  1. 取代 film/film.js,保留引擎檔案。從入門影片中的模式開始。
  2. 在最繁忙的時刻檢查靜態畫面,並檢視影像:python3 SKILL/scripts/stills.py film sheet.jpg 1 4.5 9 ...。進行兩輪是正常的。
  3. 分鏡表(如果要求)。 執行 python3 SKILL/scripts/storyboard.py film。它會寫入 film/storyboard.jpg,每個鏡頭一個編號預覽,由與最終影片相同的程式碼繪製。向使用者顯示一個表格,每行一個鏡頭(鏡頭編號、時間、發生事件、鏡頭、聲音),並顯示或發送影像。如果此處無法顯示影像,則發送檔案,或僅提供表格並說明。然後停止並等待。根據他們的要求修改影片,如果改動很大則重新執行分鏡表,僅在他們批准後才進行渲染。
  4. 編輯 film/audio_mix.py 中標記的區塊以符合聲音需求。
  5. 使用一個命令渲染、混音、接合和審計:
python3 SKILL/scripts/build.py film --out my-film.mp4

如果環境限制命令執行時間,請在背景執行此命令並輪詢它。再次執行相同命令會從中斷處繼續,因為每個鏡頭都是獨立的檔案。修復後,使用 --shots 3 7 僅重新製作那些鏡頭,或使用 --audio-only 重新混音。

步驟 6:檢查,然後交付

build.py 以審計結束。修復每個 ISSUE,或說明為何某個標記的時刻是預期內的。然後檢視 film/contact_sheet.jpg,它來自編碼後的檔案。用肉眼檢查這些項目,因為審計無法做到:

  • 臉部表情需傳達預期情感,眉毛不應意外地顯得生氣。
  • 手部應觸及所握物體,且無任何物體越過臉部。
  • 每次行走時手臂彎曲方向正確。
  • 門先打開,然後角色走進去。
  • 角色在每個鏡頭中與物體的距離保持一致。
  • 任何地方都沒有裝飾性圓圈。

交付 MP4 並附上簡短說明。清楚說明你無法聽到混音效果:你已測量過,因此使用者應親自聆聽。不要聲稱你未執行的檢查。如果使用者要求標題和縮圖,請從包裝手冊中提供配對。

如果無法渲染

如果無法執行程式碼或沒有瀏覽器可用,請在可行時執行 python3 SKILL/scripts/bundle_player.py film,它會寫入一個可播放影片並錄製即時 WebM 的 HTML 檔案。如果完全無法執行任何操作,請說明缺少什麼,並提供腳本、標題和縮圖提示(這些無需渲染)。切勿將 WebM 重新命名為 MP4。

關於原創性的規則

使用者分享的參考影片、標題、縮圖或逐字稿僅供參考一般模式:長度、措辭、結構、節奏。切勿複製或儲存他人作品中的任何具體內容,也切勿重複使用前提、角色、情節、台詞或外觀。每部電影都應有其自己的故事。

相關技能