Communitygithub.com

廣告品牌更換 (Ad Rebrand)

將現有影片與圖片廣告中的品牌與產品名稱全面更換——包括語音(使用原始說話者之複製語音)、字幕與所有畫面內的標誌、標籤等視覺元素,並可選擇產出更具吸引力的剪輯版本。

廣告品牌更換 (Ad Rebrand) 是什麼?

此技能提供一個自動化工作流程,用於在品牌或產品重新命名後,對一批現有廣告進行完整的品牌更換。它能處理語音(透過語音複製技術重新錄製)、螢幕字幕(以原始字體重新排印)以及所有視覺元素,例如商標、皮革標籤、裝置標籤、包裝、袋子、網頁螢幕截圖、招牌和片尾卡。該系統利用子代理(Subagents)進行平行處理,以提高效率,並先使用 Whisper 進行語音轉錄與聲紋分析,再透過 Fish API 或 Fish Audio 網頁應用程式建立語音複製。視覺部分則使用 OpenCV、Python 腳本與預設的程式庫來進行文字替換與遮罩處理。最後一步包含嚴格的品質控制,透過轉錄比對與逐幀檢查來驗證更換結果。此外,它還包含選用的「更吸引人的剪輯」功能,可透過調整節奏、加入標註與音效來提升廣告的參與度。此技能適用於 Claude Code 與類似平台,並仰賴 ffmpeg、Whisper 與 Python 環境。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/BiggFig/ad-rebrand/tree/main

在你喜歡的 AI 中提問

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

說明文件

廣告品牌更換 (Ad Rebrand) 是做什麼的?

將一批現有廣告轉換為新品牌:每個口頭提及皆以原始說話者的複製語音重新配音,每個字幕皆以影片自身的字幕字體重新排印,每個畫面內的標誌/標籤/標記皆重新繪製或乾淨去除 — 同時保持廣告的其餘部分不變(相同的畫面、時間軸、音樂)。

使用子代理進行平行處理(Agent 工具,run_in_background: true,一個訊息啟動所有獨立代理)。提示模板位於:references/agent-prompts.md。開始前請先閱讀 references/lessons.md — 其中記錄了上一次執行時出錯的狀況。

首先需要確定的輸入

  • 舊名稱(產品與品牌)與新名稱 — 以及 Whisper 可能聽錯舊名稱的方式(例如 "physio rest"、"artivate")。
  • 檔案(影片、圖片)。在一個使用者可以保留的專案資料夾中工作(例如 ~/Downloads/ Video Edits);絕不編輯原始檔案。

