Scan Image Text
1 credit / requestPOST /v1/scan-image-textExtract text from a camera-trap image overlay and return structured fields when they can be detected. Direct OCR API calls require Core or higher.
Try in PlaygroundExamples
const form = new FormData()
form.append('image', imageFile)
const response = await fetch('https://api.animaldetect.com/v1/scan-image-text', {
method: 'POST',
headers: {
Authorization: 'Bearer ' + process.env.ANIMAL_DETECT_API_KEY,
},
body: form,
})
const data = await response.json(){
"raw_text": "CAM01 2026/02/12 21:34:10 15C 72%RH",
"date": "2026-02-12",
"time": "21:34:10",
"temperature": { "value": 15, "unit": "C" },
"humidity": { "value": 72, "unit": "%" }
}Parameters
Required
Image data. Upload request body limit is 20MB; raw image budget is 10MB.
Request Notes
Send multipart/form-data for files or JSON with a base64 image. Limits: 20MB request body and 10MB raw image.
Response Fields
Required. Full raw text extracted from the image before structured parsing.
Optional. Detected and normalized date from the image overlay.
Optional. Detected and normalized time from the image overlay.
Optional. Primary detected temperature value.
Optional. Secondary detected temperature in alternate unit when available.
Optional. Detected relative humidity.
Optional. Detected barometric pressure and its unit.
Optional. Detected moon phase (normalized snake_case label).
Optional. Detected camera brand based on known camera patterns.
Optional. Detected camera model based on known camera patterns.
Optional. Detected burst position such as frame 2 of 3.
Status Codes
Notes
- Fields not found during extraction are omitted from the response.
- Optimized for camera-trap overlays. For other text, use `raw_text`.
- Public API keys can still test OCR inside the docs playground only; that exception does not apply to direct `/v1` calls.