1,000+ conversion routes plus translate, extract tables, compress. 25 free/month, then a free key.
Maintain this server? Claim it
Call this server's tools from your browser. Nothing to install.
Requests go through mcptry because browsers can't call most MCP servers directly. Header values are sent to the server for that request only and are never stored or logged.
Tool list from our last check. Connect live to refresh it.
Check the status of a previously submitted file job (translate_file, extract_tables, compress_file). Returns the current status, preview + checkout link for completed paid jobs, or the download URL for completed free/paid-and-unlocked jobs.
The job_id returned by a job tool
Check the status of a previously submitted file job (translate_file, extract_tables, compress_file). Returns the current status, preview + checkout link for completed paid jobs, or the download URL for completed free/paid-and-unlocked jobs.
| Argument | Type | Description |
|---|---|---|
| job_id* | string | The job_id returned by a job tool |
{
"type": "object",
"required": [
"job_id"
],
"properties": {
"job_id": {
"type": "string",
"description": "The job_id returned by a job tool"
}
}
}Compress a file (PDF, JPG, PNG, WebP, MP4, MOV, WebM) down to an exact target size — e.g. "under 5MB for an upload form". FREE (daily limit applies). Returns a download URL on success; if the target is physically unreachable it fails honestly and reports the smallest achievable size. Provide EITHER source_url OR base64_content, plus a filename with extension.
| Argument | Type | Description |
|---|---|---|
| filename | string | Filename WITH extension (e.g. "report.pdf"). Required when the format cannot be inferred from source_url. |
| source_url | string | Publicly accessible URL of the input file (preferred for large files) |
| base64_content | string | Base64-encoded file content (for small files) |
| target_size_kb* | integer | Target maximum size in kilobytes (e.g. 5120 for 5MB). Min 50KB. |
{
"type": "object",
"required": [
"target_size_kb"
],
"properties": {
"filename": {
"type": "string",
"description": "Filename WITH extension (e.g. \"report.pdf\"). Required when the format cannot be inferred from source_url."
},
"source_url": {
"type": "string",
"description": "Publicly accessible URL of the input file (preferred for large files)"
},
"base64_content": {
"type": "string",
"description": "Base64-encoded file content (for small files)"
},
"target_size_kb": {
"type": "integer",
"description": "Target maximum size in kilobytes (e.g. 5120 for 5MB). Min 50KB."
}
}
}Convert a file from one format to another. Anonymous callers get 25 free conversions per month per network; after that a free verified ChangeThisFile API key is required (25/month shared across REST + MCP; send it as Authorization: Bearer ctf_sk_…). Pass EITHER a publicly accessible URL (source_url) OR base64-encoded file contents (base64_content + source_format) — exactly one is required. Returns a temporary download URL (valid 1 hour; file deleted within 24 hours).
| Argument | Type | Description |
|---|---|---|
| filename | string | Optional filename hint for auto-detection (e.g. "document.docx"). Include this for extensionless download URLs when known. |
| source_url | string | Publicly accessible URL of the file to convert (preferred for large files) |
| source_format | string | Source format extension (e.g. "docx", "mp4"). Optional: detected from filename, URL response filename, or file bytes when omitted. |
| target_format* | string | Target format extension (e.g. "json", "mp3", "pdf"). Required. |
| base64_content | string | Base64-encoded file content (for small files; max ~5MB) |
{
"type": "object",
"required": [
"target_format"
],
"properties": {
"filename": {
"type": "string",
"description": "Optional filename hint for auto-detection (e.g. \"document.docx\"). Include this for extensionless download URLs when known."
},
"source_url": {
"type": "string",
"description": "Publicly accessible URL of the file to convert (preferred for large files)"
},
"source_format": {
"type": "string",
"description": "Source format extension (e.g. \"docx\", \"mp4\"). Optional: detected from filename, URL response filename, or file bytes when omitted."
},
"target_format": {
"type": "string",
"description": "Target format extension (e.g. \"json\", \"mp3\", \"pdf\"). Required."
},
"base64_content": {
"type": "string",
"description": "Base64-encoded file content (for small files; max ~5MB)"
}
}
}Describe what you want done to a file in plain language — e.g. "translate this contract to German", "pull every table out of this PDF into Excel", "shrink this video to under 25MB", "convert this to PDF". The instruction is routed to the right job automatically; if the request is not supported yet you get an honest explanation of what is. Provide EITHER source_url OR base64_content, plus a filename with extension.
| Argument | Type | Description |
|---|---|---|
| filename | string | Filename WITH extension (e.g. "report.pdf"). Required when the format cannot be inferred from source_url. |
| source_url | string | Publicly accessible URL of the input file (preferred for large files) |
| instruction* | string | What to do with the file, in plain language (any language) |
| base64_content | string | Base64-encoded file content (for small files) |
{
"type": "object",
"required": [
"instruction"
],
"properties": {
"filename": {
"type": "string",
"description": "Filename WITH extension (e.g. \"report.pdf\"). Required when the format cannot be inferred from source_url."
},
"source_url": {
"type": "string",
"description": "Publicly accessible URL of the input file (preferred for large files)"
},
"instruction": {
"type": "string",
"description": "What to do with the file, in plain language (any language)"
},
"base64_content": {
"type": "string",
"description": "Base64-encoded file content (for small files)"
}
}
}Extract every table from a PDF or image (PNG, JPG, WebP) into a clean multi-sheet Excel file. The job runs immediately and returns a FREE preview of the first table plus a secure Stripe checkout link — the full .xlsx unlocks after payment ($3.99, one-time, no account needed). Provide EITHER source_url OR base64_content, plus a filename with extension.
| Argument | Type | Description |
|---|---|---|
| filename | string | Filename WITH extension (e.g. "report.pdf"). Required when the format cannot be inferred from source_url. |
| source_url | string | Publicly accessible URL of the input file (preferred for large files) |
| base64_content | string | Base64-encoded file content (for small files) |
{
"type": "object",
"required": [],
"properties": {
"filename": {
"type": "string",
"description": "Filename WITH extension (e.g. \"report.pdf\"). Required when the format cannot be inferred from source_url."
},
"source_url": {
"type": "string",
"description": "Publicly accessible URL of the input file (preferred for large files)"
},
"base64_content": {
"type": "string",
"description": "Base64-encoded file content (for small files)"
}
}
}List all supported conversion routes. Optionally filter by source format to see what you can convert FROM a specific format.
| Argument | Type | Description |
|---|---|---|
| source_format | string | Filter by source format (e.g. "docx" returns all DOCX target options) |
{
"type": "object",
"required": [],
"properties": {
"source_format": {
"type": "string",
"description": "Filter by source format (e.g. \"docx\" returns all DOCX target options)"
}
}
}Translate a document into another language with the original layout and formatting preserved (DOCX, PPTX, XLSX, PDF, TXT, MD, SRT, VTT). The job runs immediately and returns a FREE preview of the first pages plus a secure Stripe checkout link — the full translated file unlocks after payment ($4.99, one-time, no account needed). Provide EITHER source_url OR base64_content, plus a filename with extension.
| Argument | Type | Description |
|---|---|---|
| filename | string | Filename WITH extension (e.g. "report.pdf"). Required when the format cannot be inferred from source_url. |
| source_url | string | Publicly accessible URL of the input file (preferred for large files) |
| base64_content | string | Base64-encoded file content (for small files) |
| target_language* | string | Target language name, e.g. "Spanish", "Japanese", "Brazilian Portuguese" |
{
"type": "object",
"required": [
"target_language"
],
"properties": {
"filename": {
"type": "string",
"description": "Filename WITH extension (e.g. \"report.pdf\"). Required when the format cannot be inferred from source_url."
},
"source_url": {
"type": "string",
"description": "Publicly accessible URL of the input file (preferred for large files)"
},
"base64_content": {
"type": "string",
"description": "Base64-encoded file content (for small files)"
},
"target_language": {
"type": "string",
"description": "Target language name, e.g. \"Spanish\", \"Japanese\", \"Brazilian Portuguese\""
}
}
}