OpenClip:縮圖與圖片編輯
兩個免費工具,通常搭配使用:
extract_thumbnails- 從影片中擷取幀畫面。edit_image- 壓縮、調整大小、裁切或轉換圖片格式。
兩者皆為 免費,需要 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 / 網頁版: 設定 → 連接器 →「新增自訂連接器」,貼上 URL,登入。
- Cursor(
.cursor/mcp.json):{ "mcpServers": { "openclip": { "url": "https://openclip.app/mcp" } } } - 僅支援標頭的客戶端: 在
openclip.app/settings/connect產生一個 MCP 權杖,然後連線到https://openclip.app/mcp/key,並帶上Authorization: Bearer <token>。
驗證:呼叫 get_account。
取得檔案
create_upload(filename, content_type)會回傳一個id和一個upload_url。- 將原始位元組 PUT 到
upload_url。 - 將回傳的
id作為video(縮圖)或file(圖片編輯)參數傳入。
請勿呼叫 complete_upload。 該功能會啟動付費的剪輯管線。免費工具會直接讀取已上傳的檔案。已存在於 list_videos 中的影片也可作為輸入。
extract_thumbnails
extract_thumbnails(video, count?, width?)。
count- 1 到 10,預設為 1。幀畫面會均勻分布於影片中,因此count: 5會提供一個粗略的聯絡表供你挑選。width- 可選的輸出幀像素寬度。
輸出為 幀畫面的 ZIP 壓縮檔,而非個別的圖片 URL。將 ZIP 網址提供給使用者,或如果你需要特定幀畫面,則將其解壓縮。
當使用者想要從精確時間點而非均勻分布取樣時,請先使用 edit_video(operation="trim",請參閱 openclip-video-editing)將影片修剪至該時間點,然後再從修剪後的剪輯中擷取一個縮圖。
edit_image
edit_image(file, operation, ...params),每次呼叫只進行一個操作:
- compress -
quality1 到 100(預設 80),可選format(jpg、png、webp)。 - resize -
width和height(像素),可選format。 - crop - 可選
aspect("1:1"、"9:16"、"16:9"、"4:5")或明確指定x、y、width、height,可選format。
如果圖片將用於網頁,請使用 webp;如果需要廣泛相容,則使用 jpg。
輪詢
兩個工具都會回傳一個 tool_job hashid,其 status: "queued"。每隔 5 到 10 秒輪詢 get_tool_job_status(tool_job):
queued/processing- 仍在處理中,繼續輪詢。completed- 回傳永久 CDNoutputsURL 及result_meta。failed- 回傳error。
規則
- 務必進行輪詢,兩個工具皆為非同步。
- 每次呼叫只進行一個
edit_image操作。若要調整大小後再壓縮,請依序執行兩次呼叫。 extract_thumbnails一律回傳 ZIP 壓縮檔。請勿向使用者承諾個別幀畫面的 URL。- 輸出 URL 為永久 CDN 連結,不會簽署或過期。
- 免費使用有每日速率限制及單一檔案大小上限。
範例提示對應動作
- "從這個影片抓一張縮圖" -
create_upload,PUT 位元組,extract_thumbnails(video),輪詢,回傳 ZIP 網址。 - "給我 5 個幀畫面讓我選擇" -
extract_thumbnails(video, count=5),輪詢。 - "我要 1:30 的幀畫面" -
edit_video(video, operation="trim", start_ms=90000, end_ms=91000),輪詢,然後對該輸出執行extract_thumbnails,輪詢。 - "把這張圖片變成正方形 webp" -
edit_image(file, operation="crop", aspect="1:1", format="webp"),輪詢。 - "這個 PNG 太大了,縮小它" -
edit_image(file, operation="compress", quality=75, format="webp"),輪詢。
相關
將主體裁切為透明 PNG 請使用 openclip-remove-background。影片修剪與裁切請使用 openclip-video-editing。