Reel → CapCut 草稿
需求:已完成的 reel(reelsmith build <dir>)、CapCut MCP 伺服器(capcut,已隨此外掛的 .mcp.json 捆綁;透過 /mcp 登入一次)、以及 CapCut 本身的外掛資料夾(用於上傳器和草稿建置器,詳見 $(reelsmith root)/docs/capcut.md,環境變數 CAPCUT_PLUGIN_DIR,預設為 ~/capcut-plugin)。
步驟
- 在
reel.json中加入"sfx"— 每個螢幕事件一個條目:音效庫名稱:"sfx": [{"name": "whoosh", "t": 6.9, "vol": 0.5}, {"name": "click", "t": 30.62, "vol": 0.5}, {"name": "typing", "t": 2.5, "vol": 0.35, "dur": 1.4}, {"name": "my_sounds/rip.mp3", "t": 15.36}]whoosh、whoosh-short、pop、typing、click、sparkle、coin、chime、impact、shutter、ding(ID 在engine/capcut.py中)。其他名稱皆為您擁有的本機音檔,會連同音軌一起上傳。 reelsmith capcut stems <dir>→out/capcut/{video.mp4, voice.wav, music.wav}+files.json。語音與音樂共用一個增益(總和 = −14 LUFS)與一個限制器;音樂已自動在語音下方做閃避處理。- 上傳:呼叫
capcut_asset_upload_credential,帶入version: 2以及每個檔案的確切file_name與size_bytes(上傳前再次確認大小;不符會失敗顯示upload_files_mismatch)。然後執行printf '%s' <ticket> | node "${CAPCUT_PLUGIN_DIR:-$HOME/capcut-plugin}"/x/plugins/codex/skills/capcut-upload/scripts/capcut-upload.mjs --files "$(cat out/capcut/files.json)" --upload-ticket-stdin --json > out/capcut/upload.json reelsmith capcut draft <dir>→out/capcut/draft.json(已驗證)。start_stdraft_session→push_stdraft_snapshot,帶入base_package_id: ""與草稿 JSON。提供創作者web_editor_url。- 再次推送前,先執行
get_stdraft_snapshot並在其基礎上建置 — 創作者可能已經編輯過草稿(回讀有損;切勿盲目覆蓋他們的更動)。對於小幅修正(例如修剪音樂結尾、調整音量),建議透過 Claude 在 Chrome 中於編輯器內直接操作。
要告知創作者的事項
- 先聆聽:CapCut 資料庫音效曾被回報會出現在時間軸上但播放時靜音。若發生此情況,請在「音訊 → 音效」中替換,或改用本機音檔。
- 音樂:將預留音軌靜音,然後憑聽覺挑選資料庫中的音樂;將其長度修剪至與影片相同(較長的音軌會在匯出時產生黑色尾部)。
- 匯出(右上角 → 下載,1080p / 30 fps / MP4)會先儲存到他們的 CapCut 雲端:如果雲端空間已滿,匯出會失敗並顯示「無法儲存」— 請在他們的 CapCut 空間中釋放空間,或改用引擎的 MP4。
- 連接器自帶的音效搜尋(
search_capcut_material)是一個沒有預覽功能的簡陋標題搜尋;完整的音效資料庫僅在 CapCut 應用程式中可用。