Communitygithub.com

michaelboeding/skills

使用此技能即可建立包含旁白和背景音樂的完整影片。

skills 是什麼?

此技能是一個「編排者技能」,可自動化整個影片製作流程,從腳本構思到最終輸出。它能有效協調多種 AI 服務:利用 Claude 進行腳本與故事板生成、Gemini TTS 進行旁白合成、Lyria 產生背景音樂、Veo 3.1 生成影片片段或進行圖片動畫,最後透過 FFmpeg (經由 media-utils) 完成最終組裝。透過詳細的問答流程,引導您指定主題、長度、風格、畫質與音訊策略,並自動初始化專案結構,將場景、音訊與最終成果井然有序地存放。此技能特別適合行銷人員與開發者快速製作產品展示、解說、促銷或教學影片,支援主流社群媒體格式(16:9、9:16、1:1),讓您無需手動操作多項工具即可產出專業級內容。

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

在你喜歡的 AI 中提問

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

說明文件

影片製作人

建立包含旁白、音樂和視覺效果的完整影片。

這是一個編排者技能,它結合了:

  • 腳本/故事板生成 (Claude)
  • 旁白合成 (Gemini TTS)
  • 背景音樂 (Lyria)
  • 影片片段生成 (Veo 3.1) 或圖片動畫
  • 最終組裝 (FFmpeg 透過 media-utils)

工作流程

第一步:收集需求(必填)

⚠️ 請勿跳過此步驟。在獲得所有答案之前,請勿執行 init_project.py。

使用互動式提問 — 每次只問一個問題,等待回應後再問下一個。這能建立協作性的規格驅動流程。

提問流程

⚠️ 對以下每個問題使用 AskUserQuestion 工具。 不要只在回覆中列印問題 — 請使用該工具來建立互動式提示,並顯示提供的選項。

Q1:主題

「我來製作那個影片!首先 — 這是關於什麼的?

(例如:產品發布、品牌故事、教學、解說 — 或描述你自己的主題)」

等待回應。

Q2:時長

「影片要多長?

  • 15 秒 (快速吸引)
  • 30 秒 (標準廣告)
  • 60 秒 (解說)
  • 2 分鐘以上 (詳細)
  • 或指定你自己的時長」

等待回應。

Q3:風格

「什麼視覺風格?

  • 高級/奢華
  • 有趣/活潑
  • 企業/專業
  • 戲劇化/電影感
  • 簡約/乾淨
  • 或描述你自己的風格」

等待回應。

Q4:素材

「你有現成的圖片或影片片段可以使用嗎?

  • 沒有,全部生成
  • 有,我有圖片 (提供路徑)
  • 有,我有影片片段 (提供路徑)」

等待回應。

Q5:音訊策略

「我們該如何處理音訊?

  • 自訂 — 我生成旁白 + 背景音樂
  • Veo 原生 — 使用 Veo 內建的對話/音效/環境音
  • 靜音 — 無音訊,稍後再加入」

等待回應。

Q6:語音 (如果選擇自訂音訊)

「旁白要用什麼語調?

  • 專業
  • 友善/溫暖
  • 充滿活力
  • 平靜/舒緩
  • 戲劇化
  • 或描述你自己的語調」

等待回應。

Q7:音樂 (如果選擇自訂音訊)

「什麼音樂風格?

  • 現代電子
  • 電影感/史詩
  • 歡快流行
  • 氛圍/輕鬆
  • 企業風格
  • 或描述你自己的風格」

等待回應。

Q8:格式

「什麼畫面比例?

  • 16:9 (YouTube、網頁)
  • 9:16 (TikTok、Reels、Shorts)
  • 1:1 (Instagram 貼文)」

等待回應。

Q9:解析度

「什麼解析度?

  • 720p (生成較快)
  • 1080p (標準 HD)」

等待回應。

Q10:模型

「哪個 Veo 模型?

  • veo-3.1 — 最新、最高品質(預設)
  • veo-3.1-fast — 生成更快,品質略低
  • veo-3 — 前一代
  • veo-3-fast — 前一代,更快」

等待回應。

快速參考

問題決定項目
主題場景內容與提示詞
時長場景數量(Veo 片段必須為 4、6 或 8 秒)
風格視覺提示詞與音樂選擇
素材生成 vs 使用現有
音訊custom、veo_audio 或 silent
語音TTS 語音選擇
音樂Lyria 提示詞
格式Veo 的畫面比例
解析度720p 或 1080p 輸出品質
模型veo-3.1、veo-3.1-fast、veo-3、veo-3-fast

第二步:初始化專案

獲得使用者的答案後,使用他們的偏好設定初始化專案:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/init_project.py \
  --name "Product Launch Video" \
  --duration 30 \
  --aspect-ratio 16:9 \
  --audio-strategy custom \
  --scenes 5

第三步:設定 project.json

