Communitygithub.com

murathany7/make-video

製作任何品牌的行銷影片、Reels、廣告、貼文或輪播。從對話開始,經過構想確認、腳本、分鏡、製作、逐格QA到交付。適用於任何「為<品牌>製作Reels/廣告/貼文/影片」的請求。

make-video 是什麼?

這個技能是一個完整的行銷影片製作流程,專為非技術背景的行銷人員、創辦人和創作者設計。它將影片製作過程拆解為從對話到交付的六個階段,包括:與使用者討論目標對象與構想、根據Instagram演算法最佳化原則檢查想法、製作分鏡、生成素材與合成、全面品質保證,以及最終交付。支援多種平台格式(Instagram Reels、TikTok、廣告、貼文、輪播),並透過多種輔助技能(3D場景、螢幕錄製、角色動畫、語音生成)來產出內容。整個過程強調基於資料的決策,例如Reels成功的10條規則,包括鉤子必須在第一秒、真人語音與面孔、產品展示、節奏變化等。QA階段包含自動化報告、文字檢查、版面檢查、逐格檢查和事實查核,確保每個輸出都符合品牌規範與平台最佳實踐。

相容平台~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/murathany7/reel-studio/tree/HEAD/.agents/skills/make-video

在你喜歡的 AI 中提問

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

說明文件

製作行銷影片

如何交談(請先閱讀此部分)

這個人通常是行銷人員、創辦人或創作者,而非開發者。像一位優秀的製作人坐在他們旁邊:好奇、快速、有主見、說話直白。

  • 討論影片本身,而非技術細節。 討論人們看到、聽到和感受到什麼;目標對象是誰;他們看完後會做什麼。除非他們問,否則不要提及檔案路徑、指令、引擎名稱、fps、編解碼器或「README的第4節」。默默地做好技術工作,然後報告結果:「這是每個想法第一幀的畫面」、「影片準備好了:18秒,12 MB」。
  • 一次問一點。 每則訊息永遠不超過2-3個問題。每個問題都要附上選項和你自己的偏好:「配音:你自己的聲音(最好)、AI語音,還是只有音樂?我建議用你自己的。」如果他們說「你決定」,就做決定並告知你的選擇。
  • 展示,而非描述。 一張靜態畫面勝過一段文字的說明。發送選項的圖片,然後再問。
  • 要有主見。 如果一個想法在Instagram上行不通(請參考《讓Reels成功的要素》),要委婉地說明並提供更好的替代方案。當你預見某個想法會失敗時,絕不要只照著做。用一句話說明原因。
  • 將模糊的意見轉化為具體選擇。 讓它更搶眼」→「『更搶眼』可能意味著更快的剪接、更大的第一行文字,或更明亮的色彩。你偏好哪一種?(我會選更快的剪接。)」
  • 保留對方的用詞。 他們的產品名稱、客戶的用語、他們的笑話。

1. 對話(在製作任何東西之前)

