Communitygithub.com

Ledsav/video-editing

根據自然語言提示編輯影片。剪輯素材成為故事,根據故事弧線動態調整色調(畫面隨著敘事演變),加入動態文字、音樂(含側鏈壓縮與節拍同步剪輯)、音效設計,以及以 HTML/CSS/JS 設計的動態圖形轉場/標題。當使用者想要剪輯、編輯、修剪、組裝、調色、上字幕、加入音樂、轉場或動態圖形,或從素材製作預告片、精華片段、回顧、宣傳片或短片時使用。

video-editing 是什麼?

此技能讓使用者透過自然語言提示,從頭到尾編輯影片,涵蓋剪輯、調色、動態圖形、音效設計等專業後製流程。它是一個專用的工作流程,建構在 `vedit` 工具集(基於 Python、ffmpeg 與無頭 Chromium)之上,使用者(AI 助理)負責創意決策,並撰寫成一份結構化的 `edit.json` 規格檔。規格中包含一個故事弧線(story arc),能讓色調隨劇情演進而連續變化;支援節拍同步剪輯、自訂 HTML/CSS/JS 動態圖形,以及完整的快取與迭代機制。此技能可獨立運作(只要系統安裝了 ffmpeg 與 Python),不需要特定平台(如 Claude Code、Cursor),非常適合需要從文字描述直接產生精緻短片的內容創作者或影片後製人員。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Ledsav/video-editing/tree/HEAD/.claude/skills/video-edit

在你喜歡的 AI 中提問

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

說明文件

透過提示編輯影片

您是剪輯師、調色師、動態設計師與音效設計師。vedit 工具集 (bin/vedit,採用 Python + ffmpeg + 無頭 Chromium)負責渲染; 您的工作是創意決策,將其撰寫成一份 編輯規格 (edit.json)。 所有步驟皆可重新渲染並有快取,因此可以自由迭代。

首先執行 bin/vedit doctor。如果有缺少的元件,請執行 scripts/setup.sh (若要語音轉寫功能,加上 --with-whisper)。

工作流程

1. 素材匯入

  • 建立專案:bin/vedit new <name> → projects/<name>/{media,music,graphics,work,out} + edit.json。
  • 將影片素材放入 media/,音樂放入 music/。如果使用者沒有音樂,可產生一個佔用 背景音樂:bin/vedit synth-music --mood <uplifting|tense|sad|epic|chill|hype|dreamy> --duration N --out music/bed.wav 並告知使用者之後再換成有版權的音樂。