根據使用者的答案,編輯 project.json 中的場景提示詞、旁白文字和音樂風格。

第四步:組裝影片

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-producer-agent/scripts/assemble.py \
  --project ~/my_video_project/

專案結構

初始化專案時,會建立以下資料夾結構:

my_project/
├── project.json          # 設定:場景、旁白、音樂、設定
├── storyboard.md         # 影片規劃文件
├── scenes/               # Veo 生成的影片片段
│   ├── scene1_intro.mp4
│   ├── scene2_features.mp4
│   └── scene3_cta.mp4
├── audio/                # 音訊素材
│   ├── voiceover.wav     # 生成的旁白
│   ├── background_music.wav  # 生成的音樂
│   └── final_mix.mp3     # 混音後的音軌
├── work/                 # 中間檔案(自動生成)
│   ├── silent_scene1.mp4
│   ├── video_concatenated.mp4
│   └── ...
└── output/               # 最終交付物
    └── product_launch_video_final.mp4

指令碼

init_project.py

初始化新的影片專案,建立資料夾結構和範本。

# 基本專案
python3 init_project.py --name "My Video" --duration 30

# 在指定目錄中建立
python3 init_project.py --name "Demo Video" --output ~/Videos/

# 社群媒體直式影片
python3 init_project.py --name "Instagram Reel" --aspect-ratio 9:16 --duration 15

# 使用 Veo 原生音訊(無自訂旁白/音樂)
python3 init_project.py --name "Cinematic Scene" --audio-strategy veo_audio

# 更多場景
python3 init_project.py --name "Long Video" --duration 60 --scenes 5

選項:

選項預設值說明
--name必填專案名稱
--output當前目錄上層目錄
--duration30目標時長(秒)
--aspect-ratio16:916:9、9:16、1:1、4:3
--audio-strategycustomcustom、veo_audio、silent
--scenes3場景佔位符數量

assemble.py

編排完整的影片組裝流程。

# 完整流程(生成所有內容 + 組裝)
python3 assemble.py --project ~/my_project/

# 跳過生成(使用現有的場景/音訊檔案)
python3 assemble.py --project ~/my_project/ --skip-generation

# 試運行(顯示將要執行的操作)
python3 assemble.py --project ~/my_project/ --dry-run

流程步驟:

  1. 生成影片場景 (Veo 3.1)
  2. 從場景中移除音訊(如果使用自訂音訊)
  3. 生成旁白 (Gemini TTS)
  4. 生成背景音樂 (Lyria)
  5. 混合旁白 + 音樂
  6. 串接影片片段
  7. 將音訊與影片合併
  8. 輸出最終影片

project.json 設定

{
  "name": "Product Launch Video",
  "duration_target": 30,
  "aspect_ratio": "16:9",
  "resolution": "720p",
  "audio_strategy": "custom",
  
  "scenes": [
    {
      "id": 1,
      "name": "scene1_hero",
      "prompt": "Cinematic slow zoom on premium product, dramatic lighting, high-end commercial style",
      "duration": 6,
      "notes": "Music only, no voiceover"
    },
    {
      "id": 2,
      "name": "scene2_features",
      "prompt": "Product features demonstration, sleek animations, modern tech aesthetic",
      "duration": 8,
      "notes": "Voiceover starts here"
    },
    {
      "id": 3,
      "name": "scene3_cta",
      "prompt": "Product with logo on clean background, call to action moment",
      "duration": 6,
      "notes": "Music swells, voiceover ends"
    }
  ],
  
  "voiceover": {
    "enabled": true,
    "text": "Introducing the future of audio. Crystal clear sound. All-day comfort. Experience the difference.",
    "voice": "Charon",
    "style": "Professional, confident, premium brand voice"
  },
  
  "music": {
    "enabled": true,
    "prompt": "modern electronic, premium, sleek, product showcase, subtle bass",
    "duration": 35,
    "bpm": 100,
    "brightness": 0.6
  },
  
  "assembly": {
    "transition": "fade",
    "transition_duration": 0.5,
    "music_volume": 0.3,
    "fade_in": 1.0,
    "fade_out": 2.0
  }
}

音訊策略

策略說明使用時機
custom移除 Veo 音訊,加入自訂旁白 + 音樂大部分影片
veo_audio保留 Veo 生成的音訊(對話、音效)電影場景、對話
silent移除音訊,輸出無聲影片稍後再加入音訊

工作流程:建立影片

第一步:初始化專案

python3 init_project.py --name "Wireless Earbuds Promo" --duration 30

第二步:規劃故事板

編輯 storyboard.md 來規劃你的影片結構:

## 場景 1:主角揭曉 (0-5s)
- 視覺:耳機從陰影中浮現,高級燈光
- 音訊:僅音樂(戲劇性開場)

## 場景 2:音質 (5-12s)
- 視覺:聲波,享受音樂的人
- 音訊:旁白:「清澈透亮的聲音。沉浸式低音。」

