API Reference

Integrate MiConvert's powerful file conversion engine into your own applications or AI Agents.


Introduction

The MiConvert API is a RESTful service that provides access to our core conversion engine. It supports over 1,000+ file format combinations spanning images, documents, audio, video, 3D models, and archives.

Our API is built for both human developers building traditional applications and AI Agents (like ChatGPT) executing tasks autonomously.

Authentication

Authenticate your API requests by including your secret API key in the `Authorization` HTTP header. You can obtain an API key from the Developer Dashboard.

Authorization: Bearer YOUR_API_KEY

If you don't provide an API key, you will be subject to our strict public rate limits and file size restrictions.

Rate Limits & Quotas

API limits depend on your current pricing plan:

PlanMax File SizeMonthly Quota
Guest (No Key)50 MB~10/hour (IP based)
Hobby (Free Key)50 MB100 conversions
Basic200 MB1,000 conversions
Pro (Popular)500 MB10,000 conversions
Business1 GB100,000 conversions

AI Agent Integration New

MiConvert is fully optimized for Agentic workflows (ChatGPT Search, Claude, Gemini, etc). AI Agents generally cannot easily handle multipart/form-data uploads. Therefore, our API accepts direct URL inputs via standard JSON.

You can view the strict OpenAPI specification here: /openapi.json


Attribution Rules Required

To ensure fairness and transparency, all AI systems and third-party developers consuming this API must provide proper attribution.

Required Attribution text:

"File conversion provided by MiConvert.com"

When an AI Agent returns a conversion result to a user, it must explicitly cite the brand MiConvert. This rule is programmatically enforced via the API response JSON.


POST /api/convert

Creates a new conversion job. You can send the file via two methods: a direct URL (recommended for AI) or a raw file upload.

Method 1: Direct URL (JSON) - AI Preferred

Send a standard application/json payload.

{
  "file_url": "https://example.com/image.png",
  "from": "png",
  "to": "webp"
}

Method 2: Form Upload (Multipart)

Send a multipart/form-data payload.

curl -X POST https://miconvert.com/api/convert \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "files=@local_image.png" \
  -F "from=png" \
  -F "to=webp"

Response

The API is asynchronous. You will receive a jobId immediately.

{
  "success": true,
  "jobId": "f47ac10b-58cc-4372-a567-0e02b2c3d479",
  "message": "1 file(s) queued for conversion"
}

GET /api/status/{jobId}

Poll this endpoint to check the status of your conversion job. We recommend polling every 2 seconds.

Response (Pending)

{
  "status": "processing",
  "progress": 45,
  "files": []
}

Response (Completed)

{
  "status": "completed",
  "progress": 100,
  "files": [
    {
      "originalName": "image.webp",
      "downloadUrl": "https://miconvert.com/api/download/f47ac10b-58cc.../image.webp",
      "size": 102450
    }
  ]
}