# face-lock FastAPI microservice that finds the primary subject in an image, draws a square around it, and returns a buffered crop. ## UI The Tailwind test UI is available at `/` unless disabled with `FACE_LOCK_TEST_UI=false`. ## Auth Optional header auth is enabled when `FACE_LOCK_AUTH_TOKEN` is set. - Default header: `X-API-Key` - Alternate: `Authorization: Bearer ` - Override the header name with `FACE_LOCK_AUTH_HEADER` ## API - `POST /api/focus` - `POST /api/focus/image` - `GET /health` ## Detectors - `face` - `animal` - `person` - `subject` ## Docs - OpenAPI UI: `/docs` - Project docs: `docs/README.md` ## Run ```bash cp .env.example .env pip install -r requirements.txt uvicorn app.main:app --reload --host 0.0.0.0 --port 8000 ``` Set `FACE_LOCK_TEST_UI=false` to disable the UI. ## Docker ```bash docker compose up --build ```