Download the dated JSON reference pack.
It is designed for code generation and local validation; it is not a substitute
for
GET /v1/voices, account entitlement checks, or the Omni configured
acknowledgement.Pick a product before a language
Hear supports automatic detection only inside its published language set. Omni
accepts
en, es, fr, de, and hi, while its served set is currently
en, es, fr, and hi; German is an English fallback. Speak catalog groups
are broader, so a Speak voice must never be presented as proof that the same
language works end to end in Omni.
English is a language; accent is a voice choice
Selectingen-IN does not transform an American voice into Indian English. Use
an accent-specific voice ID, then listen to the exact configuration before you
ship it.
Evaluate names, numbers, dates, phone numbers, interruptions, and short
conversational replies. Evaluate Hindi and Hinglish separately from Indian
English; a catalog identifier is not a quality result.
Copy a complete Omni configuration
This is the body of a tagged0x03 configure frame, not a REST request or a
complete browser client:
voice_instruct is a delivery request, not an acoustic guarantee or an emotion
enum. It is limited to 200 characters and works only on compatible tiers. Speak
uses its own conditional emotion field; Cast exposes a separate capabilities
response with emotion and intensity. Do not copy controls between these products.
After sending configure, require the session to confirm any capabilities your
application needs:
Delivery is an observed behavior
Speak
stream: true means the request accepts streamed delivery. If the server
returns x-pyai-stream: buffered, it completed successfully but audio was
buffered before delivery. Record that mode when measuring time to first audible
audio.
Launch check
- Query
GET /v1/voicesand retain the canonical ID, aliases,available_on, and delivery metadata you selected. - Mint a short-lived, origin-bound browser session token on your backend; do not expose a PyAI API key in the browser.
- Configure Omni, wait for
configured, and compare requested versus served language, voice, and tier. - Start microphone capture and playback only after required configuration is
active. On
flush, stop local playback and clear queued audio immediately. - Test microphone denial, cancellation while connecting, duplicate start/stop, language fallback, failed configuration, interruptions, tool timeout, and duplicate tool delivery.
call_id, and callback-delivery identity separately. Authorize the
customer tenant in the customer backend and return a durable prior result when
the same invocation is delivered again. See Omni tools.
Language support
Accepted, served, and fallback language behavior.
Omni protocol
Tagged frames and the configured acknowledgement.
Browser voice agent
A complete microphone-to-playback client.
Speak
Voice catalog, delivery modes, and audio formats.