Communitygithub.com

raycfu/effects

爲說話頭像影片添加 51 種視頻特效(環繞、聚光燈、玻璃小工具、時間軸、檢查清單、標題牆、評論框、手機扇、液體玻璃圖表、匹配剪輯、iPhone 開關、LED 標誌、過肩縮放、iMessage 彈窗、網格放置等)。特效會追蹤說話者的臉部,並可置於其頭部後方。當用戶輸入 /effects、指定特效名稱,或要求添加特效、縮放、調色、貼紙或動畫到影片時使用。

effects 是什麼?

這是一個專為影片創作者設計的 AI 代理技能,提供了 51 種可直接套用的影片特效。使用者只需將說話頭像影片拖入對話,並指定一個特效名稱或描述他們想要的效果,AI 代理便會自動完成從設定、時間點定位、預覽到最終渲染的完整流程。該技能特別優化了非技術用戶的體驗,所有操作都封裝在腳本中,使用者無需自行執行複雜指令。支援的平台包括 Mac 和 Windows,需要事先安裝 FFmpeg 和 Python 3.12。其工作原理是透過 MediaPipe 或 Robust Video Matting 模型追蹤人臉,並將特效精確地放置在合適的位置,確保不會遮擋臉部。所有特效均支援自定義文字、顏色、時間點和位置參數,並可批次規劃多個特效順序。

相容平台✓Claude Code~Codex CLI✓Cursor
npx skills add https://github.com/raycfu/claude_design_skills/tree/HEAD/effects

在你喜歡的 AI 中提問

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

說明文件

特效:51 種影片特效(作者 Ray,@raycfu)

使用者通常不具備技術背景。請保持回覆簡短且友善,爲他們完成工作,絕不要求他們自行執行指令。

以下所有路徑均相對於此技能所在的資料夾(即此 SKILL.md 所在的資料夾)。請在指令中使用其絕對路徑。

1. 首次執行:設定(一次性)

