Choose where voice is processed
Open Settings → Voice, then choose one service for dictation and spoken replies.Voice processing and AI chat are two separate steps. Dictation first places a transcript in the composer so you can review it. When you send that message, your configured AI provider receives it together with the enabled chat context described in AI chat.
Set up on-device voice
On-device voice is the most private explicit option and the fallback when Same as chat cannot use the active AI provider. Models run in a browser worker and are downloaded only when you explicitly request them.1
Open Voice settings
Open Settings → Voice and choose On this device under Where voice is processed.
2
Choose transcription quality
Whisper Small is the recommended balance of speed and accuracy and downloads about 260 MB. Whisper Large v3 Turbo may be more accurate, but downloads about 770 MB and needs more memory.
3
Choose processing hardware
Keep Automatic unless you are troubleshooting. getbased can use your main processor or WebGPU-capable graphics processor and remembers measured performance after use.
4
Download the models you need
Under Built-in local models, click Download for transcription, speech, or both. The Kokoro speech model is about 95 MB for main-processor use; its graphics-processor assets are larger.
5
Choose a voice
Select an American or British English voice and adjust the speaking speed. On-device spoken replies currently support English. On-device Whisper supports multilingual dictation.
Dictate a message
1
Start recording
Open chat and click or tap the microphone beside the composer. The first use asks for browser microphone permission.
2
Speak, then stop
Tap the microphone again when you are finished. A recording can run for up to five minutes; getbased stops and transcribes it automatically at that limit.
3
Review before sending
The transcript is inserted at the cursor in the composer. Edit it as needed, then send it like any typed message.
Listen to replies
Choose Listen under an assistant reply to generate and play speech. Choose Stop to end playback. To hear every new reply while chat is open, enable Read new replies automatically in Settings → Voice. Browsers normally require one direct playback action before allowing automatic audio, so tap Listen once after enabling it. Closing chat, changing threads, leaving the page, starting a recording, or choosing another reply stops stale playback. A reply is read only in the thread where the request started.Use different services for dictation and listening
Enable Use different services for dictation and listening in Settings → Voice when one service does not fit both jobs. For example, you can keep dictation on-device while using a cloud voice for spoken replies. Each operation follows its own privacy boundary:- the dictation service receives the microphone recording;
- the spoken-replies service receives only the assistant reply being read;
- neither voice operation automatically receives your full profile or complete chat history.
Connect a compatible voice server
Choose Local voice server to connect directly from the browser to a server you control. Compatible servers need these OpenAI-style endpoints:POST /v1/audio/transcriptionsfor dictation;POST /v1/audio/speechfor spoken replies;GET /v1/modelsfor the connection test.
Reuse an AI provider or connect xAI or ElevenLabs
Choose Same as chat to reuse OpenRouter, PPQ, or Venice when the active provider is connected in Settings → AI. You can also select one of those providers explicitly for voice. OpenRouter exposes compatible transcription and speech model choices; PPQ and Venice use their supported audio endpoints and voice catalogs. Routstr, Custom API, Local AI, and CLI agents do not currently supply the automatic voice path. Same as chat falls back to the browser models for those providers, even if a different cloud AI account is saved. CLI image support does not imply audio support. To send audio to another provider or compatible endpoint, choose that voice service explicitly; to use your own endpoint, select Local voice server separately. Expand the provider under Settings → Voice → Connections, paste a voice API key, then click Save key and Test connection. Refresh the voice list before choosing a hosted voice. Cloud voice requests go directly from your browser to OpenRouter, PPQ, Venice, xAI, or ElevenLabs. The provider must permit the browser request and applies its own pricing, retention, and account policies; getbased does not retry a failed direct request through its servers. A provider’s private or TEE chat mode does not automatically protect its separate voice endpoint. Before the first request to a cloud voice recipient, getbased asks for explicit, provider-specific approval. If you decline, no request is sent. The approval covers later cloud AI and voice actions you initiate with that recipient; withdraw it at any time in Settings → Privacy. Voice credentials are never deliberately stored as plaintext. With passphrase protection off, getbased wraps supported keys with a non-exportable key held by that browser. With passphrase protection on, it protects them with the passphrase-derived key. If device protection is unavailable, getbased keeps a new key in memory for the session instead of persisting it unprotected. Sync carries the sync-scoped voice preferences plus the supported OpenRouter, PPQ, Venice, xAI, and ElevenLabs keys inside its end-to-end encrypted payload. On the receiving browser, synced keys are wrapped again by that browser’s current device or passphrase protection. The compatible-server URL and optional key are device-scoped and are not synced. Full database and folder backups are different: they omit device-key-wrapped credentials when passphrase protection is off, and include supported credentials only as passphrase-encrypted values when it is on. See Voice privacy and storage for the full boundary.Troubleshooting
The browser denied microphone access
The browser denied microphone access
Allow microphone access for the getbased site in your browser’s site settings, then try the microphone again. Voice capture requires a secure browser context, such as the hosted HTTPS app or
localhost during development.On-device Voice asks for a model download
On-device Voice asks for a model download
Open Settings → Voice → Built-in local models and download the model for the action you want. Browser storage cleanup can remove cached model files even when the previous installation marker still exists; getbased verifies the cache before use.
Automatic reading does not start
Automatic reading does not start
Tap Listen on one assistant reply to grant playback activation in that browser. Automatic reading works only while chat is open.
A cloud voice is missing
A cloud voice is missing
Open its connection card in Settings → Voice, test the key, then click Refresh voices. ElevenLabs requires a selected voice before it can read replies.
A compatible server does not connect
A compatible server does not connect
Confirm the base URL, optional bearer key, and the three supported endpoints. Also check HTTPS mixed-content rules and the server’s CORS configuration.