Base URL for local development: http://localhost:5001. All paths below are appended to that base (for example, http://localhost:5001/V1/api/health).
| Method | Route | Definition and use | Expected response |
|---|---|---|---|
| GET | /V1/api/health | Returns whether the service is running and responding. Use this for readiness or uptime checks. | 200 — JSON: { status: 'success' } |
| GET | /V1/api/status/{JOB_ID} | Returns the real chunk-analysis progress for JOB_ID. When complete, the same response includes the stitched coloured result image as a base64 PNG plus metadata for each analysed chunk. | 200 — JSON: { status, completed_chunks, total_chunks, remaining_chunks, progress, result_image?, chunks? } |
| POST | /V1/api/classify | Upload an image (multipart form field name: image). The server queues classification, splits images larger than 244x244 into chunks, and responds immediately with a job ID. Poll GET /V1/api/status/{JOB_ID} until status is completed. | 200 — JSON: { job_id: 1052 } (example job ID) |
| DELETE | /V1/api/classify/{JOB_ID} | Cancels and removes the job for JOB_ID. Use this if the client no longer needs the result or is abandoning the upload flow. | 200 — JSON: { status: 'success' } |
Definitions (mobile)
GET /V1/api/health
Returns whether the service is running and responding. Use this for readiness or uptime checks.
GET /V1/api/status/{JOB_ID}
Returns the real chunk-analysis progress for JOB_ID. When complete, the same response includes the stitched coloured result image as a base64 PNG plus metadata for each analysed chunk.
POST /V1/api/classify
Upload an image (multipart form field name: image). The server queues classification, splits images larger than 244x244 into chunks, and responds immediately with a job ID. Poll GET /V1/api/status/{JOB_ID} until status is completed.
DELETE /V1/api/classify/{JOB_ID}
Cancels and removes the job for JOB_ID. Use this if the client no longer needs the result or is abandoning the upload flow.
Progress is returned as analysed chunks out of total chunks. The final completed response also includes the stitched coloured PNG inresult_image.
{
"status": "processing",
"completed_chunks": 3,
"total_chunks": 10,
"remaining_chunks": 7,
"progress": "3/10"
}{
"status": "completed",
"completed_chunks": 10,
"total_chunks": 10,
"remaining_chunks": 0,
"progress": "10/10",
"result_image": "data:image/png;base64,...",
"summary": {
"bleached_chunks": 4,
"healthy_chunks": 6,
"total_chunks": 10
},
"chunks": [
{
"x": 0,
"y": 0,
"width": 244,
"height": 244,
"probability": 0.82,
"predicted_label": "Bleached Coral"
}
]
}The model is trained on imagery from the NOAA PIFSC ESD coral bleaching dataset.
The github repository for this project is located at Github Repository.
The model downloads for the ai models are located at Model Downloads.