API v2 · Video

Contact

Video Blur Anything

Blur objects matching a text prompt across a video. Returns an async job ID.

POST/api/v2/videos/blur-anything

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.
promptstringYesText target to blur across frames, for example person, logo, phone, or plate.
pixelatedbooleanNoUse pixelation instead of gaussian blur. Default false.
pixelation_strengthnumberNoPixelation strength when pixelated is true. Default 180.
sam3_batch_sizenumberNoAdvanced batching control. Default 8.
sam3_chunk_sizenumberNoAdvanced chunking control. Default 128.
blur_anything_blur_modestringNogaussian or pixelated. Defaults from pixelated flag.

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/street.mp4",
  "duration_seconds": 30,
  "prompt": "person",
  "blur_strength": 0.7,
  "pixelated": false,
  "sam3_batch_size": 8,
  "sam3_chunk_size": 128
}

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": "blur-anything",
  "credits_used": 12,
  "remaining_credits": 488
}

Example

curl
curl -X POST https://www.bgblur.com/api/v2/videos/blur-anything \
  -H "Authorization: Bearer vba_your_api_key" \
  -H "Content-Type: application/json" \
  -d '{
  "video_url": "https://example.com/street.mp4",
  "duration_seconds": 30,
  "prompt": "person",
  "blur_strength": 0.7,
  "pixelated": false,
  "sam3_batch_size": 8,
  "sam3_chunk_size": 128
}'

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.
  • Use short, concrete prompts like person, logo, license plate, phone screen, address, or document.
Back to API Reference