Developers

Build with the ZenithSearch API.

Four endpoints cover the entire lifecycle: check status, search a photo, enroll a new person, and remove one. No SDK required β€” just multipart form requests over HTTPS.

Sub-second responses

YuNet detection and Faiss lookup return matches in real time.

No hidden storage

Search images are processed in memory and never persisted.

Quickstart

Send a photo to /search as multipart form data. Pick a language below to see the request.

search.js
const form = new FormData();
form.append("file", photoFile);

const res = await fetch("https://api.zenithsearch.dev/search", {
  method: "POST",
  body: form,
});

const data = await res.json();
console.log(data);
// { status: "found", name: "Jordan Blake", confidence: 0.8542 }

Endpoints

GET/ping

Checks that the server is running and reports how many faces are currently indexed.

Response

{
  "status": "ok",
  "indexed_faces_count": 12
}
POST/search

Detects the face in an uploaded photo, embeds it, and searches the Faiss index.

Request

Content-Type: multipart/form-data

file: photo.jpg

Response

{
  "status": "found",
  "name": "Jordan Blake",
  "confidence": 0.8542
}