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.
| Field | Type | Description |
|---|---|---|
| image_file | file | The image (png/jpeg/webp, ≤25MB, ≤32MP). Or use image_url / image_file_b64. |
| image_url | string | Public URL to fetch the image from. |
| image_file_b64 | string | Base64-encoded image. |
| model | string | general = 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. |
| size | string | auto/full = full resolution — free on every plan · preview = ≤0.25MP. |
| format | string | auto/png (transparent) · jpg · webp · zip (color.jpg + alpha.png). |
| channels | string | rgba (default) · alpha — returns just the mask as grayscale PNG. |
| bg_color | string | Hex color to place behind the subject, e.g. 81d4fa or #1e3a34ff. |
| bg_image_url | string | URL of an image to place behind the subject. |
| crop | bool | Crop the canvas to the subject bounding box. |
| scale | string | Subject scale like "80%" (10–100, applies with crop). |
| position | string | original (default) · center. |
| keep_largest | bool | Keep 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":"..."}]}
| Status | Code | Meaning |
|---|---|---|
| 400 | missing_source / invalid_source | No image given, or the URL/file is not a supported image. |
| 402 | insufficient_credits | Monthly allowance and pack balance are both empty. |
| 403 | auth_failed | API key missing, invalid, or revoked. |
| 413 | image_too_large | Over 25MB or 32 megapixels. |
| 429 | rate_limit_exceeded | Per-key rate limit hit — check X-RateLimit-Reset. |
| 503 | queue_saturated | Service 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
- Open Settings → Connectors (on claude.ai or in the desktop app) and choose Add custom connector.
- Name it
snipmatand pastehttps://snipmat.com/mcp. - 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.