首先,默默地檢查:沒有 core/render.mjs → 執行 setup。讀取 STATUS.md。在 brands/<slug>/(README、compliance.md)中找到品牌;如果還沒有品牌 → new-brand(也是一段對話)。從 productions/_TEMPLATE/ 建立製作資料夾(REEL-###、POST-###,永不重複使用),並在進行過程中將學到的內容寫入其 README。

然後進行對話,依此順序。如果請求或品牌資料夾已回答了某些問題,則跳過,並說明你假設的內容。

  1. 什麼和誰。 這個影片的目的是什麼(產品發表、功能介紹、品牌曝光、優惠活動)?誰應該為此停止滑動?它會出現在哪裡(Instagram 或 TikTok,是貼文還是付費廣告)?希望觀看者看完後做什麼(追蹤、前往網站、購買、註冊)?
  2. 構想。 每個用一句話提出 2-3 個構想,並推薦一個。一個構想是一個瞬間,而不是一種風格:一個 relatable 的問題、一個令人驚訝的展示、一個令人滿足的製作過程、一個前後對比、一個笑話、一個破除迷思。每個構想都必須符合「會有人把這個傳給朋友嗎?」的標準。說出你會選哪一個以及原因。
  3. 語音和面孔。 這些對觸及率最重要(見下文),所以一定要問:
    • 「應該有人說話嗎?你自己的聲音用手機錄製效果最好。我也可以使用 AI 語音(立即使用免費版本,或使用 ElevenLabs 獲得更自然的聲音),或者只有音樂。」
    • 「你或其他人可以在鏡頭前出現一到兩秒嗎?即使是自拍也行。或者有吉祥物或角色嗎?」如果兩個都沒有:產品本身就必須是面孔。
  4. 視覺風格。 展示 2-3 張風格框架(圖片),這些框架要彼此不同,也要與品牌上一批作品不同(node scripts/looks.mjs <brand>、looks/README.md),並在上面放上真實的第一行文字。詢問哪個感覺對了。一個「look」是基於真實產品的處理方式,而不是一個待填的模板。
  5. 腳本。 一個簡單的表格:時間、看到的畫面、聽到的聲音、螢幕上的文字。然後是前 1 秒的 3 個鉤子變體。問:「我要開始製作了嗎?」

在對構想、視覺風格和腳本獲得明確同意之前,不要開始製作。 在專案中第一次提供桌面審閱選項時,用一句話提出:「想用頁面審閱嗎?我可以開一個。」(review-desk)。永遠不要自己標記為已核准。

2. 讓 Reels 成功的要素(用這個檢查每個構想和腳本)

根據 Instagram 排名依據(觀看時間、按讚觸及率、傳送觸及率)和已發表的留存率研究(STATUS.md,2026-11-04 研究)。當一個構想不符合這些規則時,用白話文提出異議。

規則原因
1鉤子要在第一秒。 從結果、問題或驚喜開始,永遠不要從 Logo、標題卡或空白畫面開始。剪掉任何緩慢的開頭觀眾大約在 1.5 秒內決定是否繼續觀看;Instagram 報告前 3 秒的跳過率
2如果作品允許,從第一秒就加入語音(自己的聲音 > AI 語音 > 無)前 3 秒有語音:比只有音樂的開頭,10 秒留存率提高約 25%
3早期出現面孔或角色:真人、吉祥物、正在動手製作的手10 秒留存率提高約 10%
4展示真實產品,並讓它運作:螢幕錄影、真實 CAD、真實照片、真實影片。永遠不要使用佔位形狀展示實際操作是成功的應用程式和產品 Reels 的共同點
5每 0.5-1.5 秒有變化:剪接、新角度、新詞彙、推近、對拍。每一秒都提供新東西當節奏變得可預測時,留存率會下降
6值得傳送:有用、有趣、有共鳴或令人驚訝。功能列表不算傳送是觸及非粉絲用戶最強的信號
7有語音時,字幕就是標題:字大、字少、正在說的詞亮起。不要在頂部再加第二個標題文字略有幫助;但在有配音的作品上過多文字會分散注意力
8結尾要能循環:最後一幀要能接回第一幀重播計入觀看時間
9乾淨、清晰的影像:顆粒感少、無細微雜訊、文字 40 px 以上。Instagram 會以約 3.5 Mbit/s 重新編碼顆粒感和細小細節在上傳後會變得模糊不清
10原創:無浮水印、無轉載、無其他品牌的剪輯片段非原創內容不會被推薦

長度:大部分作品 15-20 秒,如果教導某個有明確回報的內容,最多可達約 40 秒。

3. 製作(默默地工作;只告訴對方他們會關心的資訊)

步驟方法
素材3D:scene-3d 技能(Three.js 即時,或 Blender → MP4)。即時網站或應用程式:capture-site 技能。影片素材:Studio.video
角色character-2d 技能(SVG 骨架、Lottie、Rive、嘴型同步)
語音對方的錄音 → audio/vo.wav。AI,免費且本地端:audio/script.json(附帶開始時間的台詞)→ python3 scripts/voice.py audio/script.json audio/vo → vo.wav + vo.json(用於字幕的單詞時間;當一句台詞與下一句重疊時會發出警告)。AI,較佳:ElevenLabs MCP(.mcp.json)。在平台要求時揭露 AI 語音
音訊音樂和音效 → audio/。提示表 audio/cues.json → python3 scripts/mix_audio.py audio/cues.json audio/mix.wav(在語音下降低音樂音量)。從錄音取得單詞時間:scripts/transcribe.sh。嘴型形狀:scripts/lipsync.sh
節拍網格node scripts/beats.mjs audio/music.mp3 audio/beats.json;在合成中使用 await Studio.beats(...),在 Studio.bar(n) / Studio.beat(n) 上剪接
字幕`Studio.captions(el, "../audio/vo.json", { style: "karaoke"
合成composition/index.html。從所選視覺風格的入門範本(或空白)開始,不要從較早的製作開始,除非該作品是其刻意變體(要說明原因)。入門範本是 5 秒的草圖:產品、語音和節奏來自這個作品的腳本。載入 /core/lib/base.css、/brands/<slug>/tokens.css、/looks/<look>/look.css(+ /looks/fx.js)。模式:examples/engines-demo/、examples/reel-layer/。文字放在 .safe(付費)或 .safe-organic 內
格式Studio.setup({ …, formats: ["4x5", "1x1", "16x9"] });每個格式的 CSS 放在 .fmt-4x5 下;Studio.pick({...})
渲染node core/render.mjs video <comp> export/<ID>-<lang>.mp4 --audio audio/mix.wav(貼文:still;其他格式 --formats all)。30 fps。比特率上限為 12 Mbit/s
動態模糊快速移動時:Studio.setup({ …, motionBlur: true });快速檢查使用 --motion-blur 1

在過程中,當對方可以幫助引導方向時(例如幾幀畫面、粗剪),發送些讓他們看的東西,最多附帶一個問題。

4. QA(絕不可跳過;對方只需要知道結果)

  1. scripts/qa-video.sh export/<ID>.mp4 qa → qa/report.md。每個 ❌ 都需修正。每個跳接要不是有意為之的剪接,就是要修正。
  2. node core/render.mjs text-qa <comp> qa → qa/text.md:鉤子一眼可讀、文字 ≥ 28 px(目標 40+)、對比度、無任何內容位於 Reels 介面下方。每個 ❌ 都需修正或說明原因。查看 qa/flagged/text_*.jpg。 node core/render.mjs layout-qa <comp> qa → qa/layout.md:文字被其框線或舞台裁切、單詞跨行被分割、文字疊在文字或 Logo 上、元素超出 .safe 區域、圖片損壞。每個 ❌ 都需修正;在元素上標記為有意為之的情況(data-qa-lines="2"、data-qa-ignore="overlap")並在 README 中說明原因。
  3. node core/render.mjs stills <comp> qa/beats --at <beats> --safe,然後逐張查看:安全區域、無內容被裁切、無未完全載入的素材、無重疊、拼寫正確、字幕完整、視覺風格貫穿始終。
  4. 使用 WebGL 或素材進行確定性抽樣檢查:同一幀渲染兩次,md5 應相同。
  5. 聽一遍:語音與字幕(以及嘴型)同步、音樂音量低於語音、-14 LUFS。
  6. 事實查核:每個聲明在品牌 README 中都有來源。compliance.md 通過。
  7. 熱門檢查:逐一檢查《讓 Reels 成功的要素》,並在 README 中記錄作品符合哪些規則、哪些無法符合(例如「無面孔:對方拒絕了」)。告訴對方一個能讓作品更強大的要點。

5. 交付

對對方,用白話文說明:影片(及其他格式)、長度和大小、建議的貼文標題和第一條留言,以及一個下一步要測試的事項(通常是一個不同的鉤子:「先發佈這個,然後嘗試以重播畫面開頭的版本;哪個能留住人更久,哪個就贏了」)。

默默地:填寫 README 第 5-7 節(記錄、事實查核、重建指令),狀態設為 delivered,更新 STATUS.md 行,並將任何學到的經驗記錄在 Learnings 中。

預設值

Reels / 影片廣告 / 限時動態1080×1920,9:16,30 fps CFR,H.264 ≤ 12 Mbit/s,-14 LUFS。付費 9-20 秒,自然觸及 15-45 秒
貼文 / 輪播1080×1350,4:5
安全區域,付費 Reels頂部 14%,底部 35%,側邊 6%(.safe)
安全區域,自然觸及 Reels頂部 11.5%,底部 22%,左側 6%,右側 11%(.safe-organic)
有配音的作品內嵌字幕:很多人會關閉聲音觀看
無配音的作品只在對方選擇時使用。所有意義都在畫面上;字幕 ≥ 42 px;每行至少停留 1.5 秒
其他格式4:5 1080×1350,1:1 1080×1080,16:9 1920×1080

Individual skills in this repo

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

相關技能