REST API · Live

Best Inpaint API for Object & Watermark Removal

The best inpaint API for developers who need to remove objects, erase watermarks, strip logos, or clean up unwanted elements from images — all via a single HTTP call. Describe what to remove in plain English, POST your image, and get back a seamlessly inpainted result. $0.001 per call — 50× cheaper than cleanup.pictures ($0.05). 500 free credits, no credit card.

$0.001 / call 500 free credits No credit card Prompt or mask JPEG · PNG · WebP in SOC2-aligned infra
Get an API key (free) Quick start See pricing API docs

Quick start — one API call

Sign up, copy your key from the dashboard, POST your image with a plain-English removal prompt. The endpoint returns a generation id; poll until status=completed, then download the inpainted image from output_url. The mask field is optional — send it when you need pixel-precise control over which region to erase.

curl -X POST https://api.pixelapi.dev/v1/image/remove-object \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -F "[email protected]" \
  -F "prompt=remove the watermark in the bottom-right corner"
# Response: {"generation_id": "uuid", "status": "queued", ...}

# Optional: add a mask PNG (white pixels = erase area)
# -F "[email protected]"

# Poll until completed
curl https://api.pixelapi.dev/v1/image/UUID \
  -H "Authorization: Bearer YOUR_API_KEY"
# Response: {"status": "completed", "output_url": "https://..."}
pip install pixelapi
---
from pixelapi import PixelAPI

client = PixelAPI(api_key="YOUR_API_KEY")
result = client.remove_object(
    image="product.jpg",
    prompt="remove the watermark in the bottom-right corner"
    # mask="mask.png" # optional
)
result.save("product_clean.jpg")
npm install pixelapi
---
import { PixelAPI } from "pixelapi";

const client = new PixelAPI({ apiKey: process.env.PIXELAPI_KEY });
const result = await client.removeObject({
  image: "./product.jpg",
  prompt: "remove the watermark in the bottom-right corner",
  // mask: "./mask.png" // optional
});
await result.save("product_clean.jpg");
composer require pixelapi/pixelapi
---
<?php
use PixelAPI\Client;

$client = new Client(getenv("PIXELAPI_KEY"));
$result = $client->removeObject([
  "image" => "product.jpg",
  "prompt" => "remove the watermark in the bottom-right corner"
]);
file_put_contents("product_clean.jpg", $result->getBody());
gem install pixelapi
---
require "pixelapi"

client = PixelAPI::Client.new(api_key: ENV["PIXELAPI_KEY"])
result = client.remove_object(
  image: "product.jpg",
  prompt: "remove the watermark in the bottom-right corner"
)
File.binwrite("product_clean.jpg", result.body)
go get github.com/pixelapi/pixelapi-go
---
import "github.com/pixelapi/pixelapi-go"

client := pixelapi.New("YOUR_API_KEY")
result, err := client.RemoveObject(pixelapi.RemoveObjectParams{
  Image: "product.jpg",
  Prompt: "remove the watermark in the bottom-right corner",
})
if err != nil { panic(err) }
result.Save("product_clean.jpg")

Best Inpaint API — Pricing vs Rivals

Per Om's pricing principle, PixelAPI is set at exactly 50× cheaper than the nearest API competitor (cleanup.pictures, $0.05). Here is how we compare against the main inpaint and object-removal services:

ProviderFree tierPer-call API pricePrompt-basedMask support
PixelAPI 500 credits, no card $0.001 ✓ optional
cleanup.pictureslimited free web tool~$0.05 (see cleanup.pictures/pricing)
Magic Eraserweb tool, limitedsee magicstudio.com/pricing✓ brush
Snapeditlimited free tiersee snapedit.app/pricing
watermarkremover.io3 credits/month$0.01–$0.12/image (plan-dependent)limitedauto-detect

cleanup.pictures pricing verified from internal competitive audit (March 2026); ~$0.05/call for API access. watermarkremover.io pricing verified from watermarkremover.io/pricing (May 2026). Magic Eraser and Snapedit API pricing not publicly listed — see their pricing pages. PixelAPI's per-call price is set at roughly 50× cheaper than the cheapest commercial API competitor (cleanup.pictures, ~$0.05) per our pricing principle.

What you get back

Seamlessly inpainted image

The API returns a PNG or JPEG at the same pixel dimensions as your input. The erased region is filled with contextually plausible background — no blurry halos, no smearing.

Same file dimensions

Output is always the same width and height as the input image. No cropping, no padding, no resolution loss. Drop the result straight back into your layout.

JPEG · PNG · WebP accepted as input

Upload any common format as multipart/form-data. Max 20 MB per file. The API processes at native resolution — no internal downsampling.

Optional mask for precision

Attach a mask PNG (white = erase area, black = keep). Useful when the object is hard to describe uniquely in text or sits against a complex background.

Why choose the best inpaint API for production workflows

Consumer "magic eraser" tools are click-to-erase web apps — great for one-off edits, not for processing thousands of images per day. PixelAPI's inpaint API is built for developers:

Common workflows

The inpaint API is production-ready for these use cases. Each links to a setup guide:

E-commerce listings

Strip watermarks, stickers, and competitor logos from imported product images at catalog ingestion time.

Real estate photos

Remove for-sale signs, cars, and personal items from MLS listing photos in bulk before publication.

Photography studios

Automate dust-spot removal, sensor dirt cleanup, and background distraction erasure on RAW exports.

Social media

Clean up user-generated content before publishing — remove timestamps, handles, and frame artifacts.

Fashion & apparel

Remove mannequin stands, size clips, and background distractions from product photos before upload.

Marketing agencies

Batch-process client assets — remove watermarks from stock images, strip dated logos, clean mockups.

More use-case guides: all industries →

