Communitygithub.com

pranav7/video-explainers

當使用者要求解說影片、動畫說明、旁白影片、3Blue1Brown風格的影片或任何主題的 Manim 動畫時使用。

video-explainers 是什麼?

這是一項 AI 代理技能,旨在建立類似 3Blue1Brown 風格的旁白解說影片。它使用 Manim(社群版)生成視覺動畫,並透過 Kokoro-82M 模型在本地生成語音旁白,完全不需要任何 API 金鑰。腳本中的每一行旁白會直接對應到動畫的時序安排。整個工作流程分為兩部分:首先,AI 代理會根據對話上下文撰寫一個名為 `script.md` 的腳本,內容包含旁白文字以及對應的畫面描述;接著,一個子代理程式會根據此腳本建構影片,包括撰寫場景、渲染、檢查佈局,最後產出最終影片。子代理擁有較小的上下文,因此建構過程更快且成本更低,而且能在背景執行,讓使用者可以繼續與主代理互動。此技能支援 macOS 等平台,並透過 `explainer` 命令列工具進行設定與執行。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/pranav7/video-explainers/tree/HEAD/skills/explain-video

在你喜歡的 AI 中提問

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

說明文件

影片解說員

用旁白製作一支 3Blue1Brown 風格的解說影片,主題不限。視覺效果使用 Manim(社群版)。旁白使用 Kokoro-82M,這是一個本機的文字轉語音模型,可在機器上執行,無需 API 金鑰。每一行旁白決定了與之搭配的動畫時序。

工作分為兩個部分:

  1. 你撰寫 script.md:每一行旁白以及播放時畫面上顯示的內容。你擁有上下文,因此由你來撰寫腳本。
  2. 一個子代理根據 script.md 建構影片。它會撰寫場景、渲染場景、檢查佈局,並進行最終渲染。

建構過程大約會進行 20 次工具呼叫,每次呼叫都會再次傳送完整的上下文。新的子代理的上下文較小,因此建構過程更便宜且更快。子代理也會在背景執行,因此使用者可以繼續與你互動。

explainer 指令會完成其餘的工作。它必須在 PATH 環境變數中。關於設定,請參閱 https://github.com/pranav7/video-explainers。執行 explainer -h 檢視指令列表。

0. 設定(每台機器一次)

執行 explainer doctor。它會安裝 Homebrew 套件、字型、TinyTeX、Python 環境和圖示,然後測試 Kokoro 和 LaTeX。重複執行是安全的。如果某個指令因缺少依賴項而失敗,請執行此指令。

1. 規劃

  • 位置。 如果對話是關於一個有自己文件資料夾的專案,請將影片放在該專案內的 videos/<slug>/ 資料夾。否則,請使用 ~/Movies/explainers/<slug>/。
  • 受眾與長度。 僅在請求未明確指出時才詢問。預設值:對該主題沒有背景知識的好奇成年人,長度 2 到 4 分鐘。
  • 腳本長度。 Kokoro 每分鐘約可說 170 個單詞,因此 3 分鐘的影片約需 500 個單詞的旁白。每個章節對應 30 到 45 秒。

選擇適合主題的形式。

對於一個概念(例如演算法、數學或科學中的想法):

  1. 以一個具體的問題或謎題開場,而不是定義。
  2. 用一個觀眾能看到的具體例子建立直覺。
  3. 歸納總結,然後才展示公式。公式為觀眾已經看到的東西命名。
  4. 以一張圖呈現關鍵概念作為結尾。

對於一種情況(例如執行失敗的事件、事故、設計、工作進度回顧):

  1. 以發生的事件開場,並帶入真實數字。
  2. 逐步展示導致該情況的機制。
  3. 展示改變了什麼:修正方案、決定或下一步。
  4. 以一張顯示整個系統以及變更位置的圖作為結尾。

2. 撰寫 script.md

在影片目錄中撰寫 script.md,格式如下:

# 為什麼訂單頁面這麼慢

提供給團隊中的工程師。大約 3 分鐘。

## 調色盤

| 概念 | 顏色 |
| --- | --- |
| API 伺服器 | SKY |
| 資料庫 | VIOLET |
| 緩慢、浪費的工作 | CORAL |
| 修正方案 | MINT |

## 1. 鉤子:五十筆訂單,五十次查詢

- 「載入五十筆訂單需要四秒鐘。」
  - 一個瀏覽器卡片,顯示珊瑚色的「4.1 秒」,以及一份 50 個訂單標籤的清單。
- 「伺服器針對每筆訂單向資料庫詢問一次。」
  - 一個 API 伺服器卡片和一個資料庫卡片。封包在兩者之間傳輸,每次代表一筆訂單。

每個章節標題都是 ## <數字>. <場景名稱>: <章節標題>。建構器會為每個章節建立一個場景類別。章節標題會成為影片中的章節標記。

建構器無法看到此對話。請將所有出現在畫面上的名稱、數字、標籤和數值都放入腳本中。

旁白會完全按照所寫的內容朗讀:

  • 撰寫口語形式:例如「x 平方」、「二派 r」、「P O 編號」、「v 二」。不要在旁白中加入 LaTeX、符號或程式碼。
  • 每行寫一個句子,最多兩個。每行代表一個視覺變化。
  • 如果 Kokoro 發音錯誤,請在行內提供其音素:[Kokoro](/kˈOkəɹO/)。
  • 預設聲音為 af_heart。如果使用者在意聲音,請執行 explainer voices 讓他們聽看看(afplay voice-samples/<name>.wav)。

在每一行下方,描述畫面,而不是投影片。命名物件、它們顯示的內容以及移動的方式。為每個概念從調色盤中指定一種顏色。

從工具包的強調色中選取調色盤顏色:SKY、MINT、AMBER、CORAL、VIOLET、AQUA、ROSE、PEACH、LIME。工具包也有用於非概念元素的 neutrals 顏色:SUBTLE、FAINT、INK。工具包包含卡片、標籤、表格、程式碼視窗、管線、序列圖、時間軸、樹狀圖、標註、圖表、大數字和 Lucide 圖示。請描述使用它們的畫面。

直接顯示每個數字。不要要求一個從零開始計數的數字。

3. 移交建構工作

以子代理的身分啟動建構器。如果你的說明指定了用於建構工作的代理類型或模型,請使用它們。給予此提示:

建構 <目錄>/script.md 的解說影片。執行 `explainer guide` 並遵循其指示。回報影片路徑、其持續時間,以及你保留在影片中的每個佈局警告及原因。

如果使用者要求字幕,請在提示中加入「用 --captions 參數渲染。」。

告知使用者影片正在處理中,然後繼續其他工作。如果你無法啟動子代理,請自行執行 explainer guide 並完成其步驟。

4. 交付

當建構器回報時,開啟 <目錄>/video.mp4(在 macOS 上,使用 open)。告訴使用者:

  • 檔案路徑和持續時間。
  • 影片包含章節標記。
  • 建構器留下的任何問題。

詢問需要修改什麼。若要進行修改,如果你的工具可以向同一個建構器傳送訊息,請將修改發送給它,因為建構器會保留其上下文。否則,使用修改後的內容啟動一個新的建構器。如果修改會影響旁白,請先編輯 script.md。

相關技能