snipmat

AI background removal: full-resolution transparent PNGs from URLs, base64, or uploaded local files, single or batches of 100, with OAuth login and 50 free credits/month.

Documentation

One POST request. No background.

Remove backgrounds programmatically — full resolution on every plan, flat pricing of 1 credit per image regardless of size. Drop-in compatible with the industry-standard API: point your existing integration at snipmat.com and swap the key. Coming from remove.bg? See the migration guide and comparison.

Quick start

Send the image, get the cutout back as the response body — no polling, no webhooks.

curl -X POST https://snipmat.com/api/v1.0/removebg \
  -H "X-Api-Key: sm_live_YOUR_KEY" \
  -F "image_file=@product.jpg" \
  -F "format=png" \
  -o product_nobg.png

Authentication

Create a key in Settings → API keys and send it with every request as X-Api-Key (or Authorization: Bearer sm_live_…). Keys are shown once at creation and can be revoked instantly.

Parameters

POST /api/v1.0/removebg as multipart, JSON, or form-urlencoded.

FieldTypeDescription
image_filefileThe image (png/jpeg/webp, ≤25MB, ≤32MP). Or use image_url / image_file_b64.
image_urlstringPublic URL to fetch the image from.
image_file_b64stringBase64-encoded image.
modelstringgeneral = best all-round incl. people/hair, opens enclosed holes automatically (default); dis = alternative BiRefNet-DIS model — try it only if general misses something on a product, not for people; lite = faster, smaller model.
sizestringauto/full = full resolution — free on every plan · preview = ≤0.25MP.
formatstringauto/png (transparent) · jpg · webp · zip (color.jpg + alpha.png).
channelsstringrgba (default) · alpha — returns just the mask as grayscale PNG.
bg_colorstringHex color to place behind the subject, e.g. 81d4fa or #1e3a34ff.
bg_image_urlstringURL of an image to place behind the subject.
cropboolCrop the canvas to the subject bounding box.
scalestringSubject scale like "80%" (10–100, applies with crop).
positionstringoriginal (default) · center.
keep_largestboolKeep only the largest subject, dropping stray blobs.

Credits & account

Every successful call costs exactly 1 credit — a 32MP image costs the same as a thumbnail. That works out to under 2¢ per image on Pro and 4–9¢ in packs — comparable services charge 20¢ or more. Free accounts include 50 credits/month, Pro includes 500, and credit packs never expire. Failed calls are refunded automatically. Processed images also appear in your web history for 30 days (90 on Pro) before being deleted. Check your balance with GET /api/v1.0/account; each response also carries X-Credits-Monthly-Remaining and X-Credits-Balance headers.

Errors

Errors come back as: {"errors":[{"title":"...","code":"..."}]}

StatusCodeMeaning
400missing_source / invalid_sourceNo image given, or the URL/file is not a supported image.
402insufficient_creditsMonthly allowance and pack balance are both empty.
403auth_failedAPI key missing, invalid, or revoked.
413image_too_largeOver 25MB or 32 megapixels.
429rate_limit_exceededPer-key rate limit hit — check X-RateLimit-Reset.
503queue_saturatedService busy — retry after the Retry-After seconds.

Rate limits

30 requests/minute per key on Free, 120 on Pro. Every response includes X-RateLimit-Limit, X-RateLimit-Remaining, and X-RateLimit-Reset.

MCP for AI agents

Claude and other MCP clients can remove backgrounds directly. Add snipmat as a connector with this URL — you'll get a login/consent screen, no key pasting needed:

https://snipmat.com/mcp

Connect from your tool

  1. Open Settings → Connectors (on claude.ai or in the desktop app) and choose Add custom connector.
  2. Name it snipmat and paste https://snipmat.com/mcp.
  3. Click Add, then Connect — you'll get a normal snipmat login and consent screen. That's it: ask Claude to remove a background.

Every client discovers the OAuth flow automatically (dynamic registration + PKCE) — no key pasting. Tools: remove_background, create_upload, start_batch, get_batch, and check_quota. Local files work first-class: create_upload returns presigned URLs the agent PUTs the image bytes to — no public URL, no third-party hosts, no base64 through the model. Up to 10 images process in a single remove_background call; larger sets (up to 100 on Pro) run async via start_batch + get_batch polling. For headless or CI use, skip OAuth and send an API key instead: Authorization: Bearer sm_live_… (in Claude Code: --header on the add command). Review or revoke connections anytime in Settings → Connected apps.

Machine-readable docs

Building an agent or pointing an LLM at snipmat? Everything on this page is available as plain markdown (index at /llms.txt), and the HTTP API as an OpenAPI 3.0 spec.