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_KEYIf 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:
| Plan | Max File Size | Monthly Quota |
|---|---|---|
| Guest (No Key) | 50 MB | ~10/hour (IP based) |
| Hobby (Free Key) | 50 MB | 100 conversions |
| Basic | 200 MB | 1,000 conversions |
| Pro (Popular) | 500 MB | 10,000 conversions |
| Business | 1 GB | 100,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
}
]
}