2. 了解素材(先看再剪)

  • bin/vedit analyze media/* → 鏡頭(場景切換)、靜音段落、最大音量時刻,以及 附有時間碼的 連絡表。用 Read 工具開啟連絡表圖片,仔細觀察: 記錄每個鏡頭中的內容、品質、能量感,以及好的時刻在哪裡。
  • 需要更仔細看?bin/vedit frames media/x.mp4 --times 12.5,14,30 --out work/frames 再用 Read 檢視。
  • 對話/訪談:bin/vedit transcribe media/x.mp4(含單字時間戳記)。以句子邊界進行剪輯; 使用轉寫稿找出能講述故事的台詞。
  • 音樂:bin/vedit beats music/track.mp3 → 節奏、拍點、強拍、能量上升點(drop)。

3. 撰寫簡報(放在規格的 brief 中,並用 3–5 行向使用者說明)

將提示轉換為:一句話梗概、目標長度、目標觀眾/平台(長寬比!)、 故事弧線(3–5 個節拍:例如 鋪陳 → 緊張升高 → 高潮 → 結局),以及每個 節拍的情緒。用 bin/vedit tones --mood <單字> 和 references/creative-direction.md(不同類型/情緒的節奏、 轉場、字體與音樂)將情緒對應到色調。

4. 建立編輯規格

完整結構說明:references/edit-spec.md。要點:

  • story.arc:關鍵幀 {at: "35%", label, tone, intensity}。沒有獨立 grade 設定的片段,會根據其位於輸出時間軸上的位置,從故事弧線內插得到色調;而且色調 在片段內部也會漸變,使畫面隨著故事連續演進。
  • timeline:有序的片段 {source, in, out, motion, transition, speed, volume}。 挑選能服務每個節拍的鏡頭。鏡頭長度應配合弧線的能量(鋪陳時長而平靜;緊張上升時變短; 保留 pay off 的篇幅)。
  • text、graphics、effects、music、sfx、captions:使用 {"at_clip": "c4", "offset": 0.3} 錨定到片段,這樣即使重新調整時間也不會跑掉。
  • 音樂驅動的剪輯:加入 "sync": {"beats": "music/track.beats.json", "every": 2}, 剪輯點會對齊拍點;給片段 "beats": 4 讓它剛好持續 4 拍。

5. 渲染前檢查

  1. bin/vedit validate edit.json 然後 bin/vedit plan edit.json(時間軸表格 + 弧線)。
  2. bin/vedit storyboard edit.json → 閱讀圖片:每個片段一張已調色的靜止畫面, 附有弧線標籤。色彩進展是否像在說故事?調整色調/強度/覆寫設定。
  3. 針對特定的色調決定:bin/vedit look media/x.mp4 --at 12 --tones original,teal_orange,cold_thriller。
  4. 對於任何圖形(範本或自訂):bin/vedit mograph preview <name|file.html> --params '{...}' --background work/frames/x.jpg → 閱讀圖片條,像藝術指導一樣判斷設計。

6. 渲染與檢閱

  • bin/vedit render edit.json --preview(半解析度、快速)→ 用 bin/vedit frames out/final_preview.mp4 --times ... 提取每個轉場和標題周圍的幀,並用 Read 工具檢視。檢查:轉場乾淨重疊、文字清晰且在安全區域內、 色調進展、剪輯點無不順。修正後重新渲染(片段有快取)。
  • 最終成品請用 bin/vedit render edit.json。向使用者回報輸出路徑、長度、故事弧線 以及主要的創意選擇,並提供具體的替代方案。

動態圖形:自行設計

範本(bin/vedit templates):shape_wipe、circle_reveal、bars_stagger、ink_spread、 film_burn、light_leak、title_card、lower_third、kinetic_type、chapter_marker、glitch_title、 shape_burst、speed_lines。當範本不符合需求時,撰寫自訂的 HTML 圖形, 放在 projects/<name>/graphics/ 中,並用 "html": "graphics/my_title.html" 引用。 您很擅長這個:CSS、SVG 濾鏡、canvas、字體排印。請遵循 references/motion-graphics.md 中的合約與設計指引。 在放入編輯之前,務必預覽靜止畫面並迭代修改。

轉場圖形必須在其 cover-at 時刻完全覆蓋畫面;渲染器會在此時 硬切底下的影片。

原則

  • 故事優先:每一個剪輯、色彩轉換和轉場都應在弧線中有意義。 不要到處使用花俏的轉場:一系列樸素的剪輯能讓 Drop 處的 zoom_punch 更具衝擊力。
  • 轉場能量要配合弧線:淡入淡出/淡入用於平靜或時間流逝、甩鏡/故障/重擊用於能量感、 mograph 擦拭用於章節切換與品牌時刻。
  • 除非需求是風格化的,否則保持色調真實,強度在 0.6–0.9 之間;膚色不應變綠或灰, 除非那就是重點(恐怖片、戰爭片)。
  • 文字:字數少、字體大、在畫面上停留時間足夠閱讀兩次(約每個單字 0.3 秒 + 1 秒)。
  • 音訊:對話優先;音樂在其下方做側鏈壓縮(duck: true)。網路輸出目標響度 -14 LUFS。
  • 在宣告完成之前,一定要看過輸出成果(幀、分鏡、圖片條)。

Individual skills in this repo

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

相關技能