50 lines
865 B
Markdown
50 lines
865 B
Markdown
# 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 <token>`
|
|
- 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
|
|
```
|