Communitygithub.com

usemosio/replicate

將任何影片(或其風格)重建為可編輯的影片專案。透過測量參考影片(剪輯、鏡頭、攝影機、字幕、聲音),編寫節拍地圖,建構專案(預設使用 HyperFrames),然後逐幀比對渲染與參考影片。當被要求複製、重現、仿製、克隆或匹配一部影片,或製作一部「像這樣」的影片時使用。

replicate 是什麼?

這個技能讓 AI 代理能夠精確複製或重現任何影片,產生一個可編輯的專案,其渲染結果在時間、構圖、類型、調色板和動態上與參考影片匹配。它會產出一份報告,說明哪些部分是精確還原、哪些是近似處理。該技能透過 CLI 工具 `replicate-video` 進行系統化的測量與校驗:首先分析參考影片以提取關鍵資料(剪輯點、鏡頭、攝影機動作、字幕和聲音),然後將這些資料整理成結構化的事實檔案和摘要。接著,使用者需要人工確認每一個剪輯點、分類鏡頭,並根據「匹配規則」建構專案。最後,使用 `replicate-video diff` 逐幀比對渲染結果與參考影片,找出最大的差異並修正。它支援所有能執行 FFmpeg 和 Python 的平台,非常適合需要高度精確複製或風格轉換的影片重製任務。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/usemosio/replicate/tree/HEAD/skills/replicate

在你喜歡的 AI 中提問

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

說明文件

複製影片

最終產出是一個可編輯的專案,其渲染結果在時間、構圖、類型、調色板和動態上與參考影片匹配,並附上一份報告,說明哪些部分是精確還原、哪些是近似處理。輔助 CLI 工具 replicate-video 負責測量和校驗;你負責觀察和建構。

進行測量,切勿猜測。 從縮圖表猜測的時間軸,在 15 秒的影片中就可能誤差一秒。建構中的每個時間點都來自於測量過的幀。這些幀就是證據;數字告訴你要往哪裡看。

1. 設定

執行 replicate-video doctor。當 ffmpeg、ffprobe 和 cv2 都顯示 ok 時即完成。請確保 FFmpeg 在 PATH 環境變數中,以便後續所有指令都能使用:渲染和 lint 工具也需要 ffprobe。如果指令缺失,請安裝它(uv tool install git+https://github.com/usemosio/replicate 或 pipx install git+https://github.com/usemosio/replicate)以及 FFmpeg。連結代表一個網頁,不是檔案:請先下載(使用 yt-dlp,或請對方提供檔案),並且只保留他們有權利使用的部分(references/rights.md)。

2. 測量

replicate-video analyze <video> -o .replicate/<name>            # 當語音很重要時,添加 --transcribe

當 .replicate/<name>/facts.json 和 SUMMARY.md 存在時即完成。每個輸出代表的意義及其可能造成的誤導,請參閱 references/measure.md。

3. 閱讀證據

先開啟 contact.jpg,然後是 SUMMARY.md,最後是它提到的每個圖片:

  • 每個 邊界條(strips/):確認或否決每一個 cut(剪輯點)、candidate(候選點)和 flash(閃光)。剪輯點可能隱藏在快速移動之下;閃光或快速推近看起來可能像剪輯點;
  • 每個 鏡頭的幀(frames/),對照表格中的攝影機運動;
  • 字幕表(captions.jpg,每個字幕裁剪圖及其時間點):記下每個群組的準確文字;
  • 對於每個入場、出場和過渡,連續的幀: replicate-video strip <video> --range a,b [--roi x,y,w,h]。

當每個邊界都經過肉眼分類、每個字幕群組都有其文字,且表格中的每個運動都已被確認或修正時,即完成。

4. 決定忠實度

對方要求保留替換
「複製 / 製作相同的影片」節拍、時間、拷貝、構圖、調色板、動態、聲音;僅在影片是對方自己的作品或他們持有權利時保留角色和標誌任何不屬於他們的東西:在相同的繪畫系統中重繪角色;移除創作者名稱和浮水印
「像這樣,但用於我的品牌 / 改變 X」節拍結構、節奏、動作文法、構圖、調色板角色他們指定的內容;參考影片中的文字、標誌、人物和地點
「這個風格,可重複使用」—移交給 style-writer 技能

當要求不明確時,先使用這三個選項詢問一次。

5. 編寫節拍地圖

在任何程式碼之前,編寫 BEATS.md。對於每個節拍:開始和結束幀、畫面內容、螢幕上的確切文字、調色板、類型、攝影機運動(幅度、緩動、開始和結束)、事物如何入場、運動機制(什麼轉變成什麼)、以及如何出場。當參考影片的每一幀都歸屬於某個節拍時,即完成。

6. 建構

  • 畫布尺寸和幀率與參考影片相同;持續時間為其幀數 ÷ fps。時間寫為 幀 ÷ fps 並向下取整(例如,在 30 fps 下,第 83 幀為 2.766666)。
  • 一個設定檔包含時鐘(場景、提示點)以及人們可能替換的所有內容(拷貝、顏色、字型、圖片路徑);場景檔案從中讀取,因此即使工具要求每個場景一個檔案,後續的修改也只需編輯一處。
  • 每個場景都保持一些以時間函數表示的運動,這樣在時間拉伸時場景永遠不會靜止。
  • 按照 references/match.md 的規則匹配每個圖層:根據墨蹟匹配文字、根據像素匹配字幕、光線、火焰和粒子、角色、運動模糊。
  • HyperFrames:references/hyperframes.md。其他工具:references/other-engines.md。聲音:references/sound.md。

獨立作業:一個代理掌握整部影片,優於多個代理各自重看。

當 BEATS.md 中的每個節拍都已建構完成、專案的渲染結果符合參考影片的尺寸、幀率和持續時間,且專案中沒有參考影片的像素時(請參閱 rights),即完成。

7. 最後檢查一次

replicate-video diff <reference> <render> -o .replicate/diff

開啟 worst.jpg 和 shots.jpg(左側為參考,右側為渲染)。按以下順序用肉眼判斷:節拍時間、構圖、調色板、類型、運動。分數只告訴你優先查看何處;它無法發現錯誤的文字,並且會懲罰那些被要求做的更改。修正單一最大的實際差異,再次渲染並比對一次,然後停止。當 diff 結果沒有列出遺漏的剪輯點、持續時間差異為 0,並且你已經完成一輪修正時,即完成。微小的分數差異不值得再進行一輪。

8. 報告

在專案中編寫 REPLICATE.md:哪些部分被精確重建、哪些是近似處理及其原因(例如替換的字型、簡化的繪圖)、被要求更改的內容,以及最後一次 diff 的數值。

Individual skills in this repo

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

相關技能