Loading...
Animal Detect logo

Batch Filter

1 credit / image
POST /api/v1/batch-filter

Best for classical wildlife camera traps when you want to quickly separate empty images from images that contain an animal, human, or vehicle.

Try in Playground

Required Parameters

  • images (file[] | base64[]) Array of 1-10 images. Practical combined raw limit is about 1.1MB because Vertex enforces a 1.5MB encoded request cap.

Optional Parameters

  • country (string) Optional shared geofencing hint (CCA2/CCA3/full country name).
  • threshold (number) Confidence threshold between 0.01 and 0.99. Default: 0.2.

Supports multipart/form-data (`images` repeated) and application/json with base64 string array. This Vertex-backed route enforces the upstream 1.5MB request cap, so keep combined raw image payloads around 1.1MB or less.

Status Codes

200Batch filtering completed.
400Validation error (empty list, too many images, invalid threshold).
413Batch payload too large for the Vertex-backed request limit.
401Invalid, missing, or revoked API key.
402Credit limit exceeded.
429Rate limit exceeded.
503Upstream Vertex service error.
Node.js / Express
const form = new FormData()
form.append('images', firstFile)
form.append('images', secondFile)
form.append('threshold', '0.2')

const response = await fetch('https://www.animaldetect.com/api/v1/batch-filter', {
  method: 'POST',
  headers: {
    Authorization: 'Bearer ' + process.env.ANIMAL_DETECT_API_KEY,
  },
  body: form,
})

const data = await response.json()

Example Response

JSON
{
  "id": "92d6a2f0-c143-4f91-b4be-5b51bf5d7d21",
  "expires_at": "2026-03-12T09:44:20.954Z",
  "results": [
    {
      "index": 0,
      "filename": "cam-1.jpg",
      "detections": [],
      "info": {
        "processing_time_ms": 330,
        "model_version": "mdv1000-redwood",
        "model_id": "mdv1000-redwood",
        "threshold_applied": 0.2
      }
    }
  ],
  "info": {
    "total_processed": 1,
    "total_time_ms": 330,
    "model_version": "mdv1000-redwood",
    "model_id": "mdv1000-redwood",
    "threshold_applied": 0.2
  }
}