File & Convert Toolkit

Universal format conversion across 9 categories — structured data, markup, documents, spreadsheets, images, media, presentations, ebooks, and calendar/contact formats. Each category follows a consistent pattern: a POST endpoint for inline or URL-referenced input returning JSON, and a GET endpoint that streams the converted file directly.

Base URL

https://convert.toolkitapi.io/v1/

Endpoints by Category

Data Formats

Convert between JSON, CSV, XML, YAML, and TOML — in any direction.

Method Endpoint Description
POST /v1/convert/data Convert between JSON, CSV, XML, YAML, and TOML
GET /v1/convert/data Stream a converted data file from a URL source

Markup

Convert between Markdown, HTML, and plain text with optional sanitization and GFM support.

Method Endpoint Description
POST /v1/convert/markup Convert between Markdown, HTML, and plain text
GET /v1/convert/markup Stream a converted markup file from a URL source

Documents

Convert PDF, DOCX, EPUB, HTML, DOC, RTF, ODT, and TXT via LibreOffice.

Method Endpoint Description
POST /v1/convert/document Convert between PDF, DOCX, EPUB, HTML, and more
GET /v1/convert/document Stream a converted document from a URL source

Spreadsheets

Convert between CSV, XLSX, XLS, ODS, XLSM, and JSON.

Method Endpoint Description
POST /v1/convert/spreadsheet Convert between CSV, XLSX, and JSON
GET /v1/convert/spreadsheet Stream a converted spreadsheet from a URL source

Images

Convert between PNG, JPEG, WebP, GIF, BMP, TIFF, AVIF, SVG, and more.

Method Endpoint Description
POST /v1/convert/image Convert an image between formats (base64 or URL input)
GET /v1/convert/image Stream a converted image from a URL source

Media

Convert video and audio between formats via FFmpeg, extract thumbnails, and probe metadata.

Method Endpoint Description
POST /v1/convert/media Convert a video or audio file
GET /v1/convert/media Stream a converted media file from a URL source
POST /v1/convert/video-thumbnail Extract a frame from a video as an image
POST /v1/convert/media-info Probe a media file for metadata
GET /v1/convert/supported-media-formats List supported media conversion pairs

Presentations

Convert PPTX, PPT, and ODP to PDF via LibreOffice.

Method Endpoint Description
POST /v1/convert/presentation Convert a presentation to PDF
GET /v1/convert/presentation Stream a converted presentation from a URL source

Ebooks

Convert MOBI, AZW, AZW3, FB2, CBR, and CBZ to EPUB or PDF via Calibre.

Method Endpoint Description
POST /v1/convert/ebook Convert ebook formats to EPUB or PDF
GET /v1/convert/ebook Stream a converted ebook from a URL source

Calendar & Contacts

Convert between vCard (.vcf), iCalendar (.ics), and JSON.

Method Endpoint Description
POST /v1/convert/calendar Convert between vCard, ICS, and JSON

Code

Generate typed code artifacts from data structures.

Method Endpoint Description
POST /v1/convert/json-to-typescript Generate TypeScript interfaces from a JSON object

Format Discovery

Method Endpoint Description
GET /v1/convert/formats List supported format pairs across all categories
GET /v1/convert/formats/{category} List supported format pairs for one category

Quick SDK Example

from toolkitapi import Convert

cv = Convert(api_key="tk_...")

# Convert a JSON array to CSV
result = cv.data(
    from_format="json",
    to_format="csv",
    data=[{"name": "Alice", "score": 95}, {"name": "Bob", "score": 87}],
)
print(result["result"])
# name,score
# Alice,95
# Bob,87

Tip

Every category follows the same pattern: pass from_format and to_format plus your content via data, content, file (base64), or url. Use the _file variant of each method to receive raw bytes instead of JSON.