Communitygithub.com

depth-pov-explainer

在 Claude Code 中從頭到尾製作一部 10 分鐘的第二人稱動物紀錄片,涵蓋頻道品牌、事實、腳本、節奏、使用 ElevenLabs v4 語音與音頻標籤、Pixabay 素材、Remotion 渲染及縮圖。

depth-pov-explainer 是什麼?

此技能引導你透過 Claude Code 在 Windows 上建立一部約 10 分鐘的「為何你絕不會想遇見 [動物]」第二人稱紀錄片。它涵蓋了完整的製作流程:品牌建立、事實研究、腳本編寫、場景設計、使用 ElevenLabs v4 語音合成並搭配音頻標籤、從 Pixabay 等來源獲取素材、利用 Remotion 生成動態向量圖形、添加音效,以及最終渲染影片和縮圖。技能提供了一個完整的框架,包括標準化的工作區結構、可重複使用的視覺元件庫、用於事實驗證的事實審查門,以及確保品質的參考實作。它支援檔案自動下載(提供手動連結)和音效生成,並遵循嚴格的版權和歸屬指南。此技能專為 Claude Code 設計,但也適用於類似終端機環境的 AI 代理,尤其適合希望快速製作高品質、事實豐富的教育或娛樂影片的內容創作者。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LexroAI/depth-pov-explainer/tree/main

在你喜歡的 AI 中提問

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

說明文件

Depth POV Explainer

製作一部約 10 分鐘的影片「為何你絕不會想遇見 [動物]」:使用 Remotion 製作的平面向量動態圖形(所有元素都會動,沒有靜態投影片),採用 ElevenLabs Eleven v4 進行旁白,每個句子一個視覺點。無論用戶使用何種語言書寫,一律使用英文與用戶交談;腳本、標籤和提示也使用美式英文。將所有 JSON/TXT/.env 檔案儲存為不含 BOM 的 UTF-8 格式。

步驟 0 - 工作區在 D:(每次執行,建立缺少的部分)

根目錄:D:\DepthPOV(如果 D: 不存在,詢問用戶使用其他磁碟機)。

D:\DepthPOV\.env
D:\DepthPOV\studio\            Remotion 專案 (npx create-video@latest studio, Blank template)
D:\DepthPOV\studio\src\lib\    共享視覺庫 (core.tsx, sets.tsx, art.tsx, ui.tsx)
D:\DepthPOV\tools\             voice.py stock.py stock_pick.py sfx.py
D:\DepthPOV\videos\<slug>\     facts.json script.txt script_tagged.txt beats.json timing.json stock.json packaging.md voice.mp3 out.mp4 FINAL\
D:\DepthPOV\assets\stock\ music\ sfx\ thumbnails\
D:\DepthPOV\brand\brand.json

