文件格式转换 (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 次转换。遇到 "Rate limit exceeded" 时,等待 60 秒然后重试一次。
- "Unsupported conversion: X→Y" 错误会列出该源格式的有效目标格式。
- 下载 URL 1 小时后过期——立即下载,然后处理本地文件。
环境说明
- 需要出站 HTTPS 连接至
changethisfile.com。在 claude.ai 上,代码执行沙箱默认限制出站流量——在那里优先使用 MCP 连接器,或者用户可以在设置 → 功能中允许该域名。 - 完整文档:https://changethisfile.com/docs/mcp