# PyAI - the best voice AI for telephony > PyAI is a developer platform for telephony-grade voice AI. Three core models > behind one OpenAI-compatible API: Hear (speech-to-text), Speak (text-to-speech > + voice cloning), and Omni (realtime voice agents). Sub-450ms turn-taking, > per-minute pricing from $0.003/min, $50 in free credits, no card required. ## Start here - Get a free key: https://console.pyai.com - Docs (human + try-it console): https://api.pyai.com/docs - OpenAPI spec (source of truth): https://api.pyai.com/openapi.json - Agent index (curated, kept in sync with production): https://api.pyai.com/llms.txt - SDKs: `npm install @pyai/sdk` (TypeScript) - `pip install pyai-sdk` (Python) ## Models - [Hear](https://pyai.com/models/hear): Speech-to-text, telephony-native (8 kHz), Whisper-compatible, streaming partials + async batch. `POST /v1/audio/transcriptions`. $0.003/min ($0.0015/min batch). - [Speak](https://pyai.com/models/speak): Text-to-speech, streaming first-byte ~32-98 ms, 36 stock voices, free voice cloning + design. `POST /v1/audio/speech`. $0.06/min. - [Omni](https://pyai.com/models/omni): Realtime end-to-end voice agents, ~431 ms median turn-taking, KB grounding + tools, barge-in. `wss://api.pyai.com/v1/omni`. $0.05/min, all-in. - [Cue](https://pyai.com/models/cue): Turn detection + grounded context for bring-your-own LLM/voice pipelines. $0.015/min. ## Key pages - [Pricing](https://pyai.com/pricing) - [Calculator](https://pyai.com/calculator) - [Use cases](https://pyai.com/use-cases) - [Playground](https://pyai.com/playground) - [Build with AI](https://pyai.com/build-with-ai) ## Notes for agents - Auth: `Authorization: Bearer pyai_live_...` (production) or `pyai_test_...` (sandbox); `x-api-key` is an accepted alias. Keys are opaque (<=512 chars) - never parse, split, decode, or log them. - OpenAI-compatible: point an OpenAI client at `base_url=https://api.pyai.com/v1` for transcription and speech. - Realtime: connect Omni over WebSocket; authenticate with the subprotocol `pyai-key.` (browser) or `?api_key=` (server). - Errors: branch on the stable `error.code` - e.g. `402 credit_exhausted` (add credit / use a test key), `429 rate_limit_exceeded` (back off, honor `Retry-After`), `403 forbidden` (missing scope). - Never invent endpoints - fetch the OpenAPI spec above.