- Low latency. There are no hand-offs between three engines, so replies start faster.
- Natural conversation. The model picks up tone, pauses, and interruptions, and responds in kind.
- Versatility. One model covers languages, accents, and speaking styles without extra configuration.
Two agents, one call
Speech to speech splits the work between two agents, so you get real-time voice speed without giving up control:- Conversational agent (real time). The voice that the caller hears. It runs on the voice model and handles the back-and-forth, interruptions, and small talk. Instead of guessing, it hands off to the backend whenever it needs facts or actions.
- Delegation agent (backend). Your existing agent. It owns tools, knowledge, workflows, and guardrails. It does the actual work and hands results back to the conversational agent to say out loud.
Prerequisites
- Your environment has speech to speech enabled.
- Your project has a voice-to-voice language model. To add one, go to AI & Voice Providers > Language Models, click Add model, and select OpenAI GPT Live (
gpt-live-1).
Turn on speech to speech
- GUI
- In the left menu, go to Design > Agent.
- Click the agent. The agent opens on the Configuration tab.
- Above the LLM section, turn on Speech-to-speech. Cognigy selects the first available voice model and saves the change immediately. You don’t need to click Save.
- In Voice model, select the model that hears and speaks with the caller.
- In Delegation model, select the model that handles the agent’s tools, skills, and reasoning.
- In Voice, select a voice. If you don’t select one, the agent uses the Default voice.
Edit the voice prompt
The voice prompt is the full system prompt that the voice model follows. The default template covers Speaking Style, Conversation, Opening, AI Disclosure, Backend Agent, Language, and Call Context. Tools, knowledge, and guardrails appear as variables.- On the Configuration tab, click Open voice prompt. The button is available only after you select a Delegation model.
- In Edit, change the prompt template. To insert a variable, type
{{. Lines that start with#are headings. - Click Preview to check the rendered prompt. The next call uses exactly what the preview shows.
- Click Save.