The RemovalForge API founding access
Everything the free tool does, callable from your scripts, spreadsheets and listing pipelines. One endpoint, marketplace-ready output, and flat monthly pricing, never credits, never expiry, never a watermark. Founding keys are being issued now and activate within 24 hours of your order.
Starter
- 1,500 images every month
- All marketplace presets
- Full resolution, no watermark
- Unused volume never expires mid-month
Forge
- 6,000 images every month
- Priority processing lane
- Custom sizes and backgrounds
- Email support from the builders
Scale
- 25,000 images every month
- Highest rate limits
- Custom integration help
- Invoice billing available
Ordering takes one email, your key and payment details come back the same day, and the key activates within 24 hours. We take card, PayPal, Revolut and Wise. Cancel any month, keep the month you paid for. The API is the one paid thing here, because the server it runs on is the one thing that costs us money; the browser tool stays free forever.
One honest note before you integrate anything. The browser tool needs no API and never will: it runs the neural network on your own device, free, unlimited, up to 100 photos per batch. The API exists for a different job, the one a browser cannot do: unattended automation. Nightly listing pipelines, spreadsheet scripts, server workflows, apps of your own.
The endpoint
POST https://api.removalforge.com/v1/remove Header: X-API-Key: your_key Body: multipart/form-data
| Field | Type | Meaning |
|---|---|---|
| file | binary, required | JPEG, PNG or WebP up to 40 MB |
| preset | string | allegro_2560, allegro_1600, allegro_grey_2560, amazon_2000, ebay_1600, etsy_2000, instagram_1080, facebook_1200, youtube_1280, transparent_png. Default allegro_2560 |
| width, height | integer | Custom canvas 100 to 4000 px, overrides preset size |
| background | string | Hex color like FFFFFF, or "transparent" |
| padding | number | 0 to 0.2, margin around the product. Default 0.07 |
| format | string | jpeg or png. Default follows the preset |
The response is the finished image itself, binary, with content type image/jpeg or image/png. No JSON envelope to unwrap, no second download request. Errors come back as JSON with an explanation: 401 bad key, 413 file too large, 422 unreadable image, 429 rate limited, 500 processing failure.
curl
curl -X POST https://api.removalforge.com/v1/remove \ -H "X-API-Key: your_key" \ -F "file=@product.jpg" \ -F "preset=allegro_2560" \ -o product_white.jpg
JavaScript
const form = new FormData();
form.append("file", fileBlob, "product.jpg");
form.append("preset", "allegro_2560");
const res = await fetch("https://api.removalforge.com/v1/remove", {
method: "POST",
headers: { "X-API-Key": "your_key" },
body: form
});
if (!res.ok) throw new Error(await res.text());
const cleanImage = await res.blob();
Python
import requests
with open("product.jpg", "rb") as f:
r = requests.post(
"https://api.removalforge.com/v1/remove",
headers={"X-API-Key": "your_key"},
files={"file": f},
data={"preset": "allegro_2560"},
timeout=60,
)
r.raise_for_status()
with open("product_white.jpg", "wb") as out:
out.write(r.content)
Google Apps Script
function removeBackground(fileBlob) {
var res = UrlFetchApp.fetch("https://api.removalforge.com/v1/remove", {
method: "post",
headers: { "X-API-Key": "your_key" },
payload: { file: fileBlob, preset: "allegro_2560" },
muteHttpExceptions: true
});
if (res.getResponseCode() !== 200) throw new Error(res.getContentText());
return res.getBlob();
}
Why flat pricing
Per-image credits punish the exact person this tool is for: the seller who lists in bulk. Photograph forty products on a Sunday and a credit meter turns your best workday into your most expensive one. The API will ship with a flat monthly plan sized for real listing volume, and the free browser tool stays free forever regardless.