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 soon

Quickstart

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.png

Create an API key β†’

Authentication

Every request must include your secret key in the Authorization header as a bearer token:

Authorization: Bearer bfp_live_YOUR_KEY

Keys 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

NameTypeRequiredDescription
imagefileYesThe image to process (JPG, PNG, WebP or BMP). Send as multipart form data.
effectstringNoblur (default), pixelate, bar (black bar) or emoji.
areastringNoface (default), eyes or mouth. Which part of each detected face to cover.
strengthintegerNo0-100, how strong the blur or pixelation is. Default 80.
shapestringNorect (default) or oval mask around the covered area.

Status codes

CodeErrorMeaning
200OKThe anonymized image is returned in the response body.
400bad_requestMissing image or an invalid parameter value.
401unauthorizedMissing or malformed API key.
402insufficient_creditsYour account is out of credits.
413payload_too_largeThe image exceeds the size limit.
429rate_limitedToo many requests, slow down and retry.
501not_implementedThe 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 501 until 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.

Ready to build?

Create a key and start with the quickstart above.