# API Overview The dashboard exposes a **FastAPI** server with a clean OpenAPI schema. All endpoints return JSON (or a `FileResponse` for binary assets). | Category | Endpoint | Method | Description | |----------|----------|--------|-------------| | **System** | `/api/system` | GET | Returns GPU stats, IP, active config. | | **Stories** | `/api/stories` | GET | List all markdown stories. | | | `/api/stories/launch` | POST | Trigger a story rendering. | | | `/api/stories/save` | POST | Persist edited markdown. | | **TTS** | `/api/tts/preview` | POST | Generate a short voice preview (respects engine flags). | | **Engine Control** | `/api/engine/control` | POST | Enable/disable narration and background‑music. | | **Live Preview** | `/api/current_frame` | GET | Returns the newest generated frame (or 204). | | **Assets** | `/api/assets/{category}` | GET | List audio files (`music`, `screams`, `voices`). | | **Logs** | `/api/logs` | GET | Tail of `live_logs.txt`. | The OpenAPI schema is available at **`/openapi.json`**, Swagger UI at **`/docs`**, and ReDoc at **`/redoc`**.