Skip to main content
Choose a configuration in this order: product → language → accent → voice → delivery → controls. Product compatibility is not implied by a voice name or by a successful request. Read the catalog, then verify the effective configuration returned by the runtime.
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

Selecting en-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 tagged 0x03 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. For Omni, check configured.voice_instruct_supported === true when delivery direction is a requirement. Standard Elise and Gwen do not support this control; English Natural does. An absent field means the server has not reported the capability. A later voice_capabilities event can revoke support after synthesis fallback. Keep prompt guidance for wording separate from this acoustic capability. After sending configure, require the session to confirm any capabilities your application needs:

Conversation timing and silence

Omni has a session endpointing_ms control and an Agent/session idle_check_in preset (auto, patient, off). The deprecated barge_sensitivity and ack_mode Agent fields are stored for compatibility and do not tune the runtime. Do not map a responsiveness slider to an invented scale or present a saved value as evidence of application. See the controls contract and effective acknowledgement and machine-readable matrix.

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

  1. Query GET /v1/voices and retain the canonical ID, aliases, available_on, and delivery metadata you selected.
  2. Mint a short-lived, origin-bound browser session token on your backend; do not expose a PyAI API key in the browser.
  3. Configure Omni, wait for configured, and compare requested versus served language, voice, and tier.
  4. Start microphone capture and playback only after required configuration is active. On flush, stop local playback and clear queued audio immediately.
  5. Test microphone denial, cancellation while connecting, duplicate start/stop, language fallback, failed configuration, interruptions, tool timeout, and duplicate tool delivery.
For a customer-owned write such as booking, retain the conversation ID, tool invocation 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.