The SnapCut API
One endpoint to remove a background, one to poll the result. Keys, quotas and usage are managed from your dashboard.
Authentication
Send your key in the Authorization header. Keys are scoped per project and can be rotated at any time. Never expose a key in browser code.
Authorization: Bearer sk_live_xxxxxxxxxxxxxxxx
Content-Type: application/jsonEndpoints
| Method | Path | Description |
|---|---|---|
| POST | /v1/remove | Submit an image URL or multipart file for background removal. |
| GET | /v1/jobs/:id | Poll a job for status and the resulting transparent PNG URL. |
| GET | /v1/usage | Return credits used, credits remaining and the current plan. |
| GET | /v1/keys | List active API keys with their rate limits and last-used timestamps. |
Example request
curl https://api.snapcut.ai/v1/remove \
-H "Authorization: Bearer $SNAPCUT_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"image_url": "https://cdn.example.com/shoe.jpg",
"output_format": "png"
}'Example response
{
"id": "job_8f21c0b4",
"status": "succeeded",
"result_url": "https://cdn.snapcut.ai/tmp/8f21c0b4.png",
"credits_used": 1,
"expires_at": "2026-01-02T10:04:11Z"
}Rate limits and errors
Limits apply per API key and reset every minute.
Free
10 req / min
Pro
120 req / min
Credit packs
60 req / min
Burst window
60 seconds
400 invalid_image File type or size rejected
401 invalid_api_key Key missing, revoked or malformed
402 insufficient_credits Top up credits or upgrade the plan
429 rate_limited Retry after the Retry-After header
500 processing_failed Job failed; the credit is refunded