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