影片剪輯師
一個技能,三個部分。請先閱讀此檔案,然後根據需求閱讀引擎規則與一個適用的預設模板,再開始處理素材。
| 部分 | 閱讀 | 內容 |
|---|---|---|
| 引擎 | engine/ENGINE.md、engine/helpers/ | 轉寫(Scribe)、takes_packed.md、EDL、render.py、grade.py、timeline_view.py、12 條嚴格規則、建議→確認→執行→自我評估迴圈。改編自 browser-use/video-use(MIT 授權)。 |
| Instagram 預設 | presets/instagram/PRESET.md | 垂直 1080x1920:安全區域、Reel 節奏、字幕樣式(scripts/ig-captions.py)、標題字型(assets/fonts/)、調色規則、免費音效規則 |
| YouTube 預設 | presets/youtube/PRESET.md | 16:9 / 4K:剪輯階段(紙稿剪輯、收緊、細修、邊緣審查、靜音)、HyperFrames 合成器及其約 40 種格式庫、攝影、音效、B-roll、Tella、組合、驗證。改編自 WeAreNoCode youtube-edit 套件;選擇性,未包含在內(presets/youtube/README.md)。若該處缺少 PRESET.md,則使用引擎自身的剪輯規則。 |
| 共享 | shared/ | luts/(Cine_TealOrange、Cine_Film、Cine_Moody、AppleLog_to_Rec709、AppleLog_Cine_*;make_luts.py 可重新建置)、sfx/(你的音效,-3 dBFS,manifest.json)、music/(你的音樂曲目)、tools/(build-manifest.py、剪輯工具)、img/ |
劇本優先: 當使用者尚未有劇本,或要求鉤子、點子或字幕時,請使用 script-writer 技能;其產出的劇本結尾會附上剪輯師筆記,由本技能執行。
使用哪個預設
| 請求 | 使用 |
|---|---|
| Instagram、Reel、限時動態、TikTok、Shorts、垂直素材,或未指定平台但提供垂直素材 | Instagram 預設(它會借用 YouTube 預設中的剪輯階段、格式、攝影與音效;文件中會標明借用位置) |
| YouTube、鉤子、長片、16:9 / 4K、Tella 教學、組合章節 | YouTube 預設 |
| 其他(蒙太奇、旅遊、訪談、一般 16:9 編輯) | 引擎單獨使用,加上 shared/ 的外觀與音效;在合適處借用預設規則 |
| 需重點標示的螢幕錄影 | 根據影片發布平台選擇對應預設:放大操作區域、調暗或模糊其餘部分、在文字上加上方框或底線、加入點擊與打字音效、模糊私人資料;若是 Reel,錄影內容需置於手機或瀏覽器外框中,或裁切至重要部分 |
不確定?問一次:「這是給 Instagram 還是 YouTube?」
路徑(每個指令都使用這些)
VE=~/.claude/skills/video-editor; VU="$VE/engine"; VU_PY="$VE/.venv/bin/python"
IG="$VE/presets/instagram"; YT="$VE/presets/youtube"; SK="$YT"; SHARED="$VE/shared"
所有輸出都放在 <素材資料夾>/edit/(引擎的嚴格規則第 12 條);除非刻意要儲存規則、LUT 或共享資源,否則不要寫入 $VE 內部。
涵蓋一切的嚴格規則
- 轉寫需要花費(Scribe 額度)。 除非使用者已交付素材並要求編輯,否則切勿進行轉寫。轉寫稿會依檔案主檔名快取;重新剪輯後需刪除該平面剪輯的快取 JSON。
- 先策略再執行: 描述素材、提出計畫(預設模板、字幕樣式、色調、音樂、長度),等待確認。
- 字幕和隱藏式字幕最後才加上,在所有覆疊之後。
- 每個影片只調色一次,在萃取時每個片段分別進行;保護膚色;檢查前後幀對比。
- 驗證渲染完成的檔案(檢查每個剪輯點的幀數、響度 -14 LUFS、時長),然後再展示給使用者。
- Python 輔助工具使用
$VU_PY執行;系統的python3缺少 numpy。
剪輯類型
shared/references/cuts.md:10 種剪輯(硬切、跳接、匹配剪輯、J 剪、L 剪、淡入淡出、溶解、動作剪輯、交叉剪輯、撞擊剪輯),附使用時機與對應的工具(shared/tools/)。兩個預設模板與電影技能均會參考。
動態圖形
shared/references/motion-graphics.md:7 條品質規則(每個動畫都會被檢查)、參考來源、學習迴圈(參考→數值→模板→筆記→儲存)以及模板追蹤器。在開始建立任何動畫前先閱讀此檔案;在手動建立特效前先搜尋 HyperFrames 註冊表。
渲染階梯(每部影片都遵循)
- 720p 審查渲染(快速;使用者觀看並給予意見):
引擎
render.py … --draft(720x1280 / 1280x720),HyperFramesrender … --quality draft(在 720 寬的合成副本上,或使用-o review.mp4再scale=720:-2);字幕使用ig-captions.py --width 720 --height 1280。自我評估在此檔案上進行。 - 只有在使用者批准審查版本後(無任何待處理意見)才進行 4K 最終渲染:
引擎
render.py … --uhd(2160x3840 垂直 / 3840x2160 橫向,CRF 18),HyperFramesrender … --resolution portrait-4k --quality high(或landscape-4k;1080x1920 的合成以 2x DPR 渲染,確保文字與圖形真正銳利),字幕ig-captions.py --width 2160 --height 3840(相同版面,縮放比例),音樂/響度主控如常(-14 LUFS)。驗證:ffprobe顯示 2160x3840、BT.709 標籤、時長與審查版本相符。 - 兩個檔案並列交付:
<專案>-4k.mp4(主檔,用於上傳 / YouTube / 歸檔)與<專案>-1080.mp4(從 4K 主檔以scale=1080:-2:flags=lanczos製作的高碼率 1080x1920 複本,約 20 Mb/s)。誠實告知使用者:Instagram 最多以 1080x1920 播放 Reel 並會對每個上傳重新編碼,因此 4K 的價值在於為 Instagram 的編碼器提供最乾淨的來源(同時保留 YouTube/TikTok/未來再使用的最高品質),而非顯示 4K 解析度;請開啟 Instagram > 設定 > 媒體品質 > 「以最高品質上傳」。若素材本身是 1080p 拍攝,則 4K 主檔為放大結果(無新增細節);當情況如此時請明確告知。最終產品若有任何修改,需再進行一次 720p 審查,然後重新輸出 4K。
機器設定(儲存庫根目錄的 install.sh 已完成大部分)
| 工具 | 狀態 | 檢查方式 |
|---|---|---|
| ffmpeg 完整建置(libass、zscale、lut3d) | ffmpeg-full 連結至 ffmpeg | `ffmpeg -filters |
| Python 環境 | $VE/.venv(requests、numpy、pillow、librosa、matplotlib) | cd $VE && uv sync |
| ElevenLabs 金鑰 | $VU/.env(權限 600) | curl -s -o /dev/null -w '%{http_code}' -H "xi-api-key: $(sed -n 's/^ELEVENLABS_API_KEY=//p' $VU/.env)" https://api.elevenlabs.io/v1/user → 200 |
| Node + HyperFrames CLI | Node 26、hyperframes 全域套件 | hyperframes doctor |
| HyperFrames 代理技能 | 由 CLI 安裝為獨立技能(hyperframes、hyperframes-core、-animation、-keyframes、-registry、media-use 等) | hyperframes skills check;閱讀它們以了解合成合約 |
| auto-editor、yt-dlp、Chrome | 已安裝 | auto-editor --version、yt-dlp --version |
| YouTube 預設測試(若已安裝) | 全部通過 | cd $YT/scripts && $VU_PY -m unittest tests |
保留你的自訂設定
- 「儲存此規則到技能」: 將筆記以一條純文字規則寫入所屬位置:僅限 Instagram → Instagram 預設;僅限 YouTube → YouTube 預設;兩者皆適用 → YouTube 預設的共享區段(Instagram 預設會指向該處),或若涉及路由或設定則寫入此檔案。若新規則與舊規則矛盾,則取代舊規則;切勿同時保留兩者。
- 新色調:編輯
shared/luts/make_luts.py中的LOOKS,以$VU_PY執行,然後在 Instagram 預設的調色表格中新增一行。新字幕樣式:在字幕表格中新增一行,並在ig-captions.py的STYLES中新增一個條目。 - 引擎更新: 在某處複製上游 https://github.com/browser-use/video-use(`git pull
),然後比對diff -r /helpers $VU/helpers,手動複製變更;引擎副本僅在ENGINE.md` 中有本機路徑編輯。