API Reference

One endpoint, one API key, 99 tools. Get a free key from your dashboard.

Authentication

Send your API key as the x-api-key header on every request. Keys look like eik_....

Endpoint

POST https://web-tool-frontend.vercel.app/api/v1/{tool}

Replace {tool} with any tool key from the table below. Send the image as multipart/form-data under the field name image, matching the same fields the tool uses on the website (some tools accept extra fields such as a language or color option).

Example

curl -X POST https://web-tool-frontend.vercel.app/api/v1/upscale \
  -H "x-api-key: eik_your_key_here" \
  -F "image=@photo.jpg" \
  -o upscaled.png

Other languages

The API is plain HTTP multipart/form-data, so any language that can make an HTTP request can call it, not just Node. Keep your x-api-key server-side; never ship it in client/browser/mobile code.

Node.js

const fs = require("fs");

async function upscale() {
  const form = new FormData();
  form.append("image", new Blob([fs.readFileSync("photo.jpg")]));

  const res = await fetch("https://web-tool-frontend.vercel.app/api/v1/upscale", {
    method: "POST",
    headers: { "x-api-key": process.env.ERASERIMG_API_KEY },
    body: form,
  });

  if (!res.ok) throw new Error(`Request failed: ${res.status}`);
  fs.writeFileSync("upscaled.png", Buffer.from(await res.arrayBuffer()));
}

Python

import os, requests

api_key = os.environ["ERASERIMG_API_KEY"]

with open("photo.jpg", "rb") as f:
    res = requests.post(
        "https://web-tool-frontend.vercel.app/api/v1/upscale",
        headers={"x-api-key": api_key},
        files={"image": f},
    )

res.raise_for_status()
with open("upscaled.png", "wb") as out:
    out.write(res.content)

PHP

<?php
$apiKey = getenv("ERASERIMG_API_KEY");

$ch = curl_init("https://web-tool-frontend.vercel.app/api/v1/upscale");
curl_setopt_array($ch, [
    CURLOPT_RETURNTRANSFER => true,
    CURLOPT_POST => true,
    CURLOPT_HTTPHEADER => ["x-api-key: $apiKey"],
    CURLOPT_POSTFIELDS => [
        "image" => new CURLFile("photo.jpg"),
    ],
]);

$result = curl_exec($ch);
$status = curl_getinfo($ch, CURLINFO_HTTP_CODE);
curl_close($ch);

if ($status !== 200) {
    throw new Exception("Request failed: $status");
}
file_put_contents("upscaled.png", $result);

Rate limits

PlanRequestsWindowValidityPrice
Free40every 12hno expiryFree
Starter600every 24h7 days$5
Growth1200every 24h14 days$10
Pro2400every 24h30 days$15

Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset headers. Once a paid plan's validity period ends, the key automatically returns to the free tier until renewed.

Errors

401Missing or invalid API key
403Tool not included in your current plan, see upgradeUrl in the response
404Unknown tool key
429Rate limit exceeded for your plan
502Processing failed upstream

Tool keys (99)

Core Tools

BG Removebg-removeFree
BG Replacebg-replacePro
UpscaleupscaleStarter
FiltersfilterFree
CartooncartoonFree
CompresscompressFree
OCRocrStarter
DetectdetectStarter
To PDFpdfStarter
ColorspaletteFree
Pure SVG Formatimage-to-svgFree
Favicon Makerimage-to-faviconFree
Photo Editorphoto-editorFree
QR CodeqrFree
BG Eraser Probg-eraser-proGrowth

Editing Essentials

Face Blurface-blurFree
PortraitportraitStarter
CropcropFree
EnhanceenhanceStarter
HDRhdrStarter
DenoisedenoiseStarter
ShadowshadowStarter
Cinematic Gradecinematic-filterFree

Layout & Effects

CollagecollagePro
SketchsketchPro
ResizeresizeFree
WavewaveGrowth
MemememeFree
BorderborderGrowth
WatermarkwatermarkStarter
Color TempcolortempStarter
Image InfoinfoFree
DiffdiffStarter
SplittersplitterStarter
BatchbatchStarter

Privacy & Canvas

WM Removewatermark-rmFree
Shape CropshapePro
Canvas ExpandexpandPro
BG GeneratorbggenGrowth
EXIF RemoveexifStarter
PixelatepixelateFree
PerspectiveperspectiveGrowth
DuotoneduotoneGrowth
SparklesparkleGrowth

Portrait & Fun

ID Photoid-photoGrowth
ASCII Artascii-artPro
HistogramhistogramGrowth
Skin Smoothskin-smoothGrowth
Red Eye Fixred-eyeGrowth

Creative Effects

Glitch Artglitch-artGrowth
Vaporwavevaporwave-filterGrowth
Neon Glowneon-glowGrowth
Comic Bookcomic-bookGrowth
Oil Paintingoil-paintingPro
WatercolorwatercolorPro
Vintage/Retrovintage-retroPro
Pop Artpop-artPro
Tilt-Shifttilt-shiftPro
Lomo Cameralomo-cameraPro
Cross Processcross-processPro
Infraredinfrared-effectPro

Social & Content

Social Packsocial-media-packPro
YT Thumbnailyoutube-thumbnailPro
Logo Makerlogo-makerPro
Stamp/Sealstamp-sealPro
Certificatecertificate-genPro
IG Grid Splitinstagram-grid-splitPro
Quote Cardquote-cardPro
Moodboardmoodboard-makerPro

File & Format

GIF Creatorgif-creatorFree
GIF Framesgif-frame-extractPro
PNG Optimizerpng-optimizerPro
HEIC → JPGheic-to-jpgPro
RAW → JPEGraw-to-jpegPro
WebP Convertwebp-converterPro
SVG → PNGsvg-to-pngPro
Base64image-to-base64Pro

Utility & Pro

Bulk BG Removebulk-bg-removerPro
E-commerceecommerce-enhancerPro
Sharpen Proimage-sharpen-proPro
CVD Simulatorcolor-blindness-simPro
Pattern Genpattern-generatorPro
Gradient Gengradient-generatorPro
Color Harmonycolor-mixer-harmonyPro
Font Previewfont-previewPro
Noise Texturenoise-texture-genPro

Fun & Viral

Photo Mosaicphoto-mosaicPro
Kaleidoscopemirror-kaleidoscopePro
Pixel Sortpixel-sort-glitchPro
Double Exposuredouble-exposurePro
Halftonehalftone-newspaperPro
Dispersiondispersion-shatterPro
Light Leaklight-leak-filmPro
Film Stripfilm-strip-framePro

Analysis

Color Analyzercolor-analyzerFree
Similarityimage-similarityPro
Exposure Meterbrightness-exposurePro
EXIF Viewerexif-viewer-detailedPro
Aspect Ratioaspect-ratio-calcPro