Communitygithub.com

LawrenceHua/ai-ugc-video-pipeline

一個經過強化的閘控管線,用於製作短影音形式的 AI 生成「UGC 風格」行銷影片,包含經同意鎖定的虛擬主持人、真實產品素材與詞彙彈出字幕——並內建針對媒體驗證、音訊同步與評判幻覺等陷阱的修復,避免這些管線悄悄產出有問題的成品。

ai-ugc-video-pipeline 是什麼?

這是一套專為短影音(9:16 直式)AI 行銷影片設計的生產管線,解決了虛擬主持人 + 真實產品畫面 + 自動字幕組合中常見且難以察覺的失敗模式。這些失敗不會在 ffprobe 或時間軸跳躍測試中顯現,只能在真實裝置播放時才爆發。 管線強制實行六個不可協商的階段:PREP(事前研究與預算設定)、CALIBRATE(短樣本校準)、GENERATE(最低限度生成)、ASSEMBLE(使用特定 ffmpeg concat 過濾器以避免音訊脫落)、VERIFY(執行媒體驗證與誠實性預檢)與 DELIVER(人工審核後才發佈)。其中特別針對兩大音訊錯誤——音軌短於影像軌導致時間軸滑移,以及 concat demuxer 的封包時間戳間隙——提供了強制修復手段。 此外,管線內建 LLM 評判者幻覺防範機制,要求對任何音訊相關的評判結果先以確定性探測(如完整轉錄與封包間隙掃描)交叉驗證,並在所有資產發佈前執行自動化誠實性與安全預檢,確保沒有虛假宣稱、未授權使用他人肖像或品牌名稱外洩。預算紀律則透過前期設定上限與中期基於證據停止生成,避免無止盡的浪費。 支援平台為 Claude Code 等可安裝技能的 AI 代理,透過將資料夾放入 ~/.claude/skills/ 或專案內 .claude/skills/ 使用;本技能提供的是方法論與修復技巧,而非特定供應商整合。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/LawrenceHua/skills-log/tree/HEAD/skills/ai-ugc-video-pipeline

在你喜歡的 AI 中提問

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

說明文件

ai-ugc-video-pipeline 是做什麼的?

短影音形式的 AI 虛擬主持人行銷影片(說話人頭 + 真實產品素材 + 字幕)有一系列特定的失敗模式,這些模式在真實裝置上播放最終檔案之前不會顯現——而不是在 ffprobe 中,也不是在腳本裡跳過時間軸檢查時。這是一套閘控管線,能在傳遞前捕捉這些問題,再加上兩個即使你知道也可能會輕易重新引入的音訊錯誤。

使用時機

  • 製作短影音(直式,9:16)AI 虛擬主持人產品/行銷影片。
  • 重新剪輯或迭代現有影片。
  • 任何透過 ffmpeg 組裝 AI 生成的說話人頭素材 + 真實螢幕錄製 + 生成字幕的管線。

不可協商的階段順序——每個階段都會閘控下一個

  1. PREP(在此階段綠燈前不花任何錢)。 研究目前虛擬主持人/語音生成的模型環境(這些 API 的定價和端點每月都在變動——在投入花費前,請根據即時供應商文件進行驗證)。撰寫幾個腳本變體,讓文字評判選出一個,準備好你的臉部/語音參考素材(包含所使用身分的真實、有記錄的同意書),捕捉你將合成的真實產品畫面,並在花費任何錢之前寫好評分標準以及嚴格的預算上限。
  2. CALIBRATE(校準)。 先產生一個短小、便宜的片段,以驗證畫面構圖與身分接受度,然後再投入完整長度的拍攝。如果構圖錯誤,請修正你餵給模型的參考影像,而不是更換模型。
  3. GENERATE(生成)。 最少、有策略的拍攝次數。僅在你有證據顯示某個供應商/模型表現不佳時,才進行 A/B 比較——不要亂槍打鳥式地發送請求。一旦分數趨於平緩就停止生成;限制付費迭代次數(例如,除非分數仍在上升,否則在 2 次後停止)。
  4. ASSEMBLE(組裝)。 使用 ffmpeg 的 concat 過濾器(而非 demuxer)進行最終組裝(原因見下方音訊錯誤)。每次重建都使用新檔名——永遠不要原地覆蓋,這樣你總是可以與上一個好版本進行比對。
  5. VERIFY(驗證)。 執行你的媒體驗證閘控(見下方)以及對每個腳本/字幕/文案資產的文字/誠實性預檢。任何閘控失敗都不得交付。
  6. DELIVER(交付)。 將檔案交給人類進行最終核准,並附上一份簡短的評分/備註文件。發佈到任何平台始終是人類閘控的決定——絕不自動發佈。如果虛擬主持人是逼真的合成肖像,請使用平台的 AI 內容揭露開關,即使你已另外刻意在影片中加入揭露資訊。

