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.