Image Converter API

A high-performance image processing and format conversion API powered by native libvips. Convert PNG, JPG, BMP, TIFF, or GIF images into ultra-efficient WebP or AVIF files with controllable quality, trimming, dynamic resizing, and optional GitHub Cloud Vault temporary storage.

Sub-50ms Processing
Native C-level image pipeline running via Sharp.
Vault Storage
Optional 24h cloud holding with streaming proxy.
Full Privacy Proxy
Direct streaming without exposing upstream tokens.

Base URL

https://converter.kuramolabs.com

Authentication (Private API)

This API is private and protected. Every API request requires a valid API key. Unauthorized requests without a key will be rejected with HTTP 401 Unauthorized.

Method 1 (Header) X-API-Key: YOUR_API_KEY Standard header (recommended)
Method 2 (Bearer) Authorization: Bearer KEY Standard Bearer token format
Method 3 (Query) ?apiKey=YOUR_API_KEY Useful for download links
LIFETIME DEAL

Needs CTA Lifetime? contact hello@kuramolabs.com

Get unlimited conversions, high-speed dedicated bandwidth, custom batch endpoints, and permanent vault storage access.

Contact hello@kuramolabs.com

Quickstart Examples

1. Convert local file to WebP (Direct Stream)
curl -X POST https://converter.kuramolabs.com/api/convert \
  -H "X-API-Key: YOUR_API_KEY" \
  -F "file=@photo.png" \
  -F "format=webp" \
  -F "quality=85" \
  --output photo.webp
2. Convert remote URL & Store in Cloud Vault (Returns JSON)
curl -X POST https://converter.kuramolabs.com/api/convert \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "url": "https://images.unsplash.com/photo-1544551763-46a013bb70d5",
    "format": "webp",
    "width": 1200,
    "quality": 80,
    "store": true
  }'
POST /api/convert

Main conversion endpoint. Upload an image file via multipart/form-data or provide a public URL via application/json.

Parameter Type Default Description
file Binary — The image file to convert (multipart field). Max 50 MB.
url String — Direct image URL, Google Drive link, Dropbox, or GitHub raw link.
format String webp Output format: webp, png, jpeg, avif, tiff.
quality Integer 85 Compression quality level from 1 to 100.
width / height Integer — Resize target dimensions in pixels (proportions preserved by default).
scale Float — Scale multiplier (e.g. 0.5 for 50%, 1.5 for 150%).
trim Boolean false Automatically trims whitespace or transparent border pixels.
store Boolean false When true, uploads the result to GitHub Cloud Vault and returns JSON download URL.

Example JSON Response (when store=true)

{
  "success": true,
  "filename": "my_photo.webp",
  "format": "webp",
  "width": 1920,
  "height": 1080,
  "originalSize": 2450123,
  "size": 312040,
  "savings": "87.3%",
  "downloadUrl": "https://converter.kuramolabs.com/api/download/183458992",
  "proxyUrl": "https://converter.kuramolabs.com/api/download/183458992?inline=1",
  "stored": true,
  "createdAt": "2026-10-06T14:15:00.000Z"
}
GET /api/download/:assetId

Proxies and streams the converted image file directly from the GitHub Cloud Vault storage. The origin GitHub release URL is kept strictly confidential and never exposed.

Query Param: ?inline=1 (Opens in browser) Query Param: ?download=1 (Forces download dialog)

Client Code Examples

JavaScript / Node.js
const formData = new FormData();
formData.append('file', fileInput.files[0]);
formData.append('format', 'webp');
formData.append('quality', '85');
formData.append('store', 'true');

const res = await fetch('https://converter.kuramolabs.com/api/convert', {
  method: 'POST',
  body: formData
});

const data = await res.json();
console.log('Saved image URL:', data.downloadUrl);
console.log('Size saved:', data.savings);
Python (requests)
import requests

files = {'file': open('photo.png', 'rb')}
data = {'format': 'webp', 'quality': 85}

# Direct stream download:
r = requests.post(
    'https://converter.kuramolabs.com/api/convert',
    files=files,
    data=data
)

with open('photo.webp', 'wb') as f:
    f.write(r.content)

print(f"Converted: {len(r.content)} bytes")

Interactive API Tester

Execute live requests against POST /api/convert directly from this browser console.