Communitygithub.com

DrFIRASS/faceless-reels

從頭到尾創作出原創的無臉直式 Reels 或 Short(9:16,1 到 2 分鐘):分析參考影片、撰寫腳本(鉤子、說明、引導與關鍵字的行動呼籲)、複製永不中斷的 ElevenLabs 語音、可選的 Atlas Cloud 開場鏡頭、包含吉祥物與逐字字幕的一次性 Remotion 動畫、一個吸引點擊的封面(設為第一幀),以及結尾總是重複三個動作:訂閱、個人簡介連結、關鍵字。

faceless-reels 是什麼?

此技能針對 AI 開發者與內容創作者,提供一套完整的「無臉影片」自動化生產鏈,專門用於生成 9:16 格式、60 至 120 秒的直式 Reels 或 Shorts。它支援 Claude Code、Coder、Codex 等開發工具,能從分析參考影片、撰寫腳本、生成永不中斷的克隆語音、執行一次性 Remotion 動畫(包含吉祥物與逐字字幕),到產出作為第一幀的吸引點擊封面,全程自動化。其核心特色在於語音永不剪輯、畫面無硬切、結尾固定包含三個引導動作(訂閱、bio 連結、關鍵字),並確保所有宣稱內容真實有據。技能依賴本機的 ElevenLabs 語音克隆、Scribe 語音轉文字、Whisper 校驗以及 Remotion 渲染,並提供完整的步驟指南與常見錯誤修正紀錄,大幅降低創作者的手動操作門檻。

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

在你喜歡的 AI 中提問

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

說明文件

Faceless reels

此技能複製了一條已在真實 Reel(「This voice is not me」,2026 年 11 月發布)上驗證過的生產鏈。目標:一個 1080 x 1920、30 fps、60 到 120 秒的 Reel,能吸引觀眾看到最後,因為所有元素都會隨著語音節奏就地轉變。

設定

個人設定儲存在此技能根目錄的 config.json 中。如果檔案不存在,請將 config.example.json 複製為 config.json,並要求使用者填寫缺少的內容(至少需要 elevenlabs_voice_id)。每次執行開始時都應讀取此檔案。下方的 <skill> 表示此技能的資料夾。

鍵用途
creator_name報告中如何稱呼使用者
languageReel 的預設語言(語音、字幕、畫面文字)。若請求使用其他語言則以該語言為準
elevenlabs_voice_id、elevenlabs_model克隆的語音
whisper_model用於檢查的本機 Whisper.cpp 模型
projects_root先前 Reel 專案所在目錄(用於重複使用 node_modules)
ctaReel 語言中三個結尾引導動作的確切措辭
guides_page使用者個人簡介中連結的頁面,指南存放處
timezone、publish_hour、caps、telegram_env僅限自動模式