## 場景 3:舒適度 (12-20s)
- 視覺:貼合度特寫,正在跑步的人
- 音訊:旁白:「全天候舒適。穩固貼合。」

## 場景 4:行動呼籲 (20-30s)
- 視覺:產品 + 標誌
- 音訊:旁白:「體驗不同凡響。」+ 音樂漸強

第三步:設定 project.json

根據你的故事板,填入場景提示詞、旁白文字和音樂風格。

第四步:組裝

python3 assemble.py --project ~/wireless_earbuds_promo/

第五步:檢視與疊代

檢查 output/ 中的輸出。如果需要調整:

# 使用現有場景重新執行(僅重新混音)
python3 assemble.py --project ~/wireless_earbuds_promo/ --skip-generation

你可以建立的內容

類型範例
產品影片30 秒產品展示影片
解說影片操作說明或功能介紹
宣傳/廣告影片行銷廣告
展示影片產品示範
教學影片內部訓練內容
見證影片客戶推薦風格影片
品牌影片公司/品牌故事

先決條件

  • GOOGLE_API_KEY - 用於 Veo(影片)、Gemini TTS(語音)、Lyria(音樂)
  • 已安裝 FFmpeg:brew install ffmpeg

影片風格與音樂搭配

風格音樂提示詞語音
高級/奢華"elegant, minimal, ambient, sophisticated"Charon (informative)
科技/現代"electronic, futuristic, clean, innovative"Kore (firm)
有趣/活潑"upbeat, cheerful, acoustic, positive"Puck (upbeat)
企業風格"professional, inspiring, orchestral lite"Orus (firm)
生活風格"chill, aspirational, indie, warm"Aoede (breezy)
戲劇化/電影感"epic, orchestral, emotional, building"Gacrux (mature)

常見影片結構

產品影片 (30s)

0-5s:   主角畫面(僅音樂)
5-15s:  功能介紹(旁白 + 音樂)
15-25s: 生活/使用情境(旁白 + 音樂)
25-30s: 標誌 + 行動呼籲(音樂淡出)

解說影片 (60s)

0-5s:   鉤子/問題陳述
5-20s:  解決方案介紹
20-45s: 運作方式(3 個步驟)
45-55s: 優點總結
55-60s: 行動呼籲

見證影片 (45s)

0-5s:   開場/姓名卡
5-35s:  見證引言(多個場景)
35-45s: 產品畫面 + 標誌

手動工作流程(不使用指令碼)

如果你偏好手動執行每個步驟:

生成場景:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/video-generation/scripts/veo.py \
  --batch scenes.json

生成旁白:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/voice-generation/scripts/gemini_tts.py \
  --text "Your voiceover text..." \
  --voice Charon \
  --style "Professional, warm"

生成音樂:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/music-generation/scripts/lyria.py \
  --prompt "modern electronic, premium" \
  --duration 35

從片段中移除音訊:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_strip_audio.py \
  -i scene*.mp4

串接影片:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_concat.py \
  -i silent_*.mp4 --transition fade -o video.mp4

混音:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/audio_mix.py \
  --voice voiceover.wav --music music.wav -o audio.mp3

合併音訊 + 影片:

python3 ${CLAUDE_PLUGIN_ROOT}/skills/media-utils/scripts/video_audio_merge.py \
  --video video.mp4 --audio audio.mp3 -o final.mp4

你可以提供的輸入檔案

檔案類型使用方式
產品圖片作為第一幀用 Veo 動畫化
標誌 (PNG)疊加在最終場景上
現有旁白放置在 audio/voiceover.wav
品牌音樂放置在 audio/background_music.wav
影片片段放置在 scenes/ 資料夾
腳本/文案用於旁白文字

限制

  • Veo 影片時長:每個片段最長 8 秒(可串接以延長)
  • Veo 3.1 包含音訊:所有片段都帶有生成的音訊(如果使用自訂音訊則需移除)
  • 處理時間:每個片段的影片生成需要 1-3 分鐘
  • 解析度:目前支援 720p 或 1080p(僅 8 秒片段支援 1080p)

錯誤處理

錯誤解決方案
"GOOGLE_API_KEY not set"依 README 設定 API 金鑰
"FFmpeg not found"安裝:brew install ffmpeg
"project.json not found"先執行 init_project.py
影片生成逾時重試,或使用較短時長
音訊/影片同步問題調整場景時長

範例提示詞

簡單:

「為我的新咖啡機製作一篇 30 秒的產品影片」

詳細:

「為我們的新無線耳機製作一篇 45 秒的產品影片。高級、奢華感。我附上了產品照片。專業男性旁白。現代電子音樂。16:9 格式用於 YouTube。」

包含專案:

「初始化一個名為 'App Demo' 的影片專案,包含 5 個場景,總長 60 秒,直式格式用於 TikTok」

相關技能