# Voice Mode Voice mode adds a spoken conversation to a chat. You talk, the assistant answers out loud, and anything that needs real work is handed to the chat's agent while you keep talking. ## Set up 1. **Add an API key** under **Settings → Providers**: OpenAI for GPT Live, or xAI for Grok Voice. To use a ChatGPT subscription instead, connect your ChatGPT login under **Settings → Providers** and choose **ChatGPT voice (ChatGPT subscription)** as the voice engine in **Settings → Voice** (`voice_model: "gpt-live-1-codex"` in the API). It uses your ChatGPT subscription login; it doesn't fall back to an API key. It stays off until you select it, uses the Cove voice, and has no voice samples or automatic provider retry. See the [Voice API](/docs/api-reference/voice). To use a SuperGrok subscription instead of an xAI API key, connect your SuperGrok login under **Settings → Providers** and choose **Grok voice (SuperGrok subscription)**; it never falls back to an xAI API key. 2. **Turn on Voice calls** under **Settings → Voice**. Choose **GPT Live 1**, **Grok Voice** or **Grok voice (SuperGrok subscription)**, then a voice (the play button plays a sample; the SuperGrok engine has no samples), set **Max call length**, and change the **Call prompts** if you like. Both Grok engines default to **Eve**, use server voice activity detection, and delegate work to the same chat agent. Calls keep the engine, provider, voice and prompts they started with. 3. In the voice chat's composer, **choose the model** that does the work, with its effort and permission mode. GPT Live includes the nine additional API voices Nuri, Juni, Flitz, Brise, Sillage, Nira, Harema, Shida and Noeul (documentation checked 2026-10-18). GPT Live 1.1 is coming soon to the API; no undocumented model ID is offered. Prompt-to-voice/custom voice creation is not implemented here. The **Dictation** settings on the same page, including the **Voice input hotkey**, are for speaking into the message box. They do not affect calls. ## Start a call Choose **Voice** in the session mode switcher, then **Start a voice call**. To call again on an existing voice chat, use **Start a call on this voice session** in the composer. During a call, the call dock shows whether it is connected and who is speaking, how long the call has run, and buttons to: - end the call; - mute your microphone; - mute the assistant. You can still type messages and attach files during a call. They go to the same chat. If you open another chat or page during a call, a small call bar keeps the controls in reach. Drag it by its handle to anywhere in the window, or focus the handle and use the arrow keys. It stays where you put it on that device. Double-click the handle, press Escape on it, or use its put-back button to return it to its usual place. In the desktop app, the pop-out button moves the call bar into a small window that stays on top of other apps; its put-back button returns it to the app. **Voice volume** under **Settings → Voice** sets how loud the assistant plays on this device, up to 300% for quiet speakers. Changes apply to a call in progress. Hanging up ends the audio. Work already handed to the chat keeps running. Stop it separately if you want to cancel it. ## Handing work to the chat Ask for something in plain words, for example "fix the failing test" or "summarize today's emails". The request goes to the voice chat itself, with its model, agent, tools and approval rules. - Results, failures and approval requests are spoken. - Routine progress is not announced. Ask "how is it going?" whenever you want an update. - What you and the assistant say is saved in the chat as text. ## Calling a chat while it works You can call any of your chats at any time, even while its agent is busy. Only a chat another device is running refuses a call. A call never starts by itself: nothing listens until you press the call button. - **Ask for status**, such as "what are you working on?" or "is it done yet?". It answers from the app's task list. - **Finished jobs** are mentioned at the next pause. - **Approvals:** when work needs your permission, the agent asks one plain question, and you can answer it out loud or by typing. Only a clear yes approves and a clear no declines. An unclear answer is asked once more, then declined. - **Secrets stay on screen.** Private access requests are answered on screen, and the agent tells you when that is needed. ## Background noise If breathing or room noise keeps starting a turn, raise the microphone threshold in the voice options. If a quiet microphone gets cut off, lower it. ## Dropped connections Grok calls end on a dropped connection; start the call again to rejoin. For GPT Live, if the connection drops, for example when your phone moves from Wi-Fi to mobile data, the call shows **reconnecting** and picks up where it left off. Anything said while it shows **reconnecting** is not heard. If it cannot reconnect, the call ends with a message, and you can start it again. ## Costs - Call audio and voice samples are billed to your selected engine’s OpenAI or xAI API account. API keys stay on the server; the browser streams PCM audio through the app, not directly to xAI. - Work handed to the chat is billed to that chat model's own provider. - **Max call length** limits the length of a call, not its cost. Check your provider's usage page for real charges. ## Older voice chats Voice chats created with earlier versions may still use the **OpenAI Realtime** or **PersonaPlex** engines, and keep them. - **OpenAI Realtime** calls hand work to background agents instead of the chat. Only agents with a **Voice** model set in their **Models** section can take that work. The call dock shows an estimated cost. - **PersonaPlex** calls use your fal.ai key. They are spoken conversation only, with no tools or hand-offs, and only the assistant's side is saved as text. To control voice calls from your own code, see the [Voice API](/docs/api-reference/voice).