Communitygithub.com

notasimrazzaq/AI-Video-Editor

在用戶的原始/說話者頭影片上疊加動態圖形(Damiano '使用Claude Code製作動態圖形'工作流程,提示11 + 12)。使用時機:用戶提供原始影片、Reels、剪輯或素材,並希望進行編輯、動畫化、『打造成傑作』、加入卡片/計數器/核對清單,或修復特定時刻(『當我說X時,顯示Y』)。

AI-Video-Editor 是什麼?

這個技能讓 AI 代理能夠在使用者自己的原始影片(通常是 talking-head 影片)上疊加專業的動態圖形,遵循 Damiano 的『Motion Graphics with Claude Code』工作流程(提示 11 與 12)。它作為 HyperFrames 生態系的上層工作區技能,依賴 hyperframes-core(合成合約)和 hyperframes-animation(GSAP 規則),並與上游的 talking-head-recut 路線整合。此技能的主要價值在於自動化繁瑣的影片後製工作流程:從 Deepgram 轉錄、基於時間戳的字幕生成、基於轉錄分析的動態圖形規劃(例如數字計數、核對清單、比較、重點強調),到使用 GSAP 和 HTML 範本進行實際的合成、渲染和匯出。它強調使用快照進行迭代(避免長時間渲染),並提供一個非侵入性的房規框架,確保圖形不會遮擋人臉或重要的畫面區域。支援的平台包括 Claude Code 和任何與 HyperFrames 相容的終端機環境;它使用 Deepgram API 進行轉錄、ffmpeg 進行影片處理,以及 node.js 腳本進行自動化。這個技能非常適合需要快速、一致且高品質動態圖形覆蓋的內容創作者、編輯者或開發者,特別是處理多語言(烏爾都語/印地語/英語)內容的場景。

相容平台✓Claude Code~Codex CLI~Cursor
npx skills add https://github.com/notasimrazzaq/AI-Video-Editor/tree/HEAD/.agents/skills/mg-edit-video

在你喜歡的 AI 中提問

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

預覽

來自技能 README

說明文件

在用戶自己的影片上加入動態圖形

安裝在 HyperFrames 技能之上的工作區層。對於 HTML/時間軸機制,請載入 hyperframes-core(合成合約)和 hyperframes-animation(GSAP 規則);最接近的 上游路線是 talking-head-recut。此技能加入了創作者的家規,衝突時以家規為準。

快速路徑(已在 reel-sep30 上驗證,3:20 烏爾都語/英語 Reels,Paper Cut 風格)

  1. powershell -NoProfile -ExecutionPolicy Bypass -File tools/new-project.ps1 -Name <n> -Video raw/<file> -Transcribe → 數秒內取得 Deepgram 轉錄稿。
  2. 匯出 transcript-words.txt(index:text@start)→ 閱讀、摘要、挑選重點時刻。
  3. 字幕:captions-src.json(按字詞索引的羅馬化 Hinglish 區塊)→ node tools/build-captions.mjs projects/<n>。
  4. 樣式範本:複製 kit/templates/paper-cut-vertical.html → index.html;設定兩個 data-duration;將 EXAMPLE 呼叫替換為此影片的重點時刻。
  5. lint → snapshot --at ...(2 批約 12 幀)→ 檢視聯絡表 → 修正。
  6. 音效:根據 mg-sound 中的偏移表編寫 sfx.json → node tools/sfx.mjs projects/<n>(在渲染之前執行,以便一次渲染包含音效)。
  7. 事先告知用戶渲染時間(請參閱 mg-export:在 4 核筆電上,1080x1920 影片每分鐘約需 25–30 分鐘),然後渲染一次,複製到 exports/。
  8. 後續調整:僅音訊 → sfx.mjs --mix(以秒為單位,無需重新渲染)。視覺調整 → 先做快照,然後重新渲染一次。

不要:安裝本地語音模型、恢復已停止的下載、為了『檢查』而渲染(使用快照),或在 VS Code 的播放器中預覽(無 AAC 音訊 — 請使用 VLC)。

