Communitygithub.com

thanmaiashok/shortcut-clips

將長影片(Podcast、訪談、直播等)轉換為垂直 9:16 的短影音,具備人臉追蹤、動態字幕、標題和主題標籤。Claude 根據附時間戳的轉錄稿挑選最可能爆紅的片段,其餘由本機 ffmpeg 完成。無需任何 API 金鑰。

shortcut-clips 是什麼?

shortcut-clips 是一個完全本機執行的 AI 技能,專門將長影片(如 Podcast、訪談、直播、課程等)轉換為短影片。使用者只需提供影片檔案路徑與期望產出的短影片數量,Claude(或支援此技能的 AI 代理)就會透過時間戳轉錄稿和候選片段清單,精準挑選出最適合的「爆紅」時刻,然後交由本機的 ffmpeg 流程完成人臉追蹤、垂直畫面重構、動態字幕渲染與最終輸出。整個過程完全不依賴任何雲端 API,非常適合隱私敏感或離線環境。此技能支援 Claude Code、Coder、Codex 等可執行本機命令的 AI 代理,並在轉錄、挑選、驗證與渲染之間提供完善的快取與編輯循環機制。若使用者不滿意結果,可以直接修改 `clips.json` 中的設定(如風格、長度、標題)並重新渲染,已完成的片段會從快取重複使用。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/thanmaiashok/shortcut-clips/tree/HEAD/skills/shortcut-clips

在你喜歡的 AI 中提問

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

說明文件

shortcut-clips 是做什麼的?

本機流程處理所有機械性工作(轉錄、尋找候選時段、重新構圖、字幕、渲染)。你的工作是判斷步驟:閱讀候選片段文字,挑選最好的片段,並寫入 clips.json。你永遠不需要看到影片畫面。

0. 輸入

  • 影片:本機檔案路徑。如果使用者提供的是網址,請說明 shortcut-clips 只適用於他們提供的檔案(他們擁有或擁有權利的內容),並要求提供檔案。不要下載任何東西。
  • 短影片數量:使用使用者指定的數量;否則預設為 3。
  • 選項(僅在使用者要求時):--language hi|kn|en|…、--min-len/--max-len(預設 20-60 秒)、樣式 bold-pop(預設)、minimal 或 karaoke-highlight。

1. 準備(轉錄 + 候選)

shortcut-clips prepare "<影片>"
  • 它會輸出資料夾名稱,然後每個區塊檔案一行。請注意這兩項資訊。
  • 第一次執行會下載語音模型。1 小時的影片在 CPU 上約需 15-25 分鐘,在 GPU 上約需 5-10 分鐘。對於長度超過約 10 分鐘的影片,請在背景執行指令並等待其完成。告知使用者正在處理中。重新執行是安全的:已完成階段會快取。
  • 若失敗,請向使用者顯示錯誤的修復建議。shortcut-clips doctor 會檢查安裝狀態。

2. 挑選片段

  1. 讀取 <輸出資料夾>/work/candidates.txt,然後依序讀取它列出的每個區塊檔案。每個區塊列出句子(s0012 [68.3] 文字)和候選片段(c004 s0012-s0021 68.2-108.6 (40s)),每個候選片段是這些句子的範圍。不要讀取 transcript.json 或 candidates.json:區塊檔案已包含你需要的所有內容,且 token 數少得多。
  2. 使用參考/rubric.md 對每個候選片段評分。過程中,保留一份約為要求數量 3 倍的備選清單:候選 ID、五項評分標準的分數、一行備註。捨棄其餘項目。
  3. 改善入選者。你可以將片段邊界移動到其他句子邊界,例如從最強鉤子的句子開始,或是在轉折後立即結束:
    • start = 選定的第一個句子的時間。
    • end = 你保留的最後一個句子的下一個句子的時間,或者如果你保留了該候選片段的最後一個句子,則為該候選片段的結束時間。
    • 保持在長度範圍內。驗證器會將邊界對齊到完整單詞。
  4. 選擇最終組合:總分最高、任兩個片段重疊不超過幾秒、且盡可能涵蓋不同主題。

3. 撰寫 clips.json

按照參考/clips-format.md 撰寫 <輸出資料夾>/clips.json。除非使用者另有要求,否則 hook_text、title 和 caption 應使用轉錄稿的語言與文字。將片段依最佳順序排列。然後執行:

shortcut-clips validate "<輸出資料夾>/clips.json" --write

修正所有 error 並重新執行,直到顯示 ✓。對於 warning,在容易處理時修正。info 行報告自動調整(已對齊邊界),無需處理。

4. 渲染

shortcut-clips render "<輸出資料夾>/clips.json"

然後向使用者回報:每個片段的編號、標題、長度、分數和影片路徑,以及畫廊 <輸出資料夾>/index.html。加上一句話說明最佳片段為何有效。提醒他們可以要求修改。

編輯與重新執行

  • 「將片段 2 變短」、「新標題」、「使用 karaoke 樣式」:編輯 clips.json(每個片段的 style/layout 會覆蓋 defaults),使用 --write 驗證,然後再次渲染。未更改的片段會從快取重複使用。
  • 「尋找不同的片段」:回到步驟 2,使用相同的區塊檔案。不要重新執行 prepare。
  • 偵測到錯誤語言:使用 --language <代碼> 重新執行 prepare。只有轉錄和後續階段會重做。
  • No candidate windows:影片過短或語音過少。使用更小的 --min-len(例如 10)重新執行 prepare。

相關技能