Developer API

Integrate file conversion into your product.

Simple REST API with upload, convert, and download endpoints. Get your API key in seconds.

Get API key
Your API Key

Use this key in the Authorization header for all requests. Keep it secret.

340 / 1,000 requests this month Pro plan
POST /api/upload

Upload a file for conversion. Returns a file ID and detected format.

Request
POST /api/upload
Content-Type: multipart/form-data
Authorization: Bearer YOUR_API_KEY

file: photo.png
Response 200 OK
{
  "file_id": "12345",
  "filename": "photo.png",
  "format": "png",
  "size": 2457600
}
POST /api/convert

Start a conversion job. Returns a job ID for status polling.

Request
POST /api/convert
Content-Type: application/json
Authorization: Bearer YOUR_API_KEY

{
  "file_id": "12345",
  "target_format": "jpg",
  "quality": "screen"
}
Response 202 Accepted
{
  "job_id": "98765",
  "status": "queued"
}
GET /api/status/:job_id

Check conversion progress. Poll until status is "completed".

Request
GET /api/status/98765
Authorization: Bearer YOUR_API_KEY
Response 200 OK
{
  "job_id": "98765",
  "status": "completed",
  "progress": 100,
  "download_url": "/api/download/98765"
}
GET /api/download/:job_id

Download the converted file. Returns the binary file with appropriate Content-Type header.

Request
GET /api/download/98765
Authorization: Bearer YOUR_API_KEY
Response 200 OK
Content-Type: image/jpeg
Content-Disposition: attachment;
  filename="photo_converted.jpg"

[binary data]
Authentication

All API requests require a Bearer token in the Authorization header. Get your API key from your account dashboard.

Authorization: Bearer YOUR_API_KEY
Rate Limits
PlanRequests/monthMax file sizeConcurrent jobs
Pro1,000500 MB5
EnterpriseUnlimitedNo limit50
Error Codes
CodeMeaning
400Bad request — missing or invalid parameters
401Unauthorized — invalid or missing API key
413File too large — exceeds plan limit
422Unsupported format combination
429Rate limit exceeded
500Server error — conversion failed