Publish an agent's voice stack
set_agent_voice_stackExplicitly publish an agent's shared voice stack, optional outgoing-only version-pinned audio environment, and selected language profiles. Each locale override may set only exact voice, transcriber, and greeting; every resulting stack and existing credential binding is validated before a frozen publication is created. The environment is never caller/STT input. An engine whose agent-catalog row says has_language_axis false (a voice-to-voice engine) refuses languages, language_profiles and follow_caller with a 400 naming the field and the engine.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| model | No | ||
| voice | No | ||
| agent_id | Yes | ||
| language | No | ||
| languages | No | When supplied replaces the selected language set. | |
| transcriber | No | ||
| turn_taking | No | Per-agent turn-taking tuning, validated exactly like PATCH /v1/agents/{agent_id}/voice-stack. | |
| voice_polish | No | Voice polish. delivery: how the voice performs its speech (natural, lively, calm, precise); unset keeps provider defaults. acknowledgements: while a slow reply is still being prepared, say one short bounded phrase in the agent's own voice and language, at most once per turn, after delay_ms (default 1200) of silence; off unless enabled. Phrases default to the platform's reviewed list for the agent's language; a language without one stays silent unless phrases are supplied. tool_wait: what the caller hears while a slow tool call runs, after delay_ms (default 1000): mode sound plays a quiet typing bed cut when the tool finishes (any language); mode acknowledge speaks one short phrase in the agent's voice (phrases apply to acknowledge only); off by default. | |
| first_message | No | ||
| follow_caller | No | Explicit automatic multilingual policy. Omitted scope means selected. All resolves the exact stack's compatible set at publication; provider candidate limits can require selected instead. | |
| system_prompt | No | ||
| voice_frontend | No | Conversation engine. Omit or cascade keeps STT/LLM/TTS. gpt_live is GPT-Live-1; transcriber/model/voice become the OpenAI projection (captions stub, backend Luna/Terra, gpt-live-1 voice). Switching back to cascade requires a full STT/LLM/TTS stack. Each engine declares whether it has a language axis as has_language_axis in get_agent_catalog. | |
| answer_detection | No | Per-agent answer-detection policy, validated exactly like PATCH /v1/agents/{agent_id}/voice-stack. | |
| audio_environment | No | Explicit provider-independent ambience pin. Off requires volume 0; every other catalogue preset requires 1 through 100. | |
| language_profiles | No | When supplied replaces sparse overrides; omit to preserve them. | |
| language_profile_revision | No |