Communitygithub.com

viethuynh243/video-studio

自動以一條指令建立與編輯專業影片——支援從分鏡腳本製作新片(含鏡頭邊界剪輯、流暢 Ken Burns 效果、字幕、越南語 TTS 旁白、背景音樂、LUFS 標準與字幕)、替換現有影片旁白(分離人聲與音樂、自動偵測句子時間點、重新錄製旁白並保留原背景音樂)、自動字幕、修正幀率抖動、自動 QC 檢查,以及偵測並修正「AI 廢文」。

video-studio 是什麼?

Video Studio 是一個專為 AI 代理(如 Claude Code、Coder、Codex 等)設計的全方位自動化影片製作技能。使用者只需一條指令,即可完成從腳本、分鏡、素材選擇、語音合成、音樂搭配、調色、字幕製作到最終 QC 的完整影片製作流程。此技能支援越南語 TTS(超過 25 種聲線)、自動偵測與修正幀率不匹配、智慧畫面重構(直式/方形)、自動 QC 報告(含跳格、閃爍、凍結、LUFS、語音同步度等檢查),並內建獨特的「AI slop 防護」機制——可自動偵測並修正那些空泛、無來源數據、未經證實的陳述、過於規律的剪輯節奏等 AI 生成常見問題。技能提供多種入口,包括 slash 指令(/video:make、/video:revoice 等)、MCP 工具(透過 `mcp__video-studio__*` 介面直接呼叫雲端功能),以及完整的 Python 腳本(autovideo.py、probe_qc.py、slop_guard.py 等),適用於從企業簡介、專案提案、微戲劇到社群短片等各類影片製作場景。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add viethuynh243/video-studio

在你喜歡的 AI 中提問

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

說明文件

Video Studio - 自動影片剪輯

此技能實際產出成品影片,而非僅提供教學指引。所有工作皆透過單一入口:scripts/autovideo.py。 專業知識(鏡頭角度、節奏、音效、字幕、CapCut、AI 影片、實戰經驗)收錄於 references/ 目錄, 以便在撰寫分鏡腳本與閱讀 QC 報告時做出正確決策。

腳本路徑:此檔案所在目錄的 /scripts/(依照 README 安裝於:~/.claude/skills/video-studio/scripts)。

0. 使用者斜線指令

/video:plan 討論點子 - 腳本 - 分鏡 - 燈光 · /video:make 製作新影片 · /video:revoice 重新配音 · /video:subs 字幕 · /video:reframe 轉換直式/方形畫框 · /video:library 素材庫 · /video:qc 檢查 · /video:voices 依用途選擇聲線 · /video:fix 修正跳格/fps/抖動 · /video:critic 獨立評論 · /video:slop 偵測與修正「AI 廢文」 · /video:capcut 推送至 CapCut。 使用者即使以自然語言表達(不輸入指令),系統仍會依據下方表格執行。

0b. MCP 工具 video-studio(優先使用)

若工作階段中存在 mcp__video-studio__* 工具,請直接呼叫它們,而非透過 Bash 執行腳本:

  • 快速工具:video_probe、video_qc、contact_sheet、voices_suggest、voices_catalogue、pronunciation_preview、shot_search、motion_stills、 slop_check、slop_compare。
  • 長時間任務(回傳 job_id,透過 job_status / job_list 追蹤):make_video、revoice_video、subtitle_video、convert_fps、 reframe_video、stabilize_video、motion_graphic、critic_kit、voice_samples。 一次性註冊:claude mcp add --scope user video-studio -e PYTHONIOENCODING=utf-8 -- python <repo>/scripts/mcp_server.py。

1. 依需求選擇指令

