Communitygithub.com

F0rger123/claude-video-editing-god-mode

影片編輯管線中的第一個智能體。從談話頭錄影中移除靜音和停頓。當要求剪掉靜音、修剪停頓、移除死氣沉沉的空隙或收緊原始影片的節奏時使用,需搭配逐字稿。產生編輯決策表(EDL)、重新對齊時間的逐字稿供下游智能體使用,並可選用 ffmpeg 輸出剪輯後的影片。

claude-video-editing-god-mode 是什麼?

這個智能體(Cut Silences)是 Claude Video Editing God Mode 管線中的第一個處理階段,專門負責從原始談話頭錄影中移除靜音。它會精確裁剪第一個字詞前的空白、最後一個字詞後的空白,以及字詞間超過閾值(預設 0.55 秒)的停頓,並保留自然的呼吸間隙(依上下文調整為 0.14–0.24 秒),確保剪輯後的影片聽起來流暢不突兀。此智能體完全基於逐字稿運作,因此輸出是確定性的,可為後續的「剪輯錯誤」(cut-mistakes)智能體提供乾淨的重新對齊時間逐字稿。支援 ElevenLabs Scribe 格式或通用的逐字稿 JSON 格式。使用者可以選擇僅計算剪輯計畫(輸出 EDL 和逐字稿),或同時指定影片路徑以產生 ffmpeg 濾鏡圖腳本,或加上 `--apply` 選項直接渲染輸出影片。所有輸出檔案(EDL、重新對齊逐字稿、決策摘要、ffmpeg 濾鏡圖和影片)會集中寫入指定目錄,方便管線記錄和串接。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/F0rger123/claude-video-editing-god-mode/tree/HEAD/.agents/skills/cut-silences

在你喜歡的 AI 中提問

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

說明文件

剪輯靜音(管線智能體 1)

自動編輯的第一步。取得原始錄影及其逐字稿,僅移除靜音:第一個字詞前和最後一個字詞後的空白,以及字詞間超過閾值的停頓(修剪至自然呼吸長度,絕不產生硬性零間隙)。它不會觸動說話者的字詞——錯誤開頭、重錄和口吃是「剪輯錯誤」智能體(智能體 2)的工作。

此智能體是確定性的且由逐字稿驅動,因此其輸出(*.silence-transcript.json)可乾淨地饋入後續智能體及節拍同步驗證器。

使用時機

  • "剪掉靜音"、"修剪停頓"、"移除死氣沉沉的空隙"、"收緊節奏"
  • 作為主編輯工作流程的第一階段,緊接在轉錄之後。

前置條件

一個逐字稿 JSON。可以是 ElevenLabs Scribe 格式 ({ words: [{ text, start, end, type }], audio_duration_secs })或通用格式 { words: [{ text, start, end }] }。使用工作區轉錄工具產生:

node scripts/transcribe-elevenlabs.mjs path/to/raw.mp4    # -> path/to/raw.json

使用方法

# 1) 僅規劃 — 計算剪輯,寫入 EDL + 重新對齊時間的逐字稿(不觸及影片)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --out-dir video-projects/<slug>/assets

# 2) 搭配影片 — 同時寫入 ffmpeg 指令(仍不執行渲染)
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --out-dir video-projects/<slug>/assets

# 3) 渲染剪輯後影片(本機 ffmpeg,重新編碼,音視頻保持同步)
#    加上 --apply 以實際執行 ffmpeg
node .agents/skills/cut-silences/scripts/cut-silences.mjs <transcript.json> \
  --video video-projects/<slug>/assets/raw.mp4 --apply \
  --output video-projects/<slug>/assets/edited-silenced.mp4

選項

標誌預設值說明
--video <path>—來源影片;啟用 ffmpeg 指令/渲染
--out-dir <dir>逐字稿所在目錄輸出檔案的寫入位置
--output <path><video-stem>.silenced.mp4剪輯後影片路徑
--gap <s>0.55視為可修剪靜音的最小停頓
--head-pad <s>0.22第一個字詞前保留的靜音長度
--tail-pad <s>0.34最後一個字詞後保留的靜音長度
--apply關閉實際執行 ffmpeg 渲染剪輯影片

決策規則(靜音規則)

  • 低於 --gap(0.55 秒)的停頓保留下來——這是自然的說話節奏。
  • 對於被修剪的停頓,會保留自然呼吸長度,並根據上下文調整:長停頓(≥2 秒)保留 0.24 秒,句子結束符(. ! ?)後保留 0.20 秒,其他情況保留 0.14 秒。保留的呼吸會稍微偏向上一句的結尾。
  • 開頭/結尾的空白會被修剪至 --head-pad / --tail-pad。
  • 刪除區間會被合併;保留區間是其補集。剪輯透過 ffmpeg 的 trim/atrim + concat 濾鏡圖來渲染(寫入 *.silence-filter.txt 腳本並透過 -/filter_complex 傳遞),因此影片和音訊會保持同步。

輸出(寫入 --out-dir)

檔案用途
<stem>.silence-edl.json保留/刪除區間、時長、參數——編輯決策表
<stem>.silence-transcript.json重新對齊到編輯時間軸的逐字稿(饋入智能體 2 + 節拍)
<stem>.silence-decisions.md人類可讀的摘要 + 最大的修剪停頓
<stem>.silence-filter.txtffmpeg 濾鏡圖(僅在指定 --video 時產生)
<video-stem>.silenced.mp4剪輯後影片(僅在指定 --apply 時產生)

輸出到標準輸出的 JSON 摘要包含 removed、removedPct、區間計數和輸出路徑——有助於主工作流程進行記錄和串接。

調校備註

  • 談話頭 YouTube 預設值(--gap 0.55)會從典型的原始錄影中移除約 15-20% 的純靜音。降低 --gap 可得到更緊湊、節奏更快的剪輯;提高則可保留更多自然的呼吸空間。
  • 如果剪輯在句子邊界感覺過於激進,請提高句子斷句的呼吸長度,或提高 --gap。

交接給下一個智能體

將 <stem>.silence-transcript.json(以及已渲染的 silenced.mp4,若有渲染)傳遞給「剪輯錯誤」智能體。由於時間戳已位於編輯後的時間軸上,下游的節拍計時和 scripts/validate-beat-sync.mjs 無需額外調整即可運作。

Individual skills in this repo

This repo contains 1 individual skill — each has its own dedicated page.

相關技能