執行 bash scripts/setup.sh。完成時會顯示 READY(首次執行需 1 到 3 分鐘)。

  • NEED_FFMPEG:爲他們安裝 FFmpeg。在 Mac 上:brew install ffmpeg(如果缺少 brew,請告知他們先從 brew.sh 安裝 Homebrew)。在 Windows 上:winget install ffmpeg。
  • NEED_PYTHON:安裝 Python 3.12(Mac:brew install [email protected],Windows:winget install Python.Python.3.12),然後重新執行設定腳本。
  • 在 Windows 上,Python 的路徑是 .venv\Scripts\python.exe,而非 .venv/bin/python。
  • Windows 無 bash:執行 py -3.12 -m venv .venv,然後執行 .venv\Scripts\python.exe -m pip install -r requirements.txt。可選的乾淨去背:將 https://github.com/PeterL1n/RobustVideoMatting/releases/download/v1.0.0/rvm_mobilenetv3_fp32.onnx 下載到 models/。
  • NEED_PYTHON_312:他們的預設 Python 無法安裝套件。請依上述方式安裝 Python 3.12 並重新執行設定腳本。
  • 來自 TensorFlow Lite、MediaPipe 或 OpenCV 的無害日誌訊息(INFO:、WARNING:、W0000、[ WARN)是正常的。只有 Done: 或 saved 才表示成功。

2. 取得影片與特效

  • 影片:使用者將檔案拖入對話,或提供路徑。直立的手機影片效果最佳。
  • 特效:來自 /effects <名稱>,或來自他們描述的效果。將他們的描述與下方表格配對。如果不確定?向他們顯示清單。
  • 他們的名字與帳號:會顯示個人資料的特效(glass-widgets、comment-box、pastel-word、profile-wall、headline-wall 等)預設使用 Ray / @raycfu。向用戶詢問一次他們的名字與帳號,然後在每個特效中傳入 name 與 handle。

3. 找到時間點

  • 如果他們說「在『X』這個詞的時候」或「當我說……的時候」,執行 .venv/bin/python scripts/words.py <影片> 並使用那些時間點。
  • 如果他們沒有提供時間點,則對整個片段套用特效,或詢問他們要套用哪個部分(一個簡短的問題)。
  • 短時間視窗看起來最好:每個特效 1.5 到 4 秒。

4. 草稿、檢查、渲染

  1. 在他們的影片旁邊寫下計畫,檔案名稱為 <影片名稱>_effects.json:
    {"effects": [
      {"fx": "orbit", "start": 3.2, "end": 6.0},
      {"fx": "backdrop-word", "start": 14.0, "end": 16.3, "text": "CLAUDE"}
    ]}
    
  2. 先檢查影格(快速):.venv/bin/python scripts/fx.py --plan <計畫.json> <影片> <資料夾>/check.png --still 4.5,15.2,使用每個特效的中間時間點。自行查看那些 PNG 圖片。如果某些部分看起來不對勁(遮擋臉部、被邊緣裁切、難以閱讀),修正文字、時間點或選項。
  3. 渲染:.venv/bin/python scripts/fx.py --plan <計畫.json> <影片> <影片名稱>_effects.mp4。輸出會保留原始音訊。預設渲染為 1080p;加上 --width 2160 可輸出 4K(較慢)。
  4. 告知他們檔案的位置。用一句話提醒他們在發布前先觀看:這是草稿,他們來批准。

單一特效無需計畫:.venv/bin/python scripts/fx.py orbit <影片> <輸出.mp4> --start 3 --end 6 --text "..." --opt key=value。

51 種特效

#fx 名稱作用選項(皆為可選)
1noise動態精選片段在頭後堆疊,每秒疊上一個images(螢幕截圖或剪輯的資料夾)、size
2lineup編號方塊在頭頂上方展開成弧形text(方塊名稱,用 `
3locked-on角落框標鎖定臉部,鏡頭跟隨移動zoom(預設 1.35)、text(標籤)
4orbit動態精選片段繞頭旋轉:下方在前、上方在後images、count、speed、size
5lean-in在一個詞上快速推近zoom(預設 1.45,最大 2)、speed
6backdrop-word一個巨大的詞從身後落下text、color(十六進位)、font(bold 或 serif)
7spotlight熄滅燈光,僅照亮你text(身後發光的詞)、color、push
8the-bill將你的步驟像收據一樣印在頭頂上方牆上text(行,用 `
9moody營造氛圍的調色grade(moody、bw、warm、cool、pop)
10swipe前後對比滑桿橫掃過你grade(「之後」的色調)
11todo臉旁的檢查清單卡片,隨著說話逐項打勾text(項目,用 `
12comment-boxInstagram 評論欄打出一串字並發布text(預設 EFFECTS)
13tap追蹤按鈕彈出並翻轉爲「正在追蹤」at(翻轉的影片秒數)、x、y(0 到 1)、color
14pause-point凍結畫面並用一隻手繪箭頭指向你text(標籤)、color、label_x
15uninstall故障風格的卸載進度條將畫面打碎text
16reel-frame影片縮小成 Instagram Reels 卡片text(帳號)
17shortcut-rain鍵盤快捷鍵在身後如雨落下text(按鍵,用 `
18reject-stamp一個巨大的紅色印章猛砸在畫面上text、color、angle、y
19countdown-flip頭頂上方的 3、2、1 翻頁時鐘from
20rabbit-hole畫面陷入自身,旋轉縮小ratio、speed、spin
21cover-star你變成雜誌封面,標題在頭後text(標題)、lines(用 `
22scribble記號筆塗鴉在你周圍自行畫出text(標籤)、color
23glass-widgets磨砂玻璃小工具和小物件漂浮在頭部周圍,加上一個「Edited by Claude」藥丸text(數字)、name、handle、look(simple 為 3 小工具版本)
24red-collage黑白的你、身後巨大的紅色詞彙、三行文字猛擊入場text(紅色詞彙)、lines(用 `
25split-headline標題卡片滑下,將你推到下半部text(行,用 `
26pastel-word薰衣草色房間、身後巨大的詞、個人檔案卡片被追蹤text、name、handle
27check-pills方格紙房間、身後 Reels 面板、游標點擊藍色藥丸text(藥丸,用 `
28timeline暗紅色調色、編輯時間軸、REC 時間碼、發光的播放頭text(標題)、sub、tc
29headline-box推近搭配兩行標題,第二行在白色框中text(行,用 `
30profile-wall動態精選片段以網格填滿身後牆壁,計數器增加images、count、label
31tier-list階級列表落下,Claude 飛入 S 階title、item、others
32broll-split上方 B-roll 搭配價格標籤貼紙,你位於下方images、text(標籤)
33phone-fan動態精選片段如手機扇展開在標題下方images、text(行,用 `
34dot-reveal畫面由螢光點構成,然後瞬間切換為完整圖片color、cell
35headline-wall自己的標題在頭後堆疊,然後總數彈出在前text(`標題::元資料
36checklistClaude 任務清單在下巴下方:每個步驟旋轉後轉為綠色勾選text(`步驟::元資料
37liquid-glass-graph下巴下方的液體玻璃卡片:綠色圖表攀升,數字同步增加text(標籤)、from、to(例如 197K、59%)、color
38carousel-spin動態精選片段在 3D 旋轉木馬中環繞,然後慢速停止images、count、size、turns
39match-cut新聞頁面在一個詞處剪輯,鎖在頭後的紅框中text(詞,預設 Claude)、color
40apple-toggles下巴下方的 iPhone 設定卡片逐行打開開關text(行,用 `
41led-sign燈光暗下,發光 LED 標誌在身後逐字打出text(行,用 `
42slow-push緩慢的電影感推近臉部,同時房間淡出失焦zoom(預設 1.6)、blur
43over-the-shoulder-zoom鏡頭推入一個上角落,透明液體玻璃圖表出現在頭旁(線條攀升、數字增加),拉回,然後另一個角落出現第二張相關長條圖。頭部保持在前面text(兩個標籤,用 `
44messagesiMessage 通知一條接一條彈出,奶油玻璃質感搭配柔和光暈,在畫面底部上方堆疊text(訊息,用 `
45place-in-grid你縮入 3x3 個人檔案網格的中心格子(磨砂玻璃),然後 8 則 Reels 在周圍彈出,每格一個,每格顯示 Instagram 觀看次數images(你的 Reels 或封面資料夾)、views(9 個數字,用 `
46tape-label一條帶有你文字的黃色膠帶貼在胸前,避開臉部text
47select-resize一個藍色選取框帶手柄抓住頭頂的數字,游標將其拖大text(預設 2X)
48wave-trim頭頂深色面板顯示你的聲音波形;兩端紅色虛線的靜音部分向內收縮,直到只留下你的話語無
49huge-strike一個巨大的襯線字體詞彙在頭後擦拭入場,然後一條紅線將其劃掉text、at(特效開始後的秒數,預設 0.6)
50crayon-write一支紅色蠟筆在頭後寫出你的詞彙,然後畫線強調並飛走text
51fan-build你的 Reels 封面一張接一張地發牌成扇形,置於頭後images(你的封面資料夾)、count(預設 13)

命名樣式(同樣特效,更華麗的版本;不增加數量):

  • glitter-spotlight = 帶有 look=sparkle 的 spotlight:房間變暗,金色光芒從頭後迸發,一個帶有光澤掃過的大金字、閃爍的亮片和周圍的光暈。text(詞)、color、push。
  • 帶有 look=editorial 的 cover-star:柔和溫暖的電影感色調、頭後經典襯線字體報頭、期號線和優雅的封面標題。text(報頭)、issue、lines(3 行,用 | 連接)、right(行,用 | 連接)、color、accent、lines_y、right_y。
  • 帶有 look=bento 的 liquid-glass-graph:攀升的圖表移動到頭後的煙燻玻璃螢幕上,前方有玻璃便當盒磚(甜甜圈、KPI、長條圖)。text、from、to、donut(29%::標籤)、kpi(672K::標籤)、bars(197|140|124::標籤)。
  • apple-toggles 現在位於頭上,藏在頭後,帶有輕柔的縮放(pos=below 為舊版下巴下方卡片;overlap、zoom)。

別名也可用:bill、to-do、follow、stamp、countdown、cover、rain、pause。

規則

  • 絕不遮擋臉部。所有內容都放在人物後方或自行避開臉部;如果檢查影格仍顯示文字覆蓋在臉上,請移動它(x、y)或縮短文字。
  • 特效按列出的順序執行。當相機特效(locked-on、lean-in、spotlight)與其他特效重疊時,應放在前面。
  • 縮放絕不超過 2 倍,以保持影片清晰。
  • 此技能僅添加視覺效果。音效和字幕由使用者自行處理(CapCut 效果很好)。
  • 這些是入門版本。如果使用者將其與他們看過的 Reels 比較,請誠實告知。

額外選項(Ray 版)

這些是在基礎特效之上新增的,用於修正真實影片中看起來不協調的部分。像其他選項一樣傳入(在計畫中為 "key": "value",或使用 --opt key=value)。

特效選項作用
任何卡片/環繞特效play=1在卡片中播放 images 資料夾內的每個影片而非靜止畫面
liquid-glass-graphpos=behind將圖表放在頭後的深色玻璃螢幕上,而非胸前
liquid-glass-graphsmoke=0.5..0.85深色煙燻玻璃取代透明液體玻璃(無你身體的模糊複製)
liquid-glass-graph、over-the-shoulder-zoomto=$32,000貨幣前綴和千位數分隔符能正確計數
checklistsmoke、scale=0.86、bottom=0.95、guard=0深色易讀卡片,較小,位置偏低,絕不碰到臉
checklistspan=2.9勾選標記落下的總秒數,使最後一個勾對應到你的手勢
spotlightflicker=0、lift=0.8關閉霓虹燈閃爍效果,或降低詞的位置使頭部遮蓋部分文字
cover-starmast_y=0.15固定報頭高度(搭配更緊湊的裁切,使頭部重疊其上)
comment-boxlock=1、avatar_color=#FDB827固定評論面板位置,設定頭像顏色(字母來自 handle)

若手部擋在卡片前方:先渲染特效,然後執行 .venv/bin/python scripts/hands_front.py <原始影片> <已套用特效的影片> <輸出>。

去背品質:如果 models/rvm_mobilenetv3_fp32.onnx 存在,每個特效都會使用 Robust Video Matting 進行人物去背(更乾淨的髮絲,無閃爍)。設定 FX_MATTE=mp 以使用原始的 MediaPipe 分割器。

Individual skills in this repo

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

相關技能