Communitygithub.com

Acim24/motion-video-audio

將文字與數據轉化為具有完整音樂、AI 語音旁白與音效設計的動態圖形影片(MP4 格式),風格為冷靜、編輯式的 AI 產品發布影片。

motion-video-audio 是什麼?

此技能專為開發者與內容創作者設計,能夠根據簡要描述,自動生成一支完整的發布、宣傳或解說影片。它結合了 Remotion 的程式化渲染能力與 edge-tts 的語音合成,產出 16:9 與 9:16 兩種比例的 MP4 檔案。影片視覺風格參考 AI 產品發布影片(如 Claude 系列),包含動態文字、Chat UI 演示、基準測試長條圖、計數統計以及標誌結尾等場景。音訊方面,除了可選的 AI 語音旁白(支援印尼語),還能自動生成原創的環境音樂、音效(如切換聲、打字聲、計數聲),並具備自動語音閃避(ducking)與音量正規化(-14 LUFS)功能。此技能支援 Claude Code、Coder、Cursor 等命令列工具,使用者只需提供品牌名稱、核心訊息等內容,即可在幾分鐘內獲得一支專業級的社群媒體影片。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Acim24/motion-video-skills/tree/HEAD

在你喜歡的 AI 中提問

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

說明文件

含音訊的動態影片(發布影片風格)

將簡要內容轉化為一支完成且經過母帶處理的 MP4 檔案:包含發布影片風格的視覺(溫暖紙張、大型襯線標題、一個陶土色強調色、自動打字的聊天對話、揭示優勝者的長條圖、低調的標誌結尾)以及完整的配樂:

  • 語音旁白 — 每個場景可選一個 vo 行,使用 edge-tts 合成。場景會根據旁白長度自動調整大小。
  • 音樂 — 根據精確時間軸合成的原創環境配樂(Pad、Sub、鋼琴琶音、柔和脈衝、Riser,以及在標誌畫面上解決的高潮音)。由於是從程式碼生成,因此無版權問題。或者使用使用者自己的音軌。
  • 音效 — 切換時的呼嘯聲、文字/長條圖上的滴答聲、回覆打字時的打字聲、優勝長條圖上的叮噹聲、計數器的滴答聲、標誌上的撞擊聲與閃爍聲。這些音效放置在場景元件內,因此能自動保持同步。
  • 混音 — 音樂在旁白下自動閃避;最終檔案正規化為 -14 LUFS / -1.5 dBTP(社群媒體/YouTube 目標)。

所有內容都位於一個檔案 src/storyboard.ts 中。

工作流程

  1. 了解簡要內容。 取得:品牌/產品名稱、一個要記住的核心訊息、2–5 個支援要點、真實數字(如果有)、目標長度、平台、旁白語言與語音性別。如果使用者已提供足夠資訊,就不要反覆詢問;說明你的假設。切勿將虛構的基準測試數字呈現為真實數據——請使用明顯標示的佔位符(footnote)或跳過基準測試。

  2. 建立專案結構。

    bash <skill-dir>/scripts/new_project.sh <target-dir>
    

    需要 Node 18+、ffmpeg,以及 PATH 上的 edge-tts(使用 pipx install edge-tts 安裝),且需要網路連線以取得旁白。先用 which edge-tts ffmpeg 檢查;如果缺少 edge-tts 且無法安裝,則在不使用 vo 的情況下建置,並告知使用者。

  3. 撰寫分鏡表。 閱讀 references/style-guide.md(視覺節奏、文案撰寫、食譜)和 references/audio.md(旁白撰寫、語音、音樂/音效/混音設定)。場景類型(src/types.ts 中的欄位):

    類型用途
    headline動態文字:開場、章節標題、結尾語。*word* = 強調斜體
    chatUI 演示:提示 → 思考點 → 打字回覆(附帶打字聲)
    benchmark水平長條圖,其中一條 highlight: true 的長條(到達時發出叮噹聲)
    bigNumber一個計數遞增的大數字(計數器滴答聲 + 撞擊聲)
    features2–4 個編號的功能卡片(每個卡片彈出)
    logo結尾:繪製標記或 logoSrc、名稱、標語、行動呼籲(音樂高潮在此處落地)

    每個場景:可選的 vo、可選的 durationInFrames(30 fps;在具有旁白的場景中省略以自動適應)。可選的 tone: 'light' | 'dark'。在 logo 場景中不要設定 vo——讓音樂高潮得以呼吸。

  4. 建置音訊 — 這也會確定最終時間軸:

    cd <target-dir> && npm run audio
    

    閱讀列印出的時間軸:每個場景的開始、長度、旁白長度,以及「(拉伸以適應旁白)」的警告。如果某個場景被大幅拉伸,請縮短其 vo — 過長的旁白會導致場景緩慢且沈悶。

  5. 視覺品質檢查(靜態圖片很快,渲染則不然):

    npx tsc --noEmit
    bash <skill-dir>/scripts/contact_sheet.sh <target-dir> Main-16x9 /path/sheet-wide.png
    bash <skill-dir>/scripts/contact_sheet.sh <target-dir> Main-9x16 /path/sheet-tall.png
    

    檢視 PNG 檔案;修正溢位、擁擠、每個場景超過一個強調色的問題。

  6. 音訊品質檢查(無需用耳聽)— 渲染後,檢查響度並檢視混音:

    ffmpeg -i out/video-16x9.mp4 -af ebur128=peak=true -f null - 2>&1 | grep -E "I:|Peak:"
    ffmpeg -y -i out/video-16x9.mp4 -filter_complex "showwavespic=s=1800x300" -frames:v 1 /path/wave.png
    

    預期 I ≈ −14 LUFS,峰值 ≤ −1 dBFS,旁白 bursts 清晰突出於音樂背景之上,且最大的波動出現在標誌處。

  7. 渲染(執行 audio → 兩種格式 → 母帶處理):

    npm run render     # → out/video-16x9.mp4, out/video-9x16.mp4
    

    ~30 秒的影片約需 1–2 分鐘。輸出路徑、時長、使用的語音,並提及 npm run studio 可進行含音訊的即時預覽。

自訂

  • 品牌顏色/字型:僅修改 src/theme.ts 中的 token。
  • 標誌:檔案放在 public/ 目錄中,設定 logoSrc: 'logo.svg'。
  • 自有音樂:檔案放在 public/ 目錄中,設定 audio.music: 'track.mp3'(僅限使用者擁有權利之音軌)。自有錄製旁白:請參閱 references/audio.md。
  • 新的場景類型 / 格式 / 編解碼器:請參閱 references/extending.md。

品牌與誠信護欄

模仿其風格,而非品牌:請勿重製 Anthropic(或任何其他人)的標誌,或將影片呈現為使用者所不代表之公司的官方發布內容。合成語音不得模仿真實、可識別的個人。基準測試:使用真實使用者數據或明顯標示為示意用途。

相關技能