如果不加以防範,會默默出貨的兩個音訊錯誤

  1. 某個片段的音軌比影像軌短(語音在影片片段結束前就結束)。在串流複製的 concat 中,音訊時間軸會滑移,並在最終檔案中途有效提前結束。修復: 將每個片段的音訊填補至與其影片長度相同,並在串聯前將所有片段正規化為相同的取樣率/聲道數。
  2. 即使有填補,concat demuxer 仍可能因音訊持續時間的捨入而留下微小(約 0.1 秒)的封包時間戳間隙。直接解碼的工具(ffmpeg、轉錄工具)可以順利播放這些間隙,不會標記任何問題——但某些真實播放器會在第一個間隙處直接停止音訊,所以一個通過你自動檢查的檔案,對實際觀眾來說可能是壞的。修復: 使用單次傳遞的 concat 過濾器(而非 demuxer)進行最終組裝,並強制將音訊重新取樣為連續、無間隙的時間軸。

能捕捉這兩者的探測: 掃描最終檔案的音訊封包時間戳,尋找任何大於約 50 毫秒的間隙。以真實播放器消費媒體的方式驗證媒體——即連續解碼 + 完整檔案轉錄——而不是跳轉到時間戳進行取樣,因為後者可能會在你試圖捕捉的那個間隙周圍悄悄自動重新同步。

評判者協議——LLM 評判者會對媒體產生幻覺,請交叉驗證它們

  • 針對固定的、適度壓縮的代理版本進行評分(過度激進的壓縮會誇大瑕疵,使分數偏向格式,而非內容)。
  • 在根據評判者關於音訊的聲明採取行動之前,請使用確定性探測(轉錄 + 上述封包間隙掃描)對其進行交叉驗證。評判者稱「有問題」可能對也可能錯——不要憑感覺信任或駁回它;先執行確定性檢查,然後再做決定。
  • 對於 A/B 比較:使用相同的音軌、固定的標準、一致的順序,並強制使用結構化輸出——自由形式的評判者意見更難據以行動,且更容易被合理化。
  • 預期評判者會很嚴厲。根據證據(每個確定性閘控綠燈 + 實際人類的核准)出貨,絕不單獨根據評判者的判決。

誠實性與安全閘控——將這些編碼為程式碼,而非感覺檢查

在每個腳本/字幕/文案資產出貨前,對其執行自動化預檢:

  • 沒有關於產品能力或結果的虛假聲明。
  • 未經同意不得使用任何人的臉部或聲音——在使用任何真人肖像進行生成前,取得並記錄真實同意,並檢查生成提供者自身關於基於身分生成的使用政策。
  • 不得將實際上是生成/模擬的結果呈現為真實用戶成果。
  • 任何不該公開的品牌或產品名稱,不得出現在腳本、字幕和發佈備註中。
  • 發佈本身始終是一個獨立、由人工閘控的步驟——管線的任務止於「準備審查」,而非「已發佈」。

預算紀律

根據你在 PREP 階段設定的嚴格上限,維持一份持續的帳目(每次生成的預估與實際),並在分數趨於平緩時停止生成,而不是繼續花費以追求邊際效益遞減。事先制定預算,並根據證據(而非「再多拍一次」)停止,是讓此管線保持可負擔的關鍵。

使用方式

安裝: 將此資料夾複製到 ~/.claude/skills/ai-ugc-video-pipeline/ 以供個人使用,或複製到專案儲存庫內的 .claude/skills/ai-ugc-video-pipeline/。你需要自行整合你選擇的虛擬主持人/語音生成供應商以及螢幕錄製工具——本技能提供的是閘控方法論與經過實戰驗證的失敗模式修復,而非特定供應商整合。

呼叫方式:

帶我跑一遍 ai-ugc-video-pipeline 的 PREP 階段,針對一個 30 秒的產品展示影片——在我們生成任何東西之前,幫我撰寫腳本變體和預算帳目。
我組裝好的影片在某些播放器中音訊會中途中斷,但在 ffplay 中播放正常。請使用 ai-ugc-video-pipeline 的音訊錯誤章節來診斷並修復它。

Individual skills in this repo

This repo contains 3 individual skills — each has its own dedicated page.

相關技能