API v2 · Video

Contact

Video Face Anonymization

Anonymize faces in a video using BGBlur face anonymization workflow. Returns an async job ID.

POST/api/v2/videos/face-anonymization

Authentication

Send your API key as a bearer token on every request.

Header
Authorization: Bearer vba_your_api_key

Request Body

Send JSON with these fields. Required fields must be present unless marked optional.

FieldTypeRequiredDescription
video_urlstring URLYesPublic or BGBlur-uploaded video URL to process.
duration_secondsnumberNoDuration used for credit estimation and processing bounds. Send this when known.
is_watermarkbooleanNoSet false only when your plan allows watermark-free output. Default true.

Media must be publicly accessible. Pass a direct URL from a public storage bucket — e.g. AWS S3, Google Cloud Storage, Cloudinary, Cloudflare R2, Backblaze B2, Uploadcare, or any CDN URL. Private, signed, or localhost URLs will fail. Supported formats: MP4, MOV.

JSON
{
  "video_url": "https://example.com/interview.mp4",
  "duration_seconds": 60,
  "is_watermark": true
}

Response

Successful responses use JSON. Video feature endpoints return an async job_id rather than the final processed video immediately.

FieldTypeRequiredDescription
successbooleanYesTrue when the job was accepted.
job_idstringYesUse this with GET /api/v2/jobs/{job_id}.
statusstringYesInitial job status, usually queued.
featurestringNoFeature name submitted for processing.
credits_usednumberYesCredits reserved or charged for the job.
remaining_creditsnumberYesCredit balance after job creation.
JSON
{
  "success": true,
  "job_id": "job_abc123",
  "status": "queued",
  "feature": "face-anonymization",
  "credits_used": 12,
  "remaining_credits": 488
}

Example

curl
curl -X POST https://www.bgblur.com/api/v2/videos/face-anonymization \
  -H "Authorization: Bearer vba_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "video_url": "https://example.com/interview.mp4",
  "duration_seconds": 60,
  "is_watermark": true
}'

Tips

  • Video endpoints are async. Store job_id and poll GET /api/v2/jobs/{job_id}.
  • Send duration_seconds when you know it so credit estimation is accurate.
  • Use the upload video endpoint for local files before calling a video feature endpoint.
Back to API Reference