1. 設定專案

  1. 如果影片不在 raw/ 中,它可以留在原處。從檔名中選取一個簡短的 kebab-case 專案名稱。
  2. 從工作區根目錄執行:
    powershell -NoProfile -ExecutionPolicy Bypass -File tools/new-project.ps1 -Name "<name>" -Video "<path>" -Transcribe
    
    • 轉錄使用 Deepgram(nova-3,預設 language=multi:處理烏爾都語/印地語 + 英語代碼切換;印地語/烏爾都語單詞可能以天城文返回 — 請羅馬化為 Hinglish,保留時間戳)。需要用戶的環境變數 DEEPGRAM_API_KEY;如果缺少,請要求用戶自行執行 powershell -NoProfile -ExecutionPolicy Bypass -File tools/set-deepgram-key.ps1(切勿在聊天中執行)。純英語影片:使用 -Language en。單獨重新執行:powershell -NoProfile -ExecutionPolicy Bypass -File tools/transcribe-deepgram.ps1 -Project projects/<name>。
    • 不要使用 npx hyperframes transcribe 搭配 whisper 或安裝它(太慢/太吵);請使用 Deepgram。
    • 產生 projects/<name>/ 目錄,包含 clip.mp4(CFR H.264)、audio.mp3、metadata.json、transcript.json、fonts/、sfx/、renders/。
    • 如果用戶為某個時刻提供了螢幕截圖,請加上 -Screenshots "<folder>"。
  3. 從這裡開始在 projects/<name>/ 目錄內工作(在執行任何 npx hyperframes 指令之前,先 cd 到該目錄)。

2. 仔細分析影片

  • 讀取 metadata.json(寬度、高度、fps = r_frame_rate、時長)和 transcript.json(扁平化 [{text,start,end}])。
  • 就地修正明顯的 ASR 錯誤,保留時間戳。語音轉文字可能有大約 1 秒的誤差:當某個時刻很重要時,請使用 ffmpeg -ss <t-0.5> -t 2 -i clip.mp4 ... 或快照來驗證,而不是完全相信數值。
  • 長篇或混合語言的轉錄稿:將索引化的詞彙清單(index:text@start,每行一個句子)匯出到 transcript-words.txt 並閱讀。

字幕(當用戶需要時)

  • 編寫 captions-src.json:[[firstWordIndex, lastWordIndex, "caption text", ["key","words"]], ...],每個區塊 3–7 個詞,涵蓋每個詞。 烏爾都語/印地語/Hinglish 語音 → 使用羅馬化 Hinglish 編寫文字(例如 "ke 9 maah guzar gaye hain"),保留原樣說的英語單詞,根據上下文修正誤聽("नौ मां" → 9 maah,"New York" → New Year)。
  • 建置:node tools/build-captions.mjs projects/<name> → captions.js(window.CAPTIONS = [{s,e,text,key}]),會警告未涵蓋的詞。使用 <script src="captions.js"> 載入。
  • 找出人臉位置:在合成存在之前無法使用 npx hyperframes snapshot,因此請提取影格: ffmpeg -nostdin -v error -ss <t> -i clip.mp4 -frames:v 1 renders/_probe_<t>.png 在 3–4 個時間點提取並檢視。
  • 撰寫一段摘要:影片內容是什麼,以及 3–8 個重要的時刻(數字、清單、前後對比、關鍵主張、CTA)。
  • 如果用戶尚未指定,詢問他們想要的風格(請參閱 mg-styles)。預設:乾淨的白色磨砂卡片(Liquid Glass)。

3. 規劃(如果影片長度 > 30 秒或需求不明確,請在開始建置前向用戶展示)

針對每個時刻:觸發詞及其確切的 start、圖形類型、內容、區域、結束時間。圖形類型應與語音內容相符:

  • 數字 → 計數 · 清單 → 核對清單勾選 · 前/後對比 → 比較 · 關鍵台詞 → 放大或大字型
  • 螢幕截圖 / 證明 → 依序彈出(提示 12) · 新主題 → 重新構圖(影片縮小為卡片) 動作詞彙和樣式存在 mg-styles 技能中。