使用者想要執行
從點子/腳本 + 素材庫(影片、圖片)製作新影片撰寫 project.json(參照 templates/project_make.json)→ autovideo.py make project.json --out TEN_v1.mp4
替換現有影片的旁白 / 重新配音autovideo.py revoice VIDEO.mp4 --script loi.txt [--voice auto --muc-dich thoi_su] --out TEN_v1.mp4 [--subs]
為影片加入字幕autovideo.py subs VIDEO.mp4 --script loi.txt --out TEN_sub.mp4(自動以語音偵測句子時間點)
交片前檢查影片autovideo.py qc VIDEO.mp4(+ contact_sheet.py 以肉眼檢查)
任意 fps 轉換(24/25/30/50/60/120)、慢動作、修正跳格節奏fps_convert.py convert SRC OUT --fps 24 [--slowmo 4](使用 RIFE GPU)
橫式影片轉直式/方形(自動追蹤主體);虛擬 pan/zoom;防抖camera.py reframe / move / stabilize
從素材庫中選出最佳鏡頭、依描述搜尋shot_select.py scan / best / search
鏡頭間調色、電影調色grade.py match / look / apply
依平台匯出、偵測音樂節拍deliver.py export <preset> / beats
討論點子、分鏡、燈光、鏡位(剪輯前)/video:plan + references/11-dien-anh-cao-cap.md
路線動畫、章節卡、數據圖表(以程式碼製作動畫)motion_html.py stills/render + templates/motion/*.html,或使用 "nguon": {"html": ...} 鏡頭
腳本/影片聽起來像「AI 腔」:空話、無來源數字、未經證實的斷言、節奏過於規律、特效浮濫/video:slop(slop_guard.py 測量 → 新代理建議修正 → compare 重新測量)
送片前評審(由不同於剪輯者的人員執行)/video:critic(critic.py + 新代理,持續評審至所有項目 ≥ 8 分)
依用途選擇聲線voices.py suggest --muc-dich thoi_su --gioi-tinh nu,生成 2-3 種建議聲線樣本,讓使用者聆聽
將專案送入 CapCut 進行手動微調在 make/revoice 中加入 --capcut TEN_NHAP,或使用 capcut_api.py build --spec
AI 電影 / 微戲劇references/09-phim-ai-pipeline.md + storyboard.py jobs

所有指令皆自動執行:不會覆蓋現有檔案,中間檔儲存於 <out>_work/,並產生 BAO_CAO_QC.md(影像瑕疵、抖動程度、 LUFS、語音與腳本符合度百分比)。提交前請閱讀報告,並在回應中提及各項數據。

2. 為 make 建立 project.json(最重要)

  • 每個 canh(鏡頭)對應一句話。nguon(來源)可以是:{"file", "vao", "ra"}(影片)、{"anh", "hieu_ung": zoom_in|zoom_out|pan_left|pan_right}(圖片含效果)、{"mau": "#0E2440"}(純色)。
  • 鏡頭時長自動計算 = max(thoi_luong(指定時長), 語音長度 + 0.9 秒)。影片鏡頭會自動退回到原始鏡頭的範圍內;若來源不夠乾淨,系統會自動縮短鏡頭,不進行凍結。
  • 畫面必須與正在說的話匹配(正確的建築、正確的事件)- 使用 probe_qc.py --inventory + contact_sheet.py 在來源上選擇,不要憑檔名猜測。
  • chuyen_canh(轉場):同一個想法內使用 cut,更換想法/空間時使用 dissolve。鏡頭長度 ≤ 7-8 秒。
  • 旁白要像說話一樣自然;數字和單位保持原樣(119 km、100 km/h)- tts_vi.py 會自動標準化(連字號/破折號不會被讀成「到」)。
  • chu_tren_hinh(畫面文字):簡短,只包含旁白中出現的數據/名稱;不要使用「—」。
  • 進階功能:專案 fps 可任意設定(不同 fps 的來源會自動經 fps_convert 轉換),影片鏡頭可設定 slowmo、camera(虛擬推/搖)、on_dinh(穩定)、 khung_thong_minh(智慧畫面框,直式匯出時自動追蹤主體);專案可設定 mau(調色 + 電影風格)與 cat_theo_nhac(依音樂節拍剪輯)。
  • 聲線不受限制:"giong": "auto"(預設)會根據 "muc_dich"(用途:doanh_nghiep(企業)、thoi_su(新聞)、tai_lieu(紀錄片)、quang_cao(廣告)、 mang_xa_hoi(社群媒體)、huong_dan(教學)、sang_trong(莊重)、tre_em(兒童)、su_kien(活動))加上 "gioi_tinh"(性別)、"vung"(地區)、"am_sac"(音色:trầm/trung/sáng), 並依據各聲線的測量檔案(voices.py profile:發音準確度、音高、語速)來選擇。或可指定:VieNeu 聲線名稱、{"edge": "vi-VN-HoaiMyNeural"}(Edge TTS)、 {"clone": "mau_giong.wav"}(聲音克隆,需取得說話者同意),或直接為每個鏡頭錄製真實音檔 "ghi_am": "cau3.wav"。每個鏡頭/角色可擁有獨立聲線。 務必提供 2-3 種建議聲線(voices.py suggest)讓使用者聆聽後再確認。
  • 精確性:發音字典 templates/phat_am.json + 專案專屬 "phat_am"(縮寫、專有名詞);每句話會由 Whisper 回聽, 準確度低於 "do_chinh_xac"(0.97)的句子會自動重錄最多 "doc_lai" 次,並回報每句的準確度;字幕應根據每個字的實際時間點對齊。
  • 剪輯風格選項:"phong_cach":trang_trong(莊重) | dien_anh(電影感,letterbox 2.39,filmic) | tai_lieu(紀錄片) | nang_dong(動感,依節拍剪輯) | mang_xa_hoi (社群媒體,畫面框自動追蹤主體)。每個鏡頭的轉場可單獨設定:cut、dissolve、fade_black、dip_white、wipe_left/right、slide_left/right、zoom_in。 畫面框:"khung":fill(填滿裁剪) | fit_blur(完整顯示,背景模糊) | smart(智慧追蹤主體)。"letterbox": 2.39。所有選項可在每個鏡頭中覆寫。
  • 動態圖形:"nguon": {"html": "templates/motion/route_map.html", "params": {...}}(路線圖逐筆繪製、章節卡...)。make 會自動額外產出只有音樂的版本 _chi_nhac.mp4。大型專案前需提供導演簡報 + facts.md(參考 references/12)。
  • AI 廢文防護:"facts": "facts.md"(每個數字 + 原始句子 + 來源文件 + 日期)以及 "luat": ["~/.video_studio/luat/<khach>.json"] (客戶專屬規則手冊,存放於 repo 之外)。make 會自動檢查並在報告中記錄「AI 廢文防護」章節;"chan_khi_slop": true 可在發現虛構數字/違反規則時停止處理。 若客戶手動修改某句話,應將原始文字記錄至規則手冊(slop_guard.py ghi),以便後續影片自動偵測(參考 references/13)。
  • 自動選鏡:"kho_canh": "kho.json"(來自 shot_select.py scan --clip)與 "nguon": {"tim": "aerial view of a highway at sunset"} → 選取最匹配、長度足夠、未使用過、品質分數高的鏡頭。請使用英文撰寫搜尋描述。

3. 不變規則

  1. 不刪除/覆蓋交付檔。 新檔案使用 _vN 版本號。僅在使用者確認後才取代主要檔案:以 mv -n 將舊檔更名為 _luu_<mo_ta>、以 cp -n 複製新檔、以 cmp 驗證。
  2. 先測量再發言 - 使用 BAO_CAO_QC.md 中的數據;尚未測量則如實說明。
  3. 內容必須真實:正確的建築/單位,不得使用外國素材、QR 碼、廣告、不相干的標語、未經授權的人物。
  4. 翻譯必須 100% 忠於原意與語境;有疑問的句子應請教。
  5. 不代為輸入密碼/API 金鑰。
  6. 僅從可信任來源下載模型,優先使用 .safetensors 格式,並安裝於獨立 venv 環境。
  7. 以越南語溝通。
  8. 不交付虛構數字:畫面/旁白中的所有數字必須來自 facts 或標示為 [tính: ...](正在計算)。代理所撰寫的修正版本,必須通過 slop_guard.py compare 重新測量後才可接受(撰寫者不得自行確認)。

4. 需要時載入參考文件

時機文件
流程、版本、客戶報告references/01-quy-trinh.md
鏡頭角度、景別、剪輯節奏、轉場、靜態影像references/02-ngon-ngu-hinh-anh.md
抖動、凍結、異常畫面、fps 轉換references/03-khung-hinh-chuyen-dong.md
調色、縮放/裁切、Logo、檔案匯出references/04-hinh-anh-mau-xuat.md
聲線、TTS、音樂、LUFSreferences/05-am-thanh-giong-doc.md
字幕、翻譯、畫面文字references/06-phu-de-dich-chu.md
CapCut(MCP、VectCutAPI、Web)references/07-capcut.md
交付前 QCreferences/08-qc-giao-file.md
AI 電影 / 微戲劇references/09-phim-ai-pipeline.md
實戰教訓references/10-bai-hoc-thuc-te.md
燈光、鏡頭、光圈/快門/ISO/ND 依情境調整、AI 影片 prompt、鏡位、調色、音效、剪輯references/11-dien-anh-cao-cap.md
AI 廢文防護:有來源數字、客戶規則手冊、盲審、修正前重新測量references/13-chong-ai-slop.md
導演簡報、防「AI 型運動」規則、程式碼動畫、評論迴圈、大型專案(GES、3D、現狀)references/12-dao-dien-motion-va-phe-binh.md

5. 腳本清單

腳本功能
autovideo.py主要入口:make、revoice、subs、qc
voices.py各聲線測量檔案、依用途推薦聲線、多種聲線來源(VieNeu、Edge、克隆、錄音)
accuracy.py發音字典、逐句回聽、自動重錄錯誤句子
motion_html.py以 HTML + seek(t)(Playwright)製作動態圖形,自動子幀運動模糊
critic.py獨立評論工具組:contact/phone/strip、死幀、字幕停留時間、AI 廢文檢查(搭配 slop_guard)
slop_guard.py確定性 AI 廢文防護:有來源/可推導的數字、空話、未經證實斷言、節奏、過於規律剪輯、客戶規則手冊;compare 功能決定是否接受修正版本
mcp_server.pyMCP 伺服器:21 個工具(快速 + 任務佇列)供 Claude 直接呼叫
probe_qc.py素材盤點 / 影片 QC(異常畫面、閃爍、重複幀、凍結、抖動、cadence、LUFS、黑邊)
contact_sheet.py每鏡頭 3 幀的連環圖,用於肉眼檢查
fps_convert.pyfps 轉換 24-120、慢動作、180° 運動模糊、偵測插幀(RIFE/flow)
camera.py智慧重構(人臉 + 顯著性)、虛擬 pan/zoom、vidstab 防抖
shot_select.py素材庫:分鏡、評分、依描述搜尋(CLIP)
grade.pyLUT 調色匹配、自動白平衡、電影風格;套用 LUT
deliver.py平台匯出預設、偵測音樂節拍
cadence_fix.py以光流法修正片段節奏(舊版,無需 GPU)
tts_vi.pyVieNeu-TTS 越南語(25 種聲線)、文字標準化、自動於獨立 venv 執行
speech_check.py語音與腳本符合度百分比(Whisper)、方言估計
voice_mix.py依時間點放置句子、聲線處理鏈、ducking、LUFS、影片合成
subs.py字幕斷句、SRT/ASS、燒錄字幕
demucs_split.py分離人聲/音樂
capcut_api.py透過 VectCutAPI 建立 CapCut 桌面草稿
storyboard.py分鏡腳本檢查、shotlist、AI 電影工作佇列

環境(透過 install.ps1 安裝):ffmpeg 需在 PATH 中;Python 3.12(numpy、opencv、soundfile、librosa、Pillow、faster-whisper、torch、demucs); VieNeu 位於 ~/tools/venv_vieneu(可透過 VIENEU_PY 變更);RIFE 位於 ~/tools/rife/(RIFE_BIN);YuNet 位於 ~/tools/models/(YUNET_ONNX);VectCutAPI 位於 ~/tools/VectCutAPI(連接埠 9001)。

相關技能