docs.pyai.comis now the single home for everything: quickstart, guides, and the generated API reference.api.pyai.com/docsredirects here;api.pyai.com/openapi.jsonremains the machine-readable contract.- Quickstart verifies your key first. A new
GET /v1/mestep gives you a self-diagnosing first200in seconds before any audio call. - Docs can’t drift to dead ids. CI now fails if any sample uses a voice or model id that isn’t in the live catalog — every snippet stays copy-paste-runnable.
- Example voice standardized to
stock_emma_en_gbacross the quickstart, guides, and SDK READMEs.
- REST reference unified in-site. The full OpenAPI reference now lives
inside these docs under the API reference tab (generated from
https://api.pyai.com/openapi.json) — no more bouncing to a separate page. - Hear streaming protocol corrected to match the live API: the engine
emits bare frames (
partial,partial_stable,speech_final,final,error); force-finalize with{"type":"commit"}(a bare{"type":"end"}is ignored); enable Cue grounding with{"type":"config","grounding":true}. See Stream speech-to-text. - Telephony output on Speak: request
g711_ulaw/g711_alawfor native 8 kHz μ-law/A-law — no client-side resampling. New reference: Telephony audio with the exact integer resample ratios for the cases where you still convert yourself.
- New guides: browser voice agent, Twilio phone agent, and FreeSWITCH.
- Official SDKs:
@pyai/sdk(TypeScript/JavaScript) andpyai(Python), plus thepyaiCLI smoke tester. Idempotency-Keysupport and cursor pagination on transcription jobs.- Machine-readable error codes documented end to end (see Errors & limits).
- Sandbox tier:
pyai_test_keys work instantly with no billing gate.