工作流程

  1. 設定。 scripts/setup_jobs.sh PROJECT START_N video1 video2 … → job-NN/{assets/source.mp4,analysis,project,renders}。將圖片複製到 PROJECT/images/source/。環境:透過 Homebrew 安裝的 ffmpeg/whisper-cli,Python venv ~/.cache/video-studio-venv(包含 numpy、opencv-contrib、pillow、soundfile、demucs、torch;pyworld 用於歌唱詞語),whisper 模型 ~/.cache/whisper/ggml-small.en.bin。如果缺少,則進行安裝(Homebrew 需要在終端機分頁中使用使用者的密碼)。

  2. 分類(平行處理,每個影片一個代理)。 模板 §1。每個代理寫入 analysis/triage.json|md,內容包含精煉的語音時間範圍、說話者 + 乾淨的複製參考範圍、每個視覺/字幕出現的幀範圍以及異常情況。自行檢查圖片(以全解析度放大查看標籤/標記)— 許多圖片無需處理。

  3. 整合並詢問一次(AskUserQuestion):

    • 語音使用權:列出每一個必須複製的獨特聲音(將共用旁白的影片分組 — 比較人聲主幹的包絡線;比較中位數 F0 以區分說話者)。複製語音需要使用者明確同意每個聲音。
    • 任何非舊品牌但看起來有問題的內容:產品上的其他品牌標記、零售/代言場景(店員、商店標誌)、不一致的主張、因更名而產生的腳本冗餘。第三方浮水印:標記出來,絕不刪除。
    • 歌唱提及:說明需要重新調整音高,且需要人工聆聽。
  4. 立即啟動視覺團隊(模板 §2)— 它不依賴語音。將相同剪輯的影片分組給一個代理處理。圖片代理:模板 §5。

  5. 語音。 從每個工作的歌聲主幹中匯出複製參考(25–35 秒,不含品牌名稱)到 PROJECT/voice_refs/。優先使用 Fish API(examples/voice-splice/fish_tts_api.py,金鑰在 ~/.config/video-studio/.env 中),如果 API 額度足夠;否則在使用者 Chrome 的 Fish 網頁應用程式中建立私人複製 — references/fish-audio-web.md。在一個腳本中生成每個聲音的所有台詞,包含兩種版本,儲存到 voice_refs/takes/。

  6. 音訊團隊(平行處理,每個語音/工作群組一個代理)。 模板 §3 用於語音,§4 用於歌唱詞語。輸出:每個工作的 analysis/stems/vocals_nookwave.wav,並透過轉錄驗證。

  7. 一旦圖像與語音都準備就緒,立即組合每個工作: scripts/mux_final.py JOB OUT_NAME.mp4(更換品牌後的圖像 + 新歌聲 + 原始音樂主幹)。如果視覺代理回傳未完成的結果,請自行執行其 project/rebrand_job.py。

  8. 自行 QC 每個最終版本 — 代理的報告只是聲明,並非證明: scripts/check_final.py source.mp4 final.mp4 --old "physio|fisio|artuvate|artivate" --new "nook" --frames <每個已修正項目的其中一個影格> → 幀數匹配、解碼乾淨、與來源相比的音量、零個口頭舊名稱,以及你必須查看的來源|最終比對表。如果總數看起來有問題,則在每個提及處周圍進行 5 秒視窗的逐點轉錄(全檔案 Whisper 會合併句子)。對於歌唱台詞,預期 Whisper 在原始版本上也會有困難。

  9. 交付。 最終檔案放在專案根目錄,使用描述性名稱,如果需要則建立一個 zip 檔(zip -0,影片已壓縮),並提供摘要:每個檔案變更的內容、需要人工聆聽的部分(歌唱詞語、較短名稱後的停頓長度)、已知不完美的影格,以及已標記的非品牌問題。

選用:更吸引人的剪輯

對於在品牌更換之上提出的 "讓它更吸引人" 的要求,examples/engagement-edit/ 包含計畫建構器(基於句子的保留清單,對齊安靜點、標註、拉近鏡頭)和渲染器(在跳接剪輯上交替縮放、品牌化標註、進度條、合成音效、在剪輯點修正字幕保持、loudnorm −14 LUFS)。重複使用而非重寫。

捆綁檔案

  • scripts/setup_jobs.sh、scripts/mux_final.py、scripts/check_final.py — 通用。
  • examples/ — 可運作的、來自首次執行的特定工作程式碼(路徑和幀編號是硬編碼的;請調整,不要盲目執行):
    • caption-and-tag-library/ — 字幕重繪、旋轉皮革標籤、弧形面板、袋子擦除、多尺度追蹤(rebrand_job01.py);字形裁剪字幕、雕刻/壓印標籤、追蹤袋子重新印刷(caption_lib.py、text_lib.py、track_lib.py、rebrand_job05.py)。
    • web-and-sign-library/ — 自訂字形字幕(captions.py)、建築招牌面板、網頁文字重新設定、標籤按壓、手動關鍵幀翻轉袋子(rbk.py、rebrand_job02.py)、筆記型電腦螢幕頁面(rebrand_job06_laptop.py)、評論頁面滾動、片尾卡標誌、第三方浮雕移除(rebrand_job07.py)、QC 對照表(visual_qc.py)。
    • voice-splice/ — 測量時間範圍的單詞替換,支援替換選項;Fish API 客戶端。
    • sung-word/ — 基於 WORLD 的重新演唱,疊加在原始旋律上。
    • still-image/ — 對包裝進行單應性文字替換。

相關技能