API v2 · Video

Contact

Video License Plate Blur

Detect and blur license plates across video frames. Returns an async job ID.

POST/api/v2/videos/license-plate-blur

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.
blur_strengthnumberNoBlur amount from 0 to 1. Default is 0.7.
pixelatedbooleanNoUse pixelation instead of gaussian blur. Default false.

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/dashcam.mp4",
  "duration_seconds": 45,
  "blur_strength": 0.7,
  "pixelated": 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": "license-plate-blur",
  "credits_used": 12,
  "remaining_credits": 488
}

Example

curl
curl -X POST https://www.bgblur.com/api/v2/videos/license-plate-blur \
  -H "Authorization: Bearer vba_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "video_url": "https://example.com/dashcam.mp4",
  "duration_seconds": 45,
  "blur_strength": 0.7,
  "pixelated": 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