API reference
blurfacephotos API
Blur, pixelate or censor faces in images programmatically. Same detection and effects as the editor, exposed over a simple REST endpoint, so you can anonymize photos at scale from your own servers.
Coming soonQuickstart
Send a POST with your image and an API key. The anonymized image comes back in the response body.
curl -X POST https://blurfacephotos.com/api/v1/anonymize \
-H "Authorization: Bearer bfp_live_YOUR_KEY" \
-F "image=@photo.jpg" \
-F "effect=blur" \
-F "area=face" \
-F "strength=80" \
--output anonymized.pngAuthentication
Every request must include your secret key in the Authorization header as a bearer token:
Authorization: Bearer bfp_live_YOUR_KEYKeys start with bfp_live_. Create and revoke them in API keys. Keep them server-side, never ship a key in client-side code or a public repo.
Anonymize an image
POSThttps://blurfacephotos.com/api/v1/anonymize
Accepts multipart/form-data. Returns the processed image (image/png) on success.
Parameters
| Name | Type | Required | Description |
|---|---|---|---|
image | file | Yes | The image to process (JPG, PNG, WebP or BMP). Send as multipart form data. |
effect | string | No | blur (default), pixelate, bar (black bar) or emoji. |
area | string | No | face (default), eyes or mouth. Which part of each detected face to cover. |
strength | integer | No | 0-100, how strong the blur or pixelation is. Default 80. |
shape | string | No | rect (default) or oval mask around the covered area. |
Status codes
| Code | Error | Meaning |
|---|---|---|
200 | OK | The anonymized image is returned in the response body. |
400 | bad_request | Missing image or an invalid parameter value. |
401 | unauthorized | Missing or malformed API key. |
402 | insufficient_credits | Your account is out of credits. |
413 | payload_too_large | The image exceeds the size limit. |
429 | rate_limited | Too many requests, slow down and retry. |
501 | not_implemented | The API is coming soon and not processing images yet. |
Good to know
- Credits are shared with the editor. Each processed image costs 1 credit. See pricing.
- The API is coming soon. The endpoint and auth are live for testing, so a well-formed request returns
501until hosted processing ships. Meanwhile the in-browser editor does everything locally. - Prefer zero-upload? The editor runs entirely in the browser and never sends a photo anywhere. The API is for server-side batch jobs.