此技能附帶的檔案(缺少時複製到工作區,切勿覆蓋較新的本地副本):scripts/*.py -> D:\DepthPOV\tools\;remotion-lib/lib/*.tsx 和 brand.ts -> studio\src\lib\;remotion-lib/stills.mjs -> studio\;remotion-lib/example-blue-whale/ 是技能作者完成的完整影片(13 個章節檔案,約 66 個持久場景,Main.tsx, Thumb.tsx),作為參考實作閱讀,不要逐場景複製。函式庫從 studio\src\lib\brand.ts 讀取頻道名稱、強調色和角色顏色,tools\sync_brand.py 從 brand.json 產生該檔案;切勿在場景中硬編碼頻道名稱或顏色。建立 studio 後執行 npx remotion add @remotion/media @remotion/google-fonts。Python 需要 requests。 如果 .env 不存在,則使用空值建立並停止,請用戶在記事本中開啟並填入金鑰:

ELEVENLABS_API_KEY=
ELEVENLABS_VOICE_ID=
ELEVENLABS_MODEL_ID=eleven_v4
PIXABAY_API_KEY=

PIXABAY_API_KEY 是免費的:在 pixabay.com 登入,複製 https://pixabay.com/api/docs/ 上顯示的金鑰(一個金鑰涵蓋影片和照片)。忽略較舊 .env 可能包含的任何額外金鑰。 切勿列印金鑰值。檢查 Node.js LTS 是否已安裝;使用 npx skills add remotion-dev/skills 安裝 Remotion 代理技能一次,並在撰寫 Remotion 程式碼前載入它們。如果用戶說「Retention」,他們指的是 Remotion。提醒一次 Remotion 僅供個人和非常小的公司免費使用 (/remotion-license)。

步驟 1 - 品牌(僅首次執行,儲存至 brand.json;如果 brand.json 已存在則跳過)

依序詢問下列問題,每次一條訊息,務必附上建議:

  1. 頻道名稱。 詢問用戶是否已有名稱。如果沒有,以三種風格提出 8 個名稱(神秘風格,例如「深淵檔案」;探險家風格,例如「深入深海」;直接風格,例如「為何你絕不會」):1-3 個單詞,易於口頭表達,不要使用現有大型頻道的名稱,不要使用類似「Depth Theory」的名稱,即使頻道後來離開海洋主題也適用。為每個名稱提供相符的 @handle。告訴用戶在 YouTube 上搜尋名稱和 handle 以確認可用性(Claude 無法確認可用性)。儲存 channel_name, handle, tagline。
  2. 「你」的角色,推薦一個:
    1. 水肺潛水員(橘色潛水衣,紅色頭燈) - 海洋;最接近 Depth Theory,最不獨特。
    2. 迷你潛艇駕駛員 - 深海;整個影片以圓形舷窗和 HUD(深度、氧氣)為框架。僅限海洋頻道的推薦選項。
    3. 船難後的救生筏倖存者 - 海洋表面;筏子俯視圖。
    4. 攜帶頭燈的探險家 - 叢林、洞穴、河流、冰層;黑暗中的光圈。如果頻道擴展到海洋以外,這是推薦選項。
    5. 護林員/野外生物學家 - 陸地動物;望遠鏡和野外筆記本。
    6. 時間旅行者 - 史前生物;年份計數器 (-66,000,000)。
  3. 強調色 + 字型,以及頻道自己的開場風格(展示 3 個範例冷開場,由用戶選擇)。 將 {channel_name, handle, tagline, character, look, signature_frame, accent {threat, safe, danger}, character_colors {suit, suit2, stripe, fins, fins_dark, lamp}(fins 使用高可見度顏色), font, opening_style} 儲存至 brand.json,然後執行 python D:\DepthPOV\tools\sync_brand.py 以寫入 studio\src\lib\brand.ts,並在每部影片中重複使用。隨附的美術庫繪製水肺潛水員;對於任何其他角色(潛艇駕駛員、探險家、護林員、時間旅行者),在 art.tsx 中使用相同的解剖結構規則(references/visual-style.md)建立一個新的元件。切勿使用 Depth Theory 的「Picture this.」開場、其精確調色盤或潛水員設計。 在以下位置使用 channel_name:跨影片回呼行(「如果你已經關注 [channel_name] 一段時間了...」)、CTA/片尾畫面行、描述,以及影片最後 10 秒的小型標誌浮水印。

步驟 2 - 事實(在腳本之前進行)

在網路上搜尋該動物。facts.json:25-35 個項目 {id, claim, number, unit, everyday_comparison, source_url, confidence}。除非取得的來源有明確陳述,否則不要使用最高級(最大/最深/唯一/曾經)。列出常見迷思與真相。

步驟 3 - 腳本(固定結構;首先閱讀 references/script-patterns.md)

使用 script-patterns.md 的章節預算、裝置和原創性規則:從參考中學習節奏,切勿使用其措辭。每個腳本都根據此動物的新鮮事實來撰寫;如果該動物已在參考中涵蓋(例如抹香鯨),則避免其中列出的角度。

  1. 冷開場 0:00-0:25。第 1 行永遠是品牌的標誌性開場,簡短(少於 3 秒),讓觀眾記住:「潛水日誌,條目 [n]。深度 [depth]。氣壓:[PSI]。」第 2 行開始是鉤子,仍然在前 7 秒內:立即讓觀眾處於危險之中——有東西觸碰、抓取、繞圈或擋住光線,類似鯊魚的形狀、陰影、看不見的東西——現在式、不解釋,並在同一瞬間在螢幕上顯示(剪影、觸手、陰影、眼睛)。然後才介紹場景設定(夜間潛水、繫繩、深度以下)、觀眾信任的規則,以及一個打破規則且朝你逼近的感官訊號。切勿在前 7 秒花費在平靜的風景或後勤事務上。為影片中段的回報埋下一個感官細節的伏筆,並在稍後再次呼應開場的危險(真正的遭遇、近距離接觸)。沒有介紹。
  2. 重新框架:人們通常害怕的動物,讓步,然後針對 [動物] 提出三個主張;以「...為何你絕不會想遇見一隻。」結尾。
  3. 五個章節:體型、食物、狩獵/感官方式、大腦/行為、是否曾攻擊人類。每個章節以一個問題結束,該問題由下一個章節開頭回答。每個數字都有一個日常生活中的比較。
  4. 約在 3:30 揭曉先前埋下的細節。
  5. 「你實際上會怎麼做?」:逐個推翻 4 個選項,每個選項帶有一個冷幽默,最後一句定論。
  6. 轉折 1:它幾乎從不針對人類。轉折 2:真正的危險來自相反方向。
  7. 生態角色。
  8. 結尾:以新的意義重複規則。
  9. 行動呼籲:以 brand.json 中頻道自己的用語(切勿複製 Depth Theory 的「我確實會閱讀它們」)詢問接下來要涵蓋哪種生物。 旁白:第二人稱(超過 35 個「你」),句子少於 20 個詞,5-7 個乾幽默比喻,1,600-1,800 字,速度約 170 wpm。沒有「我們開始吧」,沒有表情符號。儲存為 script.txt(無標籤)。

步驟 4 - 場景與節奏(首先閱讀 references/visual-style.md)

影片約有 60 個持久 SCENES,而不是每個句子一個卡片。scenes.json:{scene_id, chapter, setting (deep|mid|surface-split|paper|radar|xray|black|stock), camera (drift|push-in|follow-dive|tilt|top-down|macro), cast (illustrated subjects), beats:[...]}。一個場景持續 6-20 秒,涵蓋 2-6 個句子;每個句子為場景添加一個元素(主體進入、測量線繪製、計數器運行、標籤出現、印章落下、FX 觸發)而不是替換。 Beat = {id, scene_id, text, add (出現/變化的內容), label (0-5 個詞或空白;永不重複敘述), label_pos (top|under-subject|near:), accent, fact_ids, stock_query?}。 使用每種句子類型的參考工具包:數字 -> 場景內圖表(測量線、公尺、計數器、圖示陣列、網格、圓餅圖);比較 -> 物體在主體旁邊進入(公車駛入、大象跳出);歷史 -> 紙質/褐色的道具和表面場景;笑話 -> 道具或簡單圖形(收據、表格、白板、印章、UI 對話框);危險 -> 紅色標籤 + 撞擊 FX;感知 -> 雷達/X 射線模式切換。「你」的角色出現在冷開場、揭曉、選項章節和結尾,始終在主體旁邊保持微小。

步驟 5 - 事實審查(阻擋)

表格:句子 | 事實 ID | 來源 | OK/FIX,適用於每個包含數字或最高級的句子。修正所有 FIX 行,並在使用 ElevenLabs 點數之前向用戶顯示該表格。

步驟 6 - 語音(Eleven v4 + 音頻標籤)

  • 透過添加 v4 音頻標籤建立 script_tagged.txt,格式類似 ElevenLabs 自動標籤:[thoughtful], [curious], [uneasy], [dry], [whispers], [short pause], [long pause]。每 2-3 個句子最多一個標籤;在揭曉和回報周圍使用耳語/暫停;在笑話之前使用 [dry];不要在任何包含統計資料的句子內部使用標籤。每個頻道一次向用戶展示一個 10 行範例,以批准標籤密度。
  • 呼叫 POST https://api.elevenlabs.io/v1/text-to-speech/{ELEVENLABS_VOICE_ID}/with-timestamps,使用來自 .env 的 model_id (eleven_v4)。每個請求限制 10,000 個字元:在章節邊界處分割(通常 2 個請求),傳遞 previous_text/next_text 以保持連續性,並使用 ffmpeg 串接。
  • 如果 with-timestamps 被 v4 拒絕,則使用純文字端點,然後使用 ElevenLabs 強制對齊(POST /v1/forced-alignment)與音頻和 script.txt(移除標籤)。
  • 將單詞時間對應到句子 -> timing.json {beat_id, start_s, end_s, start_frame, end_frame},30 fps。

步驟 6b - 音效(ElevenLabs 音效,無需 CapCut)

在 D:\DepthPOV\assets\sfx\ 中維護一個可重複使用的 SFX 庫,使用 POST https://api.elevenlabs.io/v1/sound-generation {text, duration_seconds, prompt_influence 0.6} 產生,使用相同的 ELEVENLABS_API_KEY (tools/sfx.py;僅產生缺少的檔案,因此點數僅花費一次)。核心集合:whoosh_soft, whoosh_deep, pop_soft, tick_ui, counter_roll, stamp, paper_slide, impact_heavy, splash_big, bubbles, sonar_ping, low_hum, whale_moan, heartbeat_slow, riser_tension, scan_beep, warning_beep, strike_line, gulp, boat_motor;在需要時添加特定生物的聲音。將副本標準化為 -20 LUFS 並放入 studio/public/sfx/。將每個 SFX 放置在它所屬的動作上(元素進入、計數器、印章、撞擊、場景變化),使用 <Sfx at=... vol=...> 並放置在場景內,音量 0.3-0.6,每秒不超過一個;語音保持在最上層。

步驟 7 - 素材(目標 6-10 個片段,每個 3-6 秒,用於情感高峰;最多佔運行時間的 8%)

來源,依此順序(僅限這些;絕不使用 YouTube/TikTok 片段、紀錄片片段或任何標記為「僅限編輯使用」的內容):

  1. Pixabay(自動,API)。 一個 PIXABAY_API_KEY 服務影片 https://pixabay.com/api/videos/?key=...&q=... 和照片 https://pixabay.com/api/?key=...&q=...。每 60 秒最多 100 個請求;將每個回應快取 24 小時於 assets/stock/_cache;不進行大量下載。工具:tools/stock.py, tools/stock_pick.py。
  2. NOAA(手動,最適合真實物種)。 NOAA 沒有素材影片 API。Claude 尋找片段(NOAA Fisheries 物種頁面和影片庫、NOAA Ocean Exploration、NOAA Photo Library、NOAA 在 Wikimedia Commons 自己的上傳),並提供給用戶一個編號列表:直接頁面連結、片段顯示內容、填補的槽位、確切來源行,以及要選擇的檔案(最大的 MP4,理想為 1080p)。用戶下載到 assets/stock//noaa/。NOAA 工作人員製作的片段通常屬於公共領域,但請閱讀每個頁面:許多鯨魚片段是根據研究許可證或由承包商拍攝,並需要包含「NOAA Fisheries, permit #XXXX」或攝影師姓名的來源行;如果頁面限制重用,則跳過該片段。下載後,務必閱讀檔案的開場板子和結束工作人員名單:NOAA Fisheries B-roll 板子會顯示「All footage courtesy of NOAA... Please credit NOAA Fisheries」加上任何許可證號碼(安全);教育影片(例如 Ocean Today)通常會在結束工作人員名單中列出外部貢獻者,例如製作公司或素材機構,因此它們的鏡頭不是公共領域,必須拒絕;也拒絕帶有燒錄字幕或標誌的檔案。僅使用其板子指名目標物種的片段(B-roll 包裝會混合物種),並在描述中說明「NOAA 不認可此頻道」。切勿使用 NOAA 標誌。
  3. Pexels(手動連結)。 最後一次檢查時(2026 年 11 月)API 金鑰發放已暫停,因此 Claude 搜尋 pexels.com/videos(Claude 在 Chrome 或網路搜尋中),並提供用戶直接片段頁面連結,以及要下載的內容(Full HD 1920x1080)到 assets/stock//pexels/。根據 Pexels 許可證(允許商業使用),手動下載少數幾個片段用於一部影片是可以的;禁止大量或腳本化抓取。如果 .env 中後來出現 PEXELS_API_KEY,則改用 API(標頭 Authorization: <key>, GET https://api.pexels.com/v1/videos/search?query=...&orientation=landscape&size=medium&per_page=..,每小時 200 個請求)。
  4. Wikimedia Commons(手動,偶爾)。 僅限具有明確 PD / CC BY / CC BY-SA 授權的檔案;記錄作者 + 授權。 將片段放置在參考位置:冷開場之後(真實動物或潛水員),在「真實世界」主張(躍出水面、群體、船隻、捕鯨、空拍)上,以及在轉折/生態處;分散放置(永遠不要連續 3 個)。對於每個槽位搜尋 3-5 個同義詞,僅保留其標籤/標題包含主體的結果,然後使用 ffmpeg 為每個候選提取一個影格並查看它;拒絕錯誤的物種(座頭鯨不是藍鯨)和離題的鏡頭。不同物種的片段僅能用於一般性台詞(「大型鯨類」),並帶有螢幕上的備註「(圖示:座頭鯨)」。將片段調暗/調冷以匹配調色盤,使用 8 影格的模糊溶解淡入淡出。 每個來源都需要來源標示。 每個片段在螢幕左下角顯示一個小型來源行,持續其持續時間的柵欄...

[truncated for translation]

相關技能