IMAGEMANIP

Advanced Image Processing Pipeline

Drag & drop an image or click to browse

JPG, PNG, BMP, WebP up to 20 MB

API

Integrate IMAGEMANIP into your own apps and workflows.

POST /api/process Process an image
ParameterTypeDescription
image required string Base64-encoded image data (JPEG or PNG)
camera optional string canon | sony | nikon | iphone — default canon
intensity optional string low | medium | high — default high
curl -X POST https://imagemanip.vercel.app/api/process \
  -H "Content-Type: application/json" \
  -d '{
    "image": "'$(base64 -w0 input.jpg)'",
    "camera": "canon",
    "intensity": "high"
  }' | python3 -c "
import sys, json, base64
data = json.load(sys.stdin)
with open('output.jpg','wb') as f:
    f.write(base64.b64decode(data['image']))
print('Saved to output.jpg')"
import requests, base64

with open("input.jpg", "rb") as f:
    image_b64 = base64.b64encode(f.read()).decode()

response = requests.post(
    "https://imagemanip.vercel.app/api/process",
    json={
        "image": image_b64,
        "camera": "canon",
        "intensity": "high"
    }
)

result = response.json()
with open("output.jpg", "wb") as f:
    f.write(base64.b64decode(result["image"]))

print("Saved to output.jpg")
const fs = require("fs");

const imageB64 = fs.readFileSync("input.jpg")
                    .toString("base64");

const res = await fetch(
  "https://imagemanip.vercel.app/api/process",
  {
    method: "POST",
    headers: { "Content-Type": "application/json" },
    body: JSON.stringify({
      image: imageB64,
      camera: "canon",
      intensity: "high"
    })
  }
);

const data = await res.json();
fs.writeFileSync(
  "output.jpg",
  Buffer.from(data.image, "base64")
);
console.log("Saved to output.jpg");
Response
{
  "image": "/9j/4AAQSkZJRg... (base64 JPEG)"
}
GET /api/health Health check
Response
{
  "status": "ok",
  "service": "imagemanip",
  "version": "1.0.0",
  "endpoints": {
    "POST /api/process": "Process an image",
    "GET /api/health": "Health check"
  }
}