使用者規則

  • 書寫要直接明瞭。不要在畫面上或訊息中使用破折號或填充詞。
  • 使用 Reel 語言的印刷規範。如果是法語:在 : ? ! 前以及 5 réglages 這類短語內使用不換行空格,法語引號 « »。
  • 語音永不中斷。 僅編輯動畫。不改變時長,不移除靜音。
  • 影片中不出現臉孔,但封面可使用使用者的照片。
  • 封面永遠是影片的第一幀,同時也會另存為獨立檔案。
  • 結尾固定包含三個動作:訂閱以獲取指南、點擊 bio 中的連結、輸入關鍵字。這三個動作需同時出現在語音、字幕和畫面上(出現 SUBSCRIBED 按鈕、LINK IN BIO 按鈕以及一個輸入關鍵字的欄位)。關鍵字必須直接與指南和主題相關,並由 Claude 提出。請說「link in bio」,不要說「link in the description」:指南頁面在使用者的 bio 中。
  • 所有聲明都必須屬實:不得捏造數據、使用無來源的誇大詞彙或偽造螢幕截圖。親身經歷的證明勝過空洞的承諾。
  • 任何令牌、密碼或金鑰不得在畫面上顯示。
  • 每個 Reel 的說明文字:最多 5 個主題標籤,不加連結,適用於所有平台。說明文字必須以示範如何取得指南結尾,例如:「這五個提示詞都在指南中,可以直接複製貼上。要取得指南:請訂閱、前往 bio 中的連結,然後輸入關鍵字 FIVE。」
  • 使用克隆語音的無臉 Reel:發布時需聲明為 AI 生成內容(例如使用 Blotato 時,在 TikTok 設 isAiGenerated: true,在 YouTube 設 containsSyntheticMedia: true)。
  • 背景音樂音量設為語音的 0.05,不得更高。
  • 宣布付費生成的費用。如果使用者在請求中已授權使用 Atlas Cloud 或 ElevenLabs,則直接宣布並繼續。否則,需等待使用者同意。
  • 一氣呵成,中途不停頓,自我檢查工作,清楚說明哪些項目已驗證、哪些尚未驗證。除非使用者要求,否則永不發布(自動模式除外)。
  • 小型機器(8 GB RAM):一次只處理一個 Remotion 套件,渲染在背景執行,結束時清除中間檔案。

步驟

一開始先規劃所有步驟。每個步驟都有對應的指南:在執行該步驟時閱讀。

  1. 定位。 影片資料夾、參考 Reel(檔案或連結)、主題、使用者的封面圖片(影片資料夾中的 cover.png,若無則使用 <skill>/assets/cover/cover-template.png 並告知使用者)、可用磁碟空間(df -h /)。讀取有用的 references/ 內容和專案記憶。
  2. 分析參考資料(如果有的話):提取音訊,使用 Scribe 進行轉錄,逐幀檢視影片,撰寫 _reel/reference/reel_analysis.md。請參閱 references/script.md。
  3. 撰寫腳本以及承諾的指南:_reel/script.md,確保每個宣稱屬實。請參閱 references/script.md。
  4. 建立專案:執行 zsh <skill>/scripts/new_reel.sh "<video folder>",然後填寫 remotion/reel.json。請參閱 references/editing.md。
  5. 免費動態腳本:執行 python3 <skill>/scripts/fake_words.py,接著執行 python3 scripts/build_reel.py(此腳本會檢查 reel.json),然後產生幾張靜態圖。檢查腳本是否適合在畫面上顯示?
  6. 語音:錄製 2 次 ElevenLabs 錄音,對選定的錄音使用 Scribe 產生逐字時間戳記,進行不中斷的處理。請參閱 references/voice.md。
  7. Atlas Cloud 開場鏡頭(可選,建議使用):起始圖片、結束圖片、Kling 處理、根據語音重新調整時間。請參閱 references/opening-shot.md。
  8. 場景:根據 src/reel/BRIEF.md 逐節處理,然後每組場景由一個 Agent 平行處理,並由一個檢查 Agent 負責。請參閱 references/editing.md 和 references/scene-rules.md。
  9. 封面:吸引點擊的標題和標誌。請參閱 references/cover.md。
  10. 使用靜態圖檢查,修正問題後,再進行渲染:在背景執行 zsh scripts/render_final.sh(90 秒的影片約需 10 到 15 分鐘)。
  11. 驗證最終檔案並撰寫 exports/instagram.md。請參閱 references/checks.md。
  12. 完成:專案 README、專案記憶、清除中間檔案、傳送檔案、提供摘要,並說明哪些項目仍需要收聽或決定。

自動模式

如果請求來自排程任務,或是使用者要求處理 inspiration/ 資料夾,請遵循 references/autonomous-mode.md:不詢問問題、成本上限、指南、排程發布、通知。

