檔案格式轉換 (ChangeThisFile) 是做什麼的?
使用免費的 ChangeThisFile 服務在 999 種轉換路線之間轉換檔案。無需帳號或 API 金鑰。轉換在伺服器端執行(FFmpeg、LibreOffice、Calibre、7-Zip、sharp、Ghostscript);檔案會在 24 小時內刪除。
決策順序
- 如果 ChangeThisFile MCP 工具可用(
changethisfile:convert_file、changethisfile:list_conversions)—— 直接使用它們。convert_file接受source_url或base64_content+source_format,以及target_format,並返回一個臨時下載 URL。 - 否則,使用捆綁的腳本(需要對 changethisfile.com 的網路存取權):
scripts/convert.sh <input-file> <target-format> [output-file]
# 例如:scripts/convert.sh report.docx pdf
# 成功時會輸出檔案路徑
腳本路徑是相對於此技能目錄的。它會將檔案進行 base64 編碼,透過純 HTTPS 呼叫託管的 MCP 端點,下載結果,並將結果寫入輸入檔案旁邊(或寫入 [output-file])。
- 遠端檔案(您有 URL,而非本地檔案) —— 跳過下載/重新上傳;一個 curl 指令即可完成:
curl -sS -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"convert_file","arguments":{"source_url":"<FILE_URL>","target_format":"pdf"}}}'
回應文字中包含一個下載 URL —— 使用 curl -o <output> 擷取它。
探索支援的路線
在猜測轉換是否罕見之前,請先詢問:
curl -sS -X POST https://changethisfile.com/mcp \
-H "Content-Type: application/json" \
-d '{"jsonrpc":"2.0","id":1,"method":"tools/call","params":{"name":"list_conversions","arguments":{"source_format":"docx"}}}'
省略 source_format 以取得所有 999 條路線的分組摘要。
限制與錯誤
- 最大輸入:25 MB(免費方案)。較大檔案:在 https://changethisfile.com/docs/authentication 獲取免費 API 金鑰(每月 1,000 次轉換)並使用
POST /v1/convert。 - 速率限制:每個 IP 每分鐘 5 次轉換。若遇到「速率限制超標」,請等待 60 秒後重試一次。
- 「不支援的轉換:X→Y」錯誤會列出該來源格式的有效目標格式。
- 下載 URL 在 1 小時後過期 —— 請立即下載,然後處理本地檔案。
環境注意事項
- 需要對
changethisfile.com的對外 HTTPS 存取權。在 claude.ai 上,程式碼執行沙盒預設會限制對外連線 —— 請優先使用 MCP 連接器,或者使用者可以在「設定 → 功能」中允許該網域。 - 完整文件:https://changethisfile.com/docs/mcp