4. 家規(不可協商)

  1. 完全保持影片原樣:相同的尺寸、fps、音訊、剪輯。合成的 data-width/height = 影片尺寸,fps = 影片 fps, 根元素 data-duration = 影片時長(限制在 metadata.json 的值)。影片是 <video id="a-roll" class="clip" src="clip.mp4" data-has-audio="true" data-start="0" ...>,沒有 muted,沒有 crossorigin。
  2. 每個圖形從確切的單詞開始(轉錄稿中該單詞的 start)。
  3. 整個影片使用一種風格。
  4. 前 3 秒不要有任何內容 — 那是鉤子。
  5. 讓圖形避開人臉,避開下方三分之一區域(字幕用),並保持在寬度中間 80% 的範圍內(左右各留 10% 邊距)。
  6. 字型僅使用專案 fonts/ 資料夾中的字型,透過 @font-face 宣告(絕不使用 Google Fonts URL);GSAP 透過 <script src="vendor/gsap.min.js"> 載入。
  7. 磨砂玻璃效果需要有背景襯底;在畫面上方使用時可行,若要透明匯出則應使用實心卡片。

5. 建置、檢查、審閱

  1. 編寫 index.html(獨立合成,一個暫停的 GSAP 時間軸,註冊為 window.__timelines["<id>"])。Paper Cut 風格:從 kit/templates/paper-cut-vertical.html 開始。 低解析度手機影片(例如 480x864 WhatsApp):仍在 1080x1920 畫布上創作,以保持圖形/字幕的銳利度;影片會在下方放大。
  2. npx hyperframes lint 然後 npx hyperframes check — 修正所有錯誤。
  3. npx hyperframes snapshot --at <t1>,<t2>,... 在每個圖形的中點進行快照,並檢視 PNG 圖片 — 檢查人臉/字幕重疊以及文字裁剪。
  4. 渲染草稿:npx hyperframes render . -o renders/with-cards.mp4(在一般 PC 上渲染很慢;使用快照進行迭代,只有當影格看起來正確時才渲染)。
  5. 將最終批准的檔案複製到 exports/<name>.mp4。

6. 後續處理(同一個工作階段)

  • 單一位置(提示 12):『當我說 <片語> 時,顯示 <東西>』。在轉錄稿中找到該片語,僅更改該時刻,保持其他所有內容完全相同,然後重新渲染到同一個檔案。
  • 音效:使用 mg-sound 技能。匯出變體 / 透明背景:使用 mg-export 技能。
  • 以簡單文字進行調整(表面、顏色、字型、動作、時間、版面) → 僅編輯該項目,保持其他所有內容相同,再次渲染。

先做基礎,然後一次處理一個位置。不要試圖在一次通過中完成所有事情。

Individual skills in this repo

This repo contains 4 individual skills — each has its own dedicated page.

notasimrazzaq/AI-Video-Editor

Render and export HyperFrames videos: frame rate, 4K, ProRes MOV, PNG sequence, smaller files (--crf), transparent overlays for Premiere/After Effects (PROMPT 14), plus quick fixes when something looks wrong (fonts, cropping, captions overlap, timing, huge files). Use when: the user asks to render, export, change resolution/fps, make it transparent, reduce size, or says something looks off.

notasimrazzaq/AI-Video-Editor

Make a motion-graphics video with no footage: text-only / script video, product launch video, SaaS promo from screenshots, a first test render, or the 10-moves demo (kit PROMPTS 02, 03, 08, 09, 10). Use when: the user gives a script, a product description, app screenshots or a brief and wants an animated video made from nothing.

notasimrazzaq/AI-Video-Editor

Check or repair the video-editing toolchain on this Windows PC (Node 22+, FFmpeg, Deepgram key, Chrome, HyperFrames skills). Use when: transcription or rendering fails, a new PC needs setup, .setup-ok is missing, or the user asks to update HyperFrames.

notasimrazzaq/AI-Video-Editor

Add sound effects to a motion-graphics video: the kit's clicks (pop, tick, counter, chime, snap, star, switch, fill, success) and the paper / stop-motion set (paper-flip, paper-drop, paper-rustle, tape-rip, marker-tick, marker-scribble, stamp, paper-slide, thump). PROMPT 13. Use when: the user asks for sound effects, SFX, clicks, ticks, dings, crisp sounds, page turns, paper sounds, or 'make it sound better'.

相關技能