OpenClip:影片編輯
edit_video 每次對一個影片檔案執行一個操作:裁切、修剪、旋轉、調整大小、
壓縮或靜音。免費,需要一個 OpenClip 帳戶,但無需訂閱,也不扣點數。
鏈式呼叫以結合多個操作:將一個呼叫的輸出餵給下一個。
設定(一次性)
OpenClip 是一個遠端 MCP 伺服器,位於 https://openclip.app/mcp。當 OAuth 提示出現時,使用你的 OpenClip 帳戶登入,不需要複製 API 金鑰。
- Claude Code:
claude mcp add --transport http openclip https://openclip.app/mcp,然後執行/mcp來授權。 - Claude Desktop / Web: 設定 → 連線 →「新增自訂連線」,貼上 URL,然後登入。
- Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - 僅限標頭的用戶端: 在
openclip.app/settings/connect產生一個 MCP Token,然後連線到https://openclip.app/mcp/key,並加上Authorization: Bearer <token>標頭。
基本檢查:呼叫 get_account。
取得檔案
create_upload(filename, content_type)會回傳一個id和一個upload_url。- 將原始位元組 PUT 到
upload_url。 - 將回傳的
id作為video參數傳遞。
請勿呼叫 complete_upload。 那會啟動付費的裁剪管道。免費工具是直接讀取已上傳的檔案。list_videos 中已有的影片也可以當作輸入。
操作
每次呼叫都是 edit_video(video, operation, ...params)。
- crop:可以是
aspect("1:1"、"9:16"、"4:5"、"16:9")或明確的x、y、width、height。使用aspect: "9:16"將橫向素材重新構圖,適合 TikTok、Reels 和 Shorts。 - trim:
start_ms和end_ms,兩個都必須提供。時間單位為毫秒。 - rotate:
degrees(90、180、270)和/或flip(none、horizontal、vertical)。 - resize:
width和height,單位為像素。 - compress:可以是
target_mb(以目標檔案大小為依據)或crf(18 到 32,數值越低品質越好、檔案越大)。當使用者指定大小限制時,使用target_mb。 - mute:無參數,移除音軌。
輪詢
edit_video 會回傳一個 tool_job 哈希 ID,狀態為 status: "queued"。每隔 5 到 10 秒輪詢 get_tool_job_status(tool_job):
queued/processing:仍在處理中,繼續輪詢。completed:回傳永久的 CDNoutputsURL 以及result_meta。failed:回傳error。
永遠不要假設呼叫會同步完成。
規則
- 每次呼叫只執行一個操作。若要修剪然後重新構圖,請先執行修剪,然後將其輸出傳遞給裁切呼叫。
- 時間單位一律為毫秒,而非秒。
- 輸出 URL 是永久的 CDN 連結,不會簽章或過期。
- 免費使用每日有速率限制,並有單一檔案大小上限。錯誤訊息會說明如何解除限制。
範例提示到動作的對應
- 「把這段剪成前 30 秒」 →
create_upload、PUT 位元組、edit_video(video, operation="trim", start_ms=0, end_ms=30000)、輪詢。 - 「把這個變成直向,適合 TikTok」 →
edit_video(video, operation="crop", aspect="9:16")、輪詢。 - 「這個檔案 400MB,把它壓到 50 以下」 →
edit_video(video, operation="compress", target_mb=50)、輪詢。 - 「移除音訊」 →
edit_video(video, operation="mute")、輪詢。 - 「修剪到中間那一分鐘,然後把它變成正方形」 → 修剪、輪詢,然後對輸出進行裁切,
aspect="1:1"、再次輪詢。
相關
格式轉換(mp4、gif、mp3)請使用 convert_media,請參考 openclip-convert 技能。將長影片轉換為排名短片段是付費管道,請參考 openclip-clipping。