{ "openapi": "3.0.1", "info": { "title": "ConvertAPI", "description": "# High-Performance File Conversion API\nConvert Word, Excel, PowerPoint, HTML, PDF and Image formats with our powerful file conversion service.\nWe support more than [200 file types.]( https://www.convertapi.com/doc/file-formats)", "termsOfService": "https://www.convertapi.com/terms", "contact": { "url": "https://www.convertapi.com/support", "email": "support@convertapi.com" }, "license": { "name": "Apache 2.0", "url": "http://www.apache.org/licenses/LICENSE-2.0.html" }, "version": "v2" }, "servers": [ { "url": "https://v2.convertapi.com" }, { "url": "https://eu-v2.convertapi.com" }, { "url": "https://uk-v2.convertapi.com" }, { "url": "https://us-v2.convertapi.com" }, { "url": "https://ca-v2.convertapi.com" }, { "url": "https://as-v2.convertapi.com" }, { "url": "https://au-v2.convertapi.com" } ], "paths": { "/convert/file/to/md": { "summary": "File to MD API", "description": "Convert PDF, Word, Excel, PowerPoint and HTML documents to clean, LLM ready Markdown with structure preserved for RAG pipelines.", "post": { "tags": [ "Conversion" ], "externalDocs": { "description": "Read more about the converter", "url": "https://www.convertapi.com/file-to-md" }, "requestBody": { "content": { "multipart/form-data": { "schema": { "required": [ "File" ], "type": "object", "properties": { "File": { "type": "string", "description": "File to be converted. Value can be URL or file content.", "format": "binary", "x-ca-featured": true, "x-ca-label": "File", "x-ca-group": "Input", "x-ca-type": "File", "x-ca-representation": "Default", "x-ca-allowed-extensions": [ "doc", "docx", "pdf", "html", "htm", "xls", "xlsx", "ppt", "pptx" ] }, "FileName": { "type": "string", "description": "The `FileName` property defines the name of the output file(s) generated by the file conversion API, ensuring safe and\r\nunique file naming. It sanitizes input filenames to remove potentially harmful characters, automatically appends the\r\ncorrect file extension based on the target format, and includes an indexing feature to distinguish multiple output files\r\nfrom a single input. For example, converting `report.docx` to PDF format might result in `report.pdf` for a single file,\r\nor `report_0.pdf`, `report_1.pdf` for multiple files, ensuring each output file is uniquely identifiable.", "x-ca-featured": false, "x-ca-label": "Output file name", "x-ca-group": "Output", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "200" } }, "Password": { "type": "string", "description": "Sets the password to open protected documents.", "x-ca-featured": false, "x-ca-label": "Open Password", "x-ca-group": "Document", "x-ca-type": "String", "x-ca-representation": "Default" }, "PageRange": { "type": "string", "description": "Set page range or individual pages to convert. Example 1-10 or 1,2,5.", "default": "1-2000", "x-ca-featured": false, "x-ca-label": "Page Range", "x-ca-group": "Input", "x-ca-type": "String", "x-ca-representation": "Default", "x-ca-range": { "from": "1", "to": "2000" } }, "Images": { "enum": [ "embed", "extract", "remove", "describe" ], "type": "string", "description": "Controls how images are handled in the resulting Markdown. `Embed` produces a self-contained document with images embedded as base64 data URIs. `Extract` saves images as separate files referenced by relative links, the result is a zip archive with the Markdown and image files, or a plain Markdown file when the document has no images. `Remove` replaces images with their alt text when available, producing compact output suited for machine processing. `Describe` replaces every image with AI generated text: scanned text and tables are transcribed, pictures become short descriptions, producing text-only Markdown for LLM and RAG scenarios.", "default": "embed", "x-ca-featured": true, "x-ca-label": "Images", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "embed": "Embed images as base64", "extract": "Extract images to separate files (zip)", "remove": "Remove images", "describe": "Describe images with AI" } }, "ListBulletChar": { "enum": [ "-", "*", "+" ], "type": "string", "description": "The character used to mark bullet list items. Markdown allows a hyphen, an asterisk or a plus sign, all three are rendered the same.", "default": "-", "x-ca-featured": false, "x-ca-label": "List bullet char", "x-ca-group": "Options", "x-ca-type": "Collection", "x-ca-representation": "Dropdown", "x-ca-values": { "-": "Hyphen (-)", "*": "Asterisk (*)", "+": "Plus (+)" } }, "DetectHeadings": { "type": "boolean", "description": "Detect headings by font size in documents that use direct formatting instead of named heading styles, for example documents recreated from PDF. Documents with real heading styles are unaffected.", "default": true, "x-ca-featured": false, "x-ca-label": "Detect headings", "x-ca-group": "Options", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "StoreFile": { "type": "boolean", "description": "When the `StoreFile` parameter is set to `True`, your converted file is written to ConvertAPI’s encrypted, temporary storage and made available via a time-limited secure download URL, valid for up to 3 hours. After this period, the file is permanently deleted.\r\n\r\nWhen `StoreFile` is set to `False`, conversion happens entirely in-memory. The raw file bytes are streamed back in the API response without touching disk or external storage, ensuring maximum security and zero persistence so that only you can access the content.\r\n", "default": false, "x-ca-featured": false, "x-ca-label": "Store file", "x-ca-group": "Output", "x-ca-type": "Bool", "x-ca-representation": "Default" }, "Timeout": { "maximum": 1200, "minimum": 10, "type": "integer", "description": "Conversion timeout in seconds.", "default": 900, "x-ca-featured": false, "x-ca-label": "Timeout", "x-ca-group": "Execution", "x-ca-type": "Integer", "x-ca-representation": "Default", "x-ca-range": { "from": "10", "to": "1200" } } } } } } }, "responses": { "200": { "description": "Success", "content": { "application/json": { "schema": { "type": "object", "properties": { "ConversionCost": { "type": "integer", "description": "This amount will be deducted from your balance after the conversion.", "format": "int32", "example": 1 }, "Files": { "type": "array", "items": { "type": "object", "properties": { "FileName": { "type": "string", "description": "Name of the converted file.", "example": "myfile.pdf" }, "FileExt": { "type": "string", "description": "File type (file name extension)", "example": "pdf" }, "FileSize": { "type": "integer", "description": "File size", "format": "int32", "example": 111955 }, "FileId": { "type": "string", "description": "File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "Url": { "type": "string", "description": "File URL", "example": "https://v2.convertapi.com/d/v01plsb72o0cmdooq90w4d1lnqsf6oy4/myfile.pdf" }, "FileData": { "type": "string", "description": "Base64 encoded file data", "format": "base64", "example": "JVBERi0xLjcKJb662+4KMSAwIG9iago8PC9UeXBlIC9DYXRhbG9n..." } } } } }, "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationjson-1" } } }, "multipart/mixed": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#multipartmixed" } }, "example": "--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f\nConversionCost: 1\nContent-Type: application/octet-stream\nContent-Disposition: attachment; filename=\"my_file.pdf\"; size=8475\n\n--FILE CONTENT--\n--43cf1475-ab15-4c6b-b5ee-e2cbcedfe92f--\n" }, "application/octet-stream": { "schema": { "type": "string", "format": "binary", "externalDocs": { "url": "https://www.convertapi.com/doc/content-types#applicationoctet-stream-1" } } } } }, "400": { "$ref": "#/components/responses/400" }, "401": { "$ref": "#/components/responses/401" }, "415": { "$ref": "#/components/responses/415" }, "500": { "$ref": "#/components/responses/500" }, "503": { "$ref": "#/components/responses/503" } }, "security": [ { "secret": [ ] }, { "token": [ ] }, { "jwt": [ ] } ] }, "x-ca-overview": "Convert PDF, Word, Excel, PowerPoint and HTML documents to Markdown with a single universal API, without picking a converter per file type.\nMarkdown is the format large language models read best, so this converter is built for AI workloads. The output keeps the document structure that matters downstream: headings become Markdown headings, so chunking on them keeps every chunk in context; tables become Markdown tables that models read reliably; lists, emphasis and links are preserved. Page headers and footers are left out, keeping the text free of the noise that pollutes embeddings; spreadsheets become one table per worksheet, labeled with its sheet name, and presentations one section per slide, under its title.\nThe Images parameter decides what happens to the pictures in a document. Use embed for one self contained file, extract to get the images as separate files, remove for the most compact text, or describe to let an AI model turn them into text: scanned paragraphs and tables are transcribed, charts and photos get short descriptions, and decorative images are dropped. Content that only exists inside an image becomes searchable text this way.\nTypical uses are RAG document ingestion, feeding documents into a vector database, passing files as model context, and moving document archives into wikis or static sites.\n", "x-ca-overview-markdown": "Convert PDF, Word, Excel, PowerPoint and HTML documents to Markdown with a single universal API, without picking a converter per file type.\r\n\r\nMarkdown is the format large language models read best, so this converter is built for AI workloads. The output keeps the document structure that matters downstream: headings become Markdown headings, so chunking on them keeps every chunk in context; tables become Markdown tables that models read reliably; lists, emphasis and links are preserved. Page headers and footers are left out, keeping the text free of the noise that pollutes embeddings; spreadsheets become one table per worksheet, labeled with its sheet name, and presentations one section per slide, under its title.\r\n\r\nThe `Images` parameter decides what happens to the pictures in a document. Use `embed` for one self contained file, `extract` to get the images as separate files, `remove` for the most compact text, or `describe` to let an AI model turn them into text: scanned paragraphs and tables are transcribed, charts and photos get short descriptions, and decorative images are dropped. Content that only exists inside an image becomes searchable text this way.\r\n\r\nTypical uses are RAG document ingestion, feeding documents into a vector database, passing files as model context, and moving document archives into wikis or static sites.\r\n", "x-ca-meta-title": "File to Markdown API - Convert documents to LLM ready MD", "x-ca-meta-description": "Convert PDF, Word, Excel, PowerPoint and HTML documents to Markdown with a single API. Structured output for RAG pipelines, embeddings and LLM context, with optional AI descriptions of images.", "x-ca-keywords": "markdown, md, llm, rag, ai, embeddings, chunking, context, ingestion, document", "x-ca-source-formats": "doc,docx,pdf,html,htm,xls,xlsx,ppt,pptx", "x-ca-destination-formats": "md", "x-ca-tags": [ "markdown", "document", "featured" ] } }, "components": { "schemas": { "fileId": { "maxLength": 32, "minLength": 32, "type": "string", "description": "Uploaded File ID", "example": "25811safe8e61dd3f51ef00ee5f58b92" }, "error": { "type": "object", "properties": { "Code": { "type": "integer", "description": "Error message code", "format": "int32", "example": 4000 }, "Message": { "type": "string", "description": "Error message text", "example": "Parameter validation error." } }, "externalDocs": { "url": "https://www.convertapi.com/doc/response-codes" } } }, "responses": { "400": { "description": "Malformed request", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "401": { "description": "Authentication error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "415": { "description": "File type error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "500": { "description": "Conversion failure", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } }, "503": { "description": "Conversion rate limit error", "content": { "application/json": { "schema": { "$ref": "#/components/schemas/error" } } } } }, "parameters": { "fileId": { "name": "fileId", "in": "path", "description": "File ID", "required": true, "schema": { "$ref": "#/components/schemas/fileId" } }, "src": { "name": "src", "in": "path", "description": "Source file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } }, "dst": { "name": "dst", "in": "path", "description": "Destination file format (docx, pdf, jpg etc.)", "required": true, "schema": { "type": "string" } } }, "headers": { "content-disposition": { "description": "File information ([docummentation](https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Content-Disposition))", "schema": { "type": "string" } }, "file-name": { "description": "File name", "schema": { "type": "string" } }, "file-ext": { "description": "File name extension", "schema": { "type": "string" } }, "file-size": { "description": "File size", "schema": { "type": "integer" } } }, "securitySchemes": { "secret": { "type": "http", "description": "[Get `Secret`](https://www.convertapi.com/a/secret)", "scheme": "bearer" }, "token": { "type": "http", "description": "[Get `Token`](https://www.convertapi.com/a/api-tokens)", "scheme": "bearer" }, "jwt": { "type": "http", "description": "[Get `JWT`](https://www.convertapi.com/a/jwt-tokens)", "scheme": "bearer", "bearerFormat": "JWT" } } }, "tags": [ { "name": "Conversion", "description": "File Conversion API call", "externalDocs": { "description": "File Conversion related operations", "url": "https://www.convertapi.com/doc/content-types" } }, { "name": "File Server", "description": "ConvertAPI temporary file storage", "externalDocs": { "description": "File Server related operations", "url": "https://www.convertapi.com/doc/upload" } }, { "name": "User", "description": "API User", "externalDocs": { "description": "API User related operations", "url": "https://www.convertapi.com/doc/user" } } ], "externalDocs": { "description": "Find out more about ConvertAPI", "url": "https://www.convertapi.com/doc" } }