Clipper 是做什麼的?
放入一段影片,Claude 會找出最精彩的時刻,然後將它們轉換成帶有字幕的短片,準備好發布。
所有處理都在這台電腦上執行。沒有任何資料被上傳。此技能位於 ~/.claude/skills/clipper/;其工具是
scripts/transcribe.py 和 scripts/make_clips.py,使用技能自身的 Python 環境執行:~/.claude/skills/clipper/.venv/bin/python。
0. 檢查安裝 (每次執行)
test -x ~/.claude/skills/clipper/.venv/bin/python && command -v ffmpeg
如果任一缺失,用一行訊息告訴使用者,然後從他們 clone 的儲存庫中執行安裝程式
(bash install.sh 在 clipper-skill 資料夾內)。如果你找不到該資料夾,再次 clone 它:
git clone https://github.com/corbinsylk/clipper-skill && cd clipper-skill && bash install.sh。
1. 取得影片
使用者拖曳檔案或提供路徑。如果兩者都沒有提供,用一行訊息詢問。兩個腳本都使用
<影片名稱>-clips/ 作為工作資料夾(位於影片旁),除非你傳遞其他路徑。使用者可能會提供的設定(否則使用預設值,永遠不要詢問):
| 設定 | 預設值 |
|---|---|
| 片段數量 | 3 到 5 個,取實際真正強的片段數量 |
| 片段長度 | 20 到 60 秒 (目標為 30 到 45 秒) |
| 字幕顏色 | 米白色 #F5F1EA,正在說的字為陶土色 #B03926 |
| 字幕 | 開啟 |
2. 轉錄
~/.claude/skills/clipper/.venv/bin/python ~/.claude/skills/clipper/scripts/transcribe.py "<video>"
它會先印出工作資料夾。第一次執行會下載語音模型一次(small 模型約 500 MB);一個 2 分鐘的影片
大約需要一分鐘,一個小時的則需要幾分鐘。對於超過約 10 分鐘的影片,請將命令作為後台命令執行(在 Claude Code 中:使用 Bash 工具的 run_in_background),並告訴使用者它正在處理。對於口音很重或音質不佳的影片,請加上 --model medium。首次執行時出現關於 HF token 的警告或速度提示是無害的。
3. 挑選時刻 (這是你的工作,不是腳本的工作)
完整閱讀 <工作資料夾>/transcript.md。挑選 3 到 5 個最強烈的時刻。一個強烈的時刻:
- 開場第一句就有一個鉤子。 一個大膽的主張、一個驚人的數字、一個問題、一個錯誤、一個故事的開始。 絕對不要以「所以」、「然後」、「嗯」、「像我說的」或需要前後文才能理解的句子開頭。
- 能獨立存在。 從未看過完整影片的人也能理解。沒有「這個」、「那個東西」或「如我之前提到的」指向片段之外的內容。
- 有回報。 它結束在答案、笑點、結果或教訓上:一個完整的想法,絕對不要停在句子中間。
- 有能量。 觀點、具體細節、數字、情感、轉折。跳過問候、贊助段落、行政事項和緩慢的鋪陳。
- 不與其他選取重複。 每個片段都提出不同的觀點,且片段之間在時間上絕不重疊。短的影片 提供較少的片段:少於約 5 分鐘的影片,1 到 3 個片段是正常的;永遠不要為了湊數量而延長或重疊。
每個片段評分 1 到 10(綜合鉤子、獨立性、回報、能量)。只保留得分 7 分以上的;如果少於 3 個,
保留最好的 3 個並說明它們較弱。然後寫入 <工作資料夾>/moments.json:
[
{"title": "檔案的簡短標題", "start": 63.2, "end": 101.8, "score": 9,
"hook": "片段的開場第一句,逐字逐句",
"why": "一行:為什麼這個時刻有效",
"caption": "準備好的發布文案:一行鉤子,然後 2-3 行短句,最後一個問題或行動呼籲"}
]
start 和 end 是從影片開始算起的秒數(轉錄時間是分鐘:秒鐘,所以 01:03.2 = 63.2)。
<工作資料夾>/words.json 包含每個單字及其精確的開始 (s) 和結束 (e) 時間:閱讀它以設定邊界。將 start
設定為鉤子第一個單字的 s,end 設定為回報最後一個單字的 e。腳本會保留從 start 到 end
的單字(有 0.05 秒的寬容度),並且絕不觸及前後的字,所以要丟掉像「所以」這樣的字,請將 start 設定在下一個字的 s。
4. 製作片段
~/.claude/skills/clipper/.venv/bin/python ~/.claude/skills/clipper/scripts/make_clips.py "<video>"
對於其他字幕顏色,加上 --text-color "#FFFFFF" --active-color "#FFD400",或加上 --no-captions 關閉字幕。每個片段大約需要
一分鐘的處理時間。
每個片段:在單字邊界處剪輯,重新調整為 1080x1920(寬螢幕影片會圍繞說話者的臉部裁剪;任何持續超過一秒鐘、
沒有臉部的片段,例如圖形、螢幕畫面或 B-roll,會以模糊背景完整顯示而非被裁掉;
直式影片則保持原樣),字幕每次顯示三個單字,並突出顯示正在說的單字,聲音標準化至 -14 LUFS。
5. 交付前檢查
打開每一個 clips/NN-*.jpg:每個都是一張橫跨整個片段的 8 幀縮圖。全部檢查:
- 臉部在畫面中,且字幕可閱讀,位於下巴下方,在所有說話的幀上。
- 影片已經內嵌了字幕(你看到兩組文字):使用
--no-captions重新製作所有片段。 - 腳本會印出每個片段的「face in X/Y checks」。如果 X 是 0,則表示沒有臉部可以對焦(例如螢幕錄製、投影片): 片段會置中對齊,所以在報告中說明此情況。在編輯過的影片中,沒有臉部的幀是預期的;它們是會被完整顯示的過場畫面。
- 如果一個片段在單字中間或想法中間開始或結束,請修正 moments.json 中的
start/end,並使用--only N只重新製作該片段。
6. 報告
一個簡短的列表:每個片段的檔案、長度、評分、為何有效,以及它的發布文案。將使用者引導至
clips/scores.md(所有內容都在一個檔案中)和 clips/ 資料夾。提供一個下一步選項:不同的時刻、其他字幕
顏色,或更長/更短的片段。