片段蒙太奇 是做什麼的?
目的
將使用者在手機上拍攝的短影片,以及他們擁有的任何音樂或錄音,剪輯成一部可直接上傳的 9:16 蒙太奇影片:
- 每個片段的最佳時刻,並以說故事的方式排序;
- 跟著節拍剪輯;
- 在第一個鏡頭加上鉤子,為每個鏡頭加上標籤,並在結尾加上行動呼籲;
- 在重要時刻(有人說話、滋滋作響的聲音、歡呼聲)保留片段的原音,並逐字加上字幕;
- 使用者的旁白會貫穿整部影片,並有同步字幕。
然後與使用者反覆編輯,直到他們滿意為止(例如:"用她笑的那段"、"廚房先放"、"放大片段音量,不要音樂"),每次產生一個新版本,且不會遺失先前的版本。
這是蒙太奇剪輯的預設選項,而且是免費的。 所有渲染作業都在本機上執行,使用外掛程式的 scripts/video/ 工具(montage.js 根據簡短腳本建立頁面,render.js 產生 MP4 檔案)。不需要帳號、不需要點數,且所有資料都不會離開本機。真實的影片片段也能最真實地呈現一個地方或產品:AI 不會虛構任何東西。
哪些情況需要付費,以及何時提出:
| 使用者提供的內容 | 處理方式 | 費用 |
|---|---|---|
| 影片(可有可無照片、音樂、錄音) | 使用此技能 | 免費 |
| 只有照片,但可以拍攝幾個片段 | 要求拍攝片段,然後使用此技能 | 免費 |
| 只有照片,無法拍攝片段 | 使用 montage-video 搭配本機運鏡(平移、推近、3D 運鏡) | 免費 |
| 只有照片,且希望有真正的相機運鏡(新角度) | montage-video 的 "AI 相機運鏡",僅在使用者表示他們有付費方案(Figma Weave 需付費 Figma 方案,Higgsfield)時才能執行,需先報價並獲得批准 | 付費點數 |
切勿從此技能執行付費的影片模型。除非使用者已表示他們有付費方案且想要使用,否則切勿報價。
逐步流程
外掛程式根目錄: 如果以下路徑仍顯示未展開的 CLAUDE_PLUGIN_ROOT 佔位符(Claude Code 會自動填入;其他代理如 Codex 則不會),請在使用任何路徑前先解析它:取出 printenv CLAUDE_PLUGIN_ROOT 的輸出,如果它印出路徑,則使用該路徑;否則,從此檔案所在的資料夾往上層搜尋,直到找到包含 references/brand-voice.md 的第一個資料夾;如果兩種方法都失敗,請詢問使用者此外掛程式的存放位置。在以下所有檔案路徑和 shell 命令中使用該絕對路徑。下面的 VIDEO 代表 ${CLAUDE_PLUGIN_ROOT}/scripts/video。
-
檢查設定狀態。 讀取
${CLAUDE_PLUGIN_ROOT}/references/brand-voice.md。如果該檔案不存在,或其第一行是<!-- MARKETING-SKILL:UNCONFIGURED -->,則暫停並詢問使用者此外掛程式的 4 個設定問題(優先任務;要製作的內容類型;目標受眾 + 語調;預設輸出格式 — 與/marketing-skill:marketing-setup相同),然後再繼續,接著將答案儲存到該檔案中,並將標記改為CONFIGURED並附上今天的日期。 如果檔案尚未設定,但使用者已要求跳過設定或使用預設值,則不要詢問:改用其佔位符預設值執行此次操作,用一句話說明,並保持標記不變。 -
選擇客戶。 與
montage-video步驟 2 (${CLAUDE_PLUGIN_ROOT}/skills/montage-video/SKILL.md) 完全相同:可以是已儲存的客戶(讀取設定檔及其## Notes)、新客戶(公司名稱、聯絡方式、所需的免責聲明、標誌、顏色、他們喜歡的音樂),或使用者自己的公司(省略client:)。設定檔存放在${CLAUDE_PLUGIN_ROOT}/state/clients/中,且不會被 git 追蹤。 -
詢問素材、音樂和旁白。 一次訊息中詢問:
- 片段(預設詢問項目)。 手機拍攝的短影片,每個 3 到 15 秒,每個房間、角度或時刻一個。如果他們尚未拍攝,請提供
montage-guide.md中的 "拍攝片段提示":直式拍攝、每個鏡頭穩定持握 3 到 5 秒、緩慢移動、光線充足、細節特寫。 - 音樂(如果有的話)。 使用者有權在廣告中使用的曲目。來自串流應用程式或廣播的歌曲不算。否則:使用客戶已儲存的音效(免費產生的曲目)、創用 CC 曲目(執行
node VIDEO/media.js search "<情緒>" --type music --out state/videos/assets --count 3),或無音樂,讓他們在發佈時在應用程式中加入熱門音效(TikTok 和 Instagram 的商業帳戶都有商業使用曲庫)。 - 旁白(如果有的話)。 使用者錄製的旁白(一個檔案即可,手機語音備忘錄也可以),需附上他們所說的逐字內容,以便製作字幕。或是有人對著鏡頭說話的片段。或不需要:大多數蒙太奇影片只有音樂。
- 參考的蒙太奇影片(如果有的話): 使用者傳送的影片(或
brand-voice.md中「影片設定」的風格參考)。執行node VIDEO/reference.js <video>,讀取其reference.md並查看其時間表;然後模仿其節奏(pace:其典型的鏡頭長度,如果剪輯點在節拍上則為節拍數)、其快速剪輯的爆發點、其字幕和感覺,並用一句話說明你正在模仿什麼。模仿其剪輯方式,切勿使用其素材、音樂或文字;要求提供檔案,而非從應用程式下載他人的貼文。 - 只有照片? 詢問他們是否可以改為拍攝幾個片段(這是免費且最真實的呈現方式)。如果不行,則移交給
montage-video,它會使用免費的本機運鏡來移動照片。僅在使用者要求真正的相機運鏡或新角度時,才提出 AI 照片轉影片,並說明這需要付費方案(Figma Weave 影片模型僅在付費 Figma 方案上執行)。僅在使用者表示他們有付費方案並批准報價後才執行,並遵循montage-video的 "AI 相機運鏡" 步驟。 - 將檔案存到磁碟。 渲染器需要檔案:詢問資料夾(或檔案路徑)。貼到聊天中的影片無法被渲染器讀取。如果它們在 Google Drive 中,且有可用的 Drive 連接器,請使用它將檔案下載到新資料夾中。
- 僅使用使用者或客戶拍攝或有權使用的素材,以及同意出現在影片中的人員。
- 片段(預設詢問項目)。 手機拍攝的短影片,每個 3 到 15 秒,每個房間、角度或時刻一個。如果他們尚未拍攝,請提供
-
匯入素材。 執行
node VIDEO/montage.js inspect <資料夾> --slug <縮寫>,其中縮寫要簡短且能為影片命名(例如maple、taco-night)。- 它會將每個片段複製到
state/videos/assets/<slug>-01.mp4等,保留其原始畫面和聲音,但移除元資料(包括手機片段的位置資訊)。原始檔案不會被修改。 - 它會印出每個片段的大小、形狀、長度,以及是否有聲音,並標記出較長、橫向和低解析度的片段。
- 它會寫入一個編號的連絡表
<slug>-contact.png,以及一個起始腳本state/videos/<date>-<slug>.md,每個檔案對應一個鏡頭。 - 將使用者的音樂複製到
state/videos/assets/<slug>-music.<ext>,將他們的旁白複製到state/videos/assets/<slug>-vo.<ext>。
- 它會將每個片段複製到
-
觀看每個片段。 你無法播放影片,所以請查看影格:
- 對每個片段執行
node VIDEO/montage.js frames <片段> --every 1(對於短暫且忙碌的片段使用--every 0.5)。它會每秒排列一個影格並顯示其時間,並在片段聲音較大時(有人說話,或值得保留的聲音)印出提示。閱讀每個時間表。 - 說明每個片段顯示的內容,並選取其最佳時刻:穩定、清晰、光線充足、主體明確。跳過晃動的開頭、手機放下的畫面、模糊以及任何未同意出現的人員。每個選擇都是一個區段,
[from: 3.5] [to: 6.5]:對於大多數鏡頭,1.5 到 4 秒是合適的。一個長片段可以提供兩個或三個來自不同時刻的鏡頭。 - 橫向片段會被裁切為 9:16。在
[focus: x%,y%]中註明要保持在畫面中的內容(人物、產品、壁爐)。 - 註明哪些片段的聲音應保留(
[sound]):有人對著鏡頭說話、笑聲、烤架上的滋滋聲。你無法聽到它們,所以請詢問使用者說了什麼,以便製作字幕,並說明你保留了哪些片段的聲音,以便他們檢查。 - 說明你省略了哪些片段或時刻及其原因,以便使用者可以推翻你的決定。
- 使用
${CLAUDE_PLUGIN_ROOT}/references/montage-guide.md("片段:順序")來排列鏡頭順序:最有力的時刻放在開頭,然後是穿越場所或活動的路線,最後以行動呼籲結尾。
- 對每個片段執行
-
一次訊息中確認範圍。 提出建議,並讓使用者修正:
- 長度和鏡頭數: 大約 15、30 或 60 秒,以及哪些時刻會填滿它。
- 音樂: 他們的曲目、客戶的音效、另一種風格、創用 CC 曲目(先傳送讓他們聆聽),或無音樂。
- 旁白: 他們的旁白、保留原聲的片段,或無旁白。
- 畫面文字: 鉤子(從
${CLAUDE_PLUGIN_ROOT}/references/hooks.md中選出三個選項,每個來自不同的模式)、每個鏡頭的標籤、任何狀態貼紙、行動呼籲,以及列表或產品的價格和規格。每個事實都來自使用者或客戶。如果缺少某項,則詢問,或將其省略。
-
撰寫腳本並建立頁面。 編輯起始腳本。格式和每個標籤都記錄在
VIDEO/montage.js的頂部:--- title: taco night client: casa-lupe hook: tuesday is taco night cta: book a table · link in bio music: assets/taco-night-music.mp3 pace: 4 beats --- 3. assets/taco-night-03.mp4 Fresh off the grill [from: 1.2] [to: 4] [sound] 1. assets/taco-night-01.mp4 Handmade tortillas [from: 0.5] [to: 3] [focus: 40%,60%] 2. assets/taco-night-02.mp4 Meet chef Lupe [from: 6] [to: 10.5] [sound] [say: Every tortilla is pressed by hand, every morning.] 4. assets/taco-night-04.mp4 The patio [from: 2] [to: 5] [move: push-in]- 片段區段:
[from:]和[to:]設定區段。然後鏡頭會配合節拍進行調整(向上取整,因此會播放到[to:]之後的片刻)。對片段使用pace:,單位是拍(beats),而非小節(bars):一個小節會將 3 秒的區段在 96 BPM 下向上取整到 5 秒。 - 片段原聲:
[sound]會同步播放它,音樂在其下被降低音量。該片段上的[say: ...]是其中所說的內容,會逐字加上字幕。不會再次配音。 - 使用者的旁白:
voiceover: assets/<slug>-vo.m4a和voiceover-text: <他們的逐字稿>。它會從 0.3 秒開始播放(可用voiceover-at:更改),音樂在其下被降低音量,字幕在每個鏡頭上低位顯示,鏡頭會延長以覆蓋旁白。不要同時使用[say: ...]語音行。 - 他們的音樂:
music: assets/<slug>-music.mp3。它的節拍會用beats.js讀取,剪輯點會落在節拍上。music: none則保留空間,讓使用者在應用程式中加入熱門音效。 - 運鏡: 片段保留其自身的動作。
[move: push-in]、pull-out或drift會在其上加入緩慢的縮放。平移會滑動縮放後的片段,因為影格旁邊沒有東西可以平移。 - 混合的照片 會像在
montage-video中一樣移動(平移、推近、3D 運鏡)。
然後執行
node VIDEO/montage.js state/videos/<date>-<slug>.md。它會在腳本旁邊寫入<date>-<slug>.html,印出鏡頭表、聲音、旁白和任何注意事項(片段比其鏡頭短、鏡頭被延長以便閱讀其標籤),並執行render.js --check。修正檢查中列出的問題,通常是縮短標籤,然後重新執行直到沒有錯誤為止。 - 片段區段:
-
初剪。 自行查看
node VIDEO/render.js <頁面> --slides的每個影格:主體是否在畫面中(沒有被橫向片段的裁切切掉)、標籤可讀、字幕不與標籤重疊、順序能講述故事。然後:- 將幻燈片傳送給使用者,以批准順序和文字。
- 渲染:
node VIDEO/render.js <頁面> state/videos/<slug>-v1.mp4 --cover 0。它會寫入 MP4 檔案(1080×1920,30fps)、一張封面圖片,並且在有旁白或有字幕的片段原聲時,產生一個.srt字幕檔。--draft會快速產生一半大小的版本,以便先檢查時間。切勿發佈草稿。 - 你無法聽到結果。請要求使用者聆聽:音樂、每個保留的片段原聲,以及對照字幕的旁白。
-
編輯直到正確為止。 每個請求都變成對腳本的編輯,切勿編輯頁面,因為
montage.js會重新計算所有時間:使用者說 腳本中的修改 "用她笑的那段" 該鏡頭的 [from:]/[to:](在--every表中找到它)"剪掉晃動的部分" 較晚的 [from:],或較早的[to:]"廚房那段長一點" 較晚的 [to:],或[hold: 4s]"快一點" / "慢一點" 較短的區段、 pace:(例如3 beats),或length:"做成 15 秒" length: 15,並刪除最弱的時刻(說明哪些)"廚房先放"、"交換 3 和 5" 重新排序編號行 "保留那個的聲音" / "靜音" 加入或移除 [sound]"為他所說的加入字幕" 在該 [sound]片段上加入[say: <他的話,一字不差>]"加入我的旁白" 加入 voiceover:和voiceover-text:"換首歌" / "不要音樂" 將 music:改為另一個檔案、一種風格,或none"顯示左側"、"讓她保持在畫面中" [focus: 25%,50%]"放大它" [move: push-in](搭配指向該位置的[focus:])"更流暢" / "剪輯更有力" transition: fade,或cut、slide、zoom、wipe、flash"修改文字" 標籤、 hook:、cta:、price:、specs:"慢動作" 不支援:無速度變化。使用手機慢動作功能拍攝的片段會以原始速度播放 "換顏色 / 標誌 / 電話號碼" 客戶的設定檔,而非腳本 每一輪:編輯腳本,再次執行
montage.js,然後對時間變更使用--draft,或對視覺變更使用--slides。將下一個版本渲染為<slug>-v2.mp4、-v3.mp4等。切勿覆蓋較早的版本,以便使用者可以回到他們喜歡的任何版本。 -
定稿。 使用者的核准。然後按照
montage-video的完成流程("Outro" 步驟)操作:要求他們在貼文中標記您的服務、將影片儲存到assets/(如果有 git,則提交它),並在state/videos/中記下最終的-vN。
montage.js 參考資料
- 鉤子: 一種簡短、以動詞開頭的陳述,吸引觀眾,告訴他們影片中會發生什麼,並出現在影片的開頭。
- 標籤: 每個鏡頭的簡短體文字,使用客戶的風格。
- 行動呼籲 (CTA): 最後一個鏡頭。如果客戶有「個人檔案連結」或連結頁面,則為該 URL;如果客戶的帳號上傳了橫幅,則為「個人檔案連結」;如果他們有優惠券或折扣,則為「#連結」;如果他們希望觀眾連結到該頁面,則為「預訂」。不要使用他們沒有的 CTA。
- 剪輯長度: 最佳配速大約是每個鏡頭 2-3 秒。用您提出的長度與使用者確認。
其他注意事項
- 此技能和
montage-video都假設使用者是唯一創作者。 當外掛程式的品牌是合作夥伴時,服務名稱會顯示在標籤和描述中,而非顯示在影片上。 - 建立蒙太奇影片。不要將其命名為「reel」或「shorts」,除非使用者要求(有些人拒絕,因為這些術語屬於特定平台;蒙太奇影片是通用的)。
- 不要使用 AI 產生的素材或庫存影片。使用使用者提供的素材。
- 不要將素材儲存在使用者的專案目錄或外掛程式的根目錄中。使用
state/videos/。 - 影片中的文字應反映客戶的風格(正式 vs. 休閒等)。
- 切勿輸出容量超過 10 MB 的影片。如果超出,請使用下一個最高的
--quality設定(例如 60 → 50)重新渲染,直到低於該限制。 - 切勿自行發佈影片。
- 不要在一個鏡頭中混入
[move:]和[focus:]。[focus:]不會移動鏡頭。 render.js --slides輸出網頁,而非影片。它很適合審查順序、標籤和文字,但無法顯示移動或節拍。render.js --draft會進行 540p 渲染。切勿將其傳送給使用者,除非用於粗略的時間檢查。state/videos/中的媒體片段會由montage.js重命名為<slug>-<NN>.mp4。始終編輯那個。montage.js讀取媒體的比特率以保持高品質。不要混用低解析度片段。- 連絡表是一張圖片,包含所有片段的第一個影格。