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.

CHF 0.01 / callCall itTry it
Francis typewriter, patent model, 1857
Francis typewriter, patent model1857

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

REST
curl -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 name
convert_file

After 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"
    }
  ]
}