Convert documents to Markdown or JSON
Convert a PDF, Word (.docx), Excel (.xlsx), PowerPoint (.pptx), CSV, HTML or text file into clean Markdown, plain text, CSV or structured JSON that a language model can read.

Details
Input: the file as base64, up to 10 MB. The type is detected from the content.
Output: markdown (default), text, json (headings, paragraphs, lists and tables for Word; rows and header-keyed records per sheet for Excel; slides with titles and notes for PowerPoint; text per page for PDF) or csv (spreadsheets).
Does not cover: scanned PDFs without a text layer (no OCR; the result says scanned: true), images, old .doc/.xls/.ppt, password-protected files. Files are processed in memory and not stored.
Price: CHF 0.01 per file (first 100 calls per day free).
Example: {"file_base64":"<base64 of a .docx>","format":"markdown"} → {"type":"docx","content":"# Quarterly report\n\nRevenue grew by **12%** …"}.
Call it
RESTcurl -X POST https://api.tausendwerk.xyz/v1/convert-file \
-H "Content-Type: application/json" \
-d '{"file_base64":"SGVsbG8sIHdvcmxkIQ==","filename":"hello.txt","format":"markdown"}'MCP tool nameconvert_fileAfter the free 100 calls per day, add a key: Authorization: Bearer tw_live_…. Pricing
Try it
Runs against the live API with the free allowance.
Input schema JSON Schema
{
"type": "object",
"additionalProperties": false,
"required": [
"file_base64"
],
"properties": {
"file_base64": {
"type": "string",
"minLength": 4,
"maxLength": 14500000,
"description": "File content, base64. A data: URL prefix is accepted."
},
"filename": {
"type": "string",
"maxLength": 255,
"description": "Optional; helps tell CSV from text."
},
"format": {
"type": "string",
"enum": [
"markdown",
"text",
"json",
"csv"
],
"default": "markdown"
},
"sheet": {
"type": "string",
"maxLength": 100,
"description": "Excel: only this sheet. CSV output uses the first sheet if not given."
}
},
"examples": [
{
"file_base64": "SGVsbG8sIHdvcmxkIQ==",
"filename": "hello.txt",
"format": "markdown"
}
]
}