{"openapi":"3.0.0","info":{"title":"Everything to Markdown Studio API","description":"Public Zero-Key Document-to-Markdown Converter & Cloudflare Workers AI env.AI.toMarkdown() REST API (0-Neuron document formats only, max 10 MB).","version":"2.7.0"},"servers":[{"url":"https://markdown.codeap.com","description":"Production Cloudflare Worker Edge Endpoint"},{"url":"/","description":"Current Origin"}],"paths":{"/":{"get":{"summary":"Universal Document-to-Markdown Workbench","description":"Public interactive web workbench supporting local 0ms HTML/CSV/TSV/JSON conversion and keyless Workers AI binary document uploads (.pdf, .docx, .xlsx, .ods, .numbers).","responses":{"200":{"description":"HTML Workbench Interface"}}}},"/tools/html-to-markdown":{"get":{"summary":"HTML & Web DOM to GitHub-Flavored Markdown Converter","responses":{"200":{"description":"HTML to GFM Converter Page"}}}},"/tools/csv-json-to-markdown-table":{"get":{"summary":"CSV, TSV & JSON to GFM Markdown Table Generator","responses":{"200":{"description":"CSV/JSON to Markdown Table Page"}}}},"/tools/rag-markdown-chunker":{"get":{"summary":"RAG Semantic Markdown Chunker & Token Splitter","responses":{"200":{"description":"RAG Markdown Chunker Page"}}}},"/tools/workers-ai-tomarkdown-api":{"get":{"summary":"Cloudflare Workers AI toMarkdown API Playground & SDK Generator","responses":{"200":{"description":"Workers AI API Playground Page"}}}},"/api/convert":{"post":{"summary":"Convert binary or markup document to Markdown via Cloudflare Workers AI (Keyless Public API)","description":"Uploads a free 0-Neuron document (.pdf, .docx, .doc, .xlsx, .xlsm, .xlsb, .xls, .et, .ods, .odt, .numbers, .html, .xml, .csv) up to 10 MB and converts it to Markdown using env.AI.toMarkdown(). Image and SVG files are rejected (415) to guarantee zero vision-model Neuron charges.","requestBody":{"required":true,"content":{"multipart/form-data":{"schema":{"type":"object","properties":{"file":{"type":"string","format":"binary","description":"Document file to convert (max 10 MB; images/SVGs not accepted)"},"format":{"type":"string","enum":["json","markdown"],"description":"Response format (defaults to json, or markdown when Accept: text/markdown)"}},"required":["file"]}}}},"responses":{"200":{"description":"Converted Markdown payload and token metadata","content":{"application/json":{"schema":{"type":"object","properties":{"data":{"type":"string","description":"Converted Markdown content"},"name":{"type":"string","description":"Original filename"},"size":{"type":"number","description":"File size in bytes"},"mimetype":{"type":"string","description":"Detected MIME type"},"tokens":{"type":"number","description":"Estimated token count"}}}},"text/markdown":{"schema":{"type":"string"}}}},"400":{"description":"Bad request — missing or empty file"},"413":{"description":"Payload Too Large — file exceeds 10 MB limit"},"415":{"description":"Unsupported Media Type — image/SVG or unsupported format"},"429":{"description":"Too Many Requests — per-IP rate limit exceeded"},"500":{"description":"Workers AI conversion error"}}}}}}