Reel 的成功要素

  • 鉤子在 3 秒內出現,附帶證明或承諾,並且在封面之後的第一個畫面就能閱讀。
  • 可見的開放式循環:N 個編號的空框,形成進度條。
  • N 個相同形式的主題,難度和價值遞增,最好的一個放在最後,並由一個重新鉤子宣布。
  • 單一鏡頭:相同的背景,相同的視窗。從不硬切。
  • 每次出現都與語音同步,畫面從不超過 1.5 秒沒有任何變化。
  • 快速回顧,接著是一句能改變觀眾對主題看法的關鍵語。
  • 由動作組成的結尾,既要說出來也要展示出來:游標點擊訂閱、點擊 bio 連結、然後輸入關鍵字。
  • 循環:最後一句話引導回第一句,最後一幀又變成第一幀。

指南

閱讀時機
references/script.md分析參考資料、撰寫腳本、選擇關鍵字和指南
references/voice.md產生語音、取得單詞、不中斷地處理音訊
references/opening-shot.md開場鏡頭的提示詞與時間重設、費用
references/editing.md專案佈局、reel.json、Agent、檢查靜態圖、渲染
references/scene-rules.md提供給撰寫場景的 Agent 的規則
references/cover.md標題、標誌、格式、設定為第一幀
references/checks.md最終檔案檢查、說明文字、哪些項目留給人類處理
references/autonomous-mode.md單獨處理 inspiration/ 資料夾中的檔案,從參考資料到排程發布

assets/reel-template/ 是 Remotion 專案。assets/example-this-voice/ 包含整個已驗證的 Reel:腳本、分析、實際場景、簡報。這是品質參考:在撰寫場景前,請先閱讀其 README.md,然後至少閱讀 Stakes.tsx 和 Setting2.tsx。assets/example-6-tools/ 提供了可重複使用的場景,適用於排名或分層列表。

已付費的教訓

  • 錄製兩次時,Scribe 轉錄的是第二次:請閱讀結果中的 source.url,並保留它實際轉錄的那次錄音。
  • Scribe 的 words.json 包含標籤([softly])和作為單詞的「:」:請移除它們,並在 scribe_words.json 中保留 {"words": [...]} 的結構。
  • 在「Subscribe」之前的一句台詞導致視窗空白:CtaGuide.tsx 現在會在該段時間顯示「Save」。
  • 提示音和閃光效果蓋過了關鍵字和關鍵語(關鍵字處語音為 -1.9 dB):模板中已降低音量。但仍需檢查最緊密的段落。
  • Whisper 會偏移和出錯:時間資訊來自 Scribe,文字來自腳本(build_reel.py 負責對齊兩者)。
  • 包含「Claude」的 Whisper 提示詞會讓它把「clone」讀成「Claude」。請在不使用提示詞的情況下檢查,並使用時間戳記:-nt 會跳過句子。
  • 鉤子關鍵詞上的音效會遮蔽語音:請將音效放在該詞結束之後(測量至少 7 dB 的差距)。
  • 場景恰好在其段落結束時停止,會切斷結尾的標記:場景之間需要重疊(Reel.tsx 中的 STAGES),並且標記要從句子開頭就放置。
  • 當句子宣布一個列表時,空白的視窗看起來很奇怪:請從句子開頭就放置虛線佔位符。
  • 數字寫成單字會破壞字幕頁面:build_reel.py 會將「5 settings」保持在一起。
  • GPU 渲染會導致元素每三幀消失一幀:請始終使用 GL=swangle CONCURRENCY=1(render_final.sh 中已設定)。
  • 影片上不要使用 3D 變換、不要使用 mixBlendMode,確保 React key 唯一。
  • chrome-headless-shell 會掛起:請使用 CHROME_MODE=chrome-for-testing(腳本中已設定)。
  • 渲染後重做句子:保留已驗證的語音,一次性生成結尾,然後在停頓處拼接(references/voice.md)。
  • 在封面上,縮小為符號的品牌標誌可能被誤讀:ElevenLabs 的兩條橫槓看起來像暫停按鈕,因此其名稱保持寫在下方。

相關技能