Integrations & SDKs

Shopify

Remove watermarks from imported product images via webhook on upload.

Zapier

No-code object removal triggered from Google Drive, Dropbox, or Airtable.

Make.com

Drag-and-drop inpainting in Make scenarios — chain with other image steps.

Webflow

Auto-clean CMS images before they appear on product or portfolio pages.

BigCommerce

Catalog-wide watermark removal on product image sync.

Magento

Adobe Commerce / Magento 2 plugin pattern for bulk image cleanup.

Comparison vs alternatives

vs Cleanup.pictures

Both are prompt + mask APIs. PixelAPI is ~50× cheaper and offers SDKs in 6 languages vs Cleanup's raw REST only.

vs Magic Eraser

Magic Eraser is primarily a consumer web app. PixelAPI provides a production REST API with SLA, invoicing, and bulk pricing.

vs Adobe Firefly Remove

Firefly Remove requires a Creative Cloud subscription. PixelAPI is pay-per-call — no subscription, no seat minimums.

Background Removal vs Object Removal

Need to remove the entire background? Use the Remove Background API instead — it returns a transparent PNG cutout.

Rate limits & error handling

Default 60 requests/minute on the free tier, 600 on paid tiers. Exceeding the limit returns HTTP 429 with a Retry-After header. Recommended: exponential backoff starting at 2 s, doubling up to 30 s. The Python and Node SDKs handle this automatically.

# Python SDK auto-retries 429 with backoff
from pixelapi import PixelAPI
client = PixelAPI(api_key="...", max_retries=4)
result = client.remove_object(
    image="batch_item.jpg",
    prompt="remove the logo"
) # auto-retries on 429

Image processing failures are auto-detected by an output-quality QC layer. If a result would be blank or visibly corrupted, the job is rejected and credits are automatically refunded — you never pay for a broken inpainting result.

API parameters reference

ParameterTypeRequiredDescription
imagefileyesInput image (JPEG, PNG, or WebP, max 20 MB)
promptstringyesPlain-English description of what to remove, e.g. "remove the watermark"
maskfileoptionalMask PNG — white pixels mark the area to erase, black pixels are preserved

Endpoint: POST https://api.pixelapi.dev/v1/image/remove-object
Auth: Authorization: Bearer YOUR_API_KEY
Content-Type: multipart/form-data

Frequently asked questions

What is an inpaint API?

An inpaint API accepts an image and a description of what to remove (plus an optional mask region), then fills the erased area with contextually plausible pixels. The result looks like the object was never there. PixelAPI's inpaint API is reachable at POST /v1/image/remove-object.

How do I call the best inpaint API endpoint?

POST your image and a text prompt to https://api.pixelapi.dev/v1/image/remove-object with Authorization: Bearer YOUR_API_KEY. Include an optional mask PNG (white pixels mark the area to erase). The response contains a generation_id; poll GET /v1/image/{id} until status=completed, then download the cleaned image from output_url. See the Quick Start section above for code in 6 languages.

How much does the inpaint API cost?

$0.001 per call — that is 1 credit at $0.001 each. New accounts receive 500 free credits (20 free calls) with no credit card required. Our nearest API competitor, cleanup.pictures, charges approximately $0.05 per call, making PixelAPI 50× cheaper.

Do I need to provide a mask?

No. The mask parameter is optional. When you omit it, the API uses the prompt alone to locate the object you want removed. Supply a mask PNG (white = erase area) when you need pixel-precise control over which region is targeted — useful for small logos or watermarks in specific corners.

What kinds of objects can the inpaint API remove?

Any unwanted object described in natural language: watermarks, logos, text overlays, people in the background, power lines, cars, signs, timestamps, dust spots, and more. The prompt can be as specific as "remove the clock on the wall" or as broad as "remove all text overlays".

How fast is the inpaint API?

Most requests complete in 3–8 seconds depending on image resolution. Capacity is kept warm 24/7 — there are no cold-start delays, so the first call is as fast as the thousandth. Bulk concurrent requests are processed in parallel.

What image input formats are accepted?

JPEG, PNG, and WebP as multipart/form-data uploads. Maximum file size is 20 MB. Images are processed at native resolution — no internal downsampling or forced resize.

What does the API return?

The API returns a PNG or JPEG image at the same pixel dimensions as your input, with the target object seamlessly erased and the background filled in. The download URL is in the output_url field of the completed polling response.

Can I use this API to remove watermarks?

Yes. Set the prompt to something like "remove the watermark in the bottom-right corner" and optionally provide a mask PNG over the watermark region. The API fills the area with surrounding texture so the result looks clean and print-ready.

Is there a Python SDK?

Yes — pip install pixelapi. SDKs are also available for Node.js (npm install pixelapi), PHP (Composer), Ruby (gem install pixelapi), Go (go get github.com/pixelapi/pixelapi-go), and a Java/Kotlin client. All SDKs handle authentication, polling, retry-on-429, and binary file return automatically.

What are the rate limits?

Default 60 requests/minute on the free tier, 600 requests/minute on paid tiers. Higher limits are available for bulk batch processing — email [email protected] with your expected volume. Exceeding the limit returns HTTP 429 with a Retry-After header.

Can I remove multiple objects in one call?

Yes. Describe multiple targets in a single prompt — for example: "remove the logo, the timestamp, and the person in the background". You can also provide a mask that covers all target regions at once. For completely separate erasure operations that need independent quality control, chain multiple calls.

Can I get an invoice / GST?

Yes. PixelAPI is a registered Indian business. We issue GST invoices — 18% IGST for international clients, CGST/SGST for domestic. Invoice download is built into the dashboard with no extra steps.

Start free — 500 credits, no card Read full API docs Compare all plans