--- title: HF Realtime Voice emoji: 🎙️ colorFrom: indigo colorTo: purple sdk: docker app_port: 7860 pinned: false short_description: Voice chat over WebSocket against a HF speech-to-speech --- # Vocero API FastAPI APIs and WebSocket relay for the [React voice frontend](../vocero-frontend). This service handles configuration, caller context, upstream authentication, search, reasoning, ApiPilot tools, and optional load-balancer allocation. The root `start_ui.sh` now serves the [React frontend](../vocero-frontend) with Vite on public port `8420`, proxying backend requests here on loopback port `8421`. The browser UI lives entirely in `vocero-frontend`; running FastAPI directly or through Docker exposes only backend routes and shared documentation. The complete [usage guide](../docs/client/usage.md) covers local startup, connection modes, Docker, settings, and queue behavior. See the [documentation index](../docs/README.md), [architecture](../docs/client/architecture.md), and [change history](CHANGELOG.md) for implementation details and history. Build from the repository root so the container includes the documentation: ```bash docker build -f vocero-api/Dockerfile -t vocero-api . ``` The Python project is contained in this directory: `pyproject.toml`, `uv.lock`, `.python-version`, `.venv`, quality tools, and tests. Use uv 0.12.5 and Python 3.12 (uv can provision Python). From the repository root: ```bash make -C vocero-api install make -C vocero-api check ``` Tests isolate environment configuration, use HTTP fixtures for allocation and caller authentication, and start a loopback WebSocket service to verify audio frames, keepalive, and teardown. No deployed services or database are needed. See [backend development and compatibility](../docs/client/development.md) for formatting, typing, schema policy, optional Git hooks, and deployment checks. `uvicorn server:app --app-dir vocero-api` remains a supported entry point; the implementation lives in the `vocero_api/` package. Its Python distribution name is `vocero-api`. FastAPI's API explorer remains at `/docs`. Project documents are served as files below `/docs/client/`, `/docs/speech/`, `/docs/adr/`, `/docs/examples/`, and `/docs/proposals/`. The historical `/project/` and `/public/docs.html` URLs redirect to the retained architecture proposal. Markdown remains source text; documentation directories are not browsable rendered pages. Start from the repository documentation index or request `/docs/README.md` explicitly.