# image_to_font_generation

## Setup

### 1) Create and activate a virtual environment (recommended)

```bash
python3 -m venv venv
source venv/bin/activate
```

### 2) Install dependencies

```bash
pip install -r requirements.txt
```

Optional (dev tools):

```bash
pip install -r requirements-dev.txt
```

### Format code

```bash
black app
```

### 3) Configure environment variables

```bash
cp .env.example .env
```
See [docs/env.md](docs/env.md) for the full environment variable reference.

## Run

```bash
uvicorn app.main:app --host 0.0.0.0 --port 8000 --reload
```

## API

- `GET /health`
  - Headers: none
- `POST /api/v1/handwriting/process`
  - Headers: `X-API-Key: <your key>`
  - Body: multipart form-data (`file` = JPEG)
- `POST /api/v1/handwriting/process-url`
  - Headers: `X-API-Key: <your key>`
  - Body: JSON (`url` = JPEG URL)
  - Returns: public URL to generated TTF

## Docs

- Environment Vars: [docs/env.md](docs/env.md)
- ArUco markers: [docs/aruco.md](docs/aruco.md)

## Dependencies

- `opencv-python` (core image processing)
- `opencv-contrib-python` (ArUco markers via `cv2.aruco`)
