Filter
1 credit / requestPOST /v1/filterQuickly separate empty camera-trap images from images with an animal, human, or vehicle. Returns bounding boxes and coarse labels only.
Processing images regularly or at large scale?
Use this real-time endpoint for first tests, debugging, and small workflows. For steady pipelines, larger files, or bursty camera-fleet uploads, approved customers can use Batch Processing.
Open Batch ProcessingExamples
const form = new FormData()
form.append('image', imageFile)
form.append('threshold', '0.2')
form.append('metadata', 'true')
const response = await fetch('https://api.animaldetect.com/v1/filter', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.ANIMAL_DETECT_API_KEY,
},
body: form,
})
const data = await response.json(){
"id": "8f3770e5-d7ad-4067-9f31-70b16f4a6262",
"expires_at": "2026-03-12T09:44:20.954Z",
"detections": [
{
"id": 0,
"bbox": [0.22, 0.18, 0.41, 0.53],
"score": 0.97,
"label": "animal",
"category": "animal"
}
],
"metadata": {
"image_width": 4000,
"image_height": 3000,
"file_size": 2456789
},
"info": {
"processing_time_ms": 455,
"model_version": "mdv1000-redwood",
"model_id": "mdv1000-redwood",
"threshold_applied": 0.2
}
}Parameters
Required
Image data. Upload request body limit is 20MB; raw image budget is 10MB.
Optional
Optional geofencing hint (CCA2/CCA3/full country name).
Confidence threshold between 0.01 and 0.99. Default: 0.2.
Set to `true` to include available image metadata in the response.
Request Notes
Send multipart/form-data for files or JSON with a base64 image. Limits: 20MB request body and 10MB raw image.
Status Codes
Notes
- Best for: camera-trap empty-vs-object screening.
- `metadata=true` includes metadata only for fields found in the source image.
- Returns only coarse categories: `animal`, `human`, `vehicle`.