Open WebUI on your phone: install it as an app and talk to it

Install Open WebUI on your phone's home screen, then set up voice mode with OpenAI speech APIs instead of local Whisper, with real costs per month.

· ranx.cloud

Illustration of a pair of wired earphones coiled on a kitchen counter next to a mug and a set of house keys

This is for anyone who uses Open WebUI at a desk and wants the same chats, models and presets on their phone, including hands-free conversation while walking or cooking. You end up with Open WebUI installed as an app on your home screen, speech-to-text and text-to-speech running through OpenAI's APIs, a voice mode that reads replies aloud sentence by sentence, and a realistic monthly cost for it. All setup is in the web interface and your phone's browser.

Settings below were checked against Open WebUI v0.13.0. Prices are as of November 2026.

Step 1: Install it on the phone

Every Open WebUI instance is a Progressive Web App: the browser can install it with its own icon and full-screen window, no app store involved (Open WebUI as an app).

  • Android, Chrome: open your instance's address, sign in, then use the ⋮ menu and choose Add to Home screen or Install app, and confirm.
  • iPhone or iPad, Safari: open the address, sign in, tap the Share button, then Add to Home Screen and Add. Install from Safari; Open WebUI's docs say other iOS browsers can't install it.

The installed app shares your chats, models, presets and settings with the desktop, because they all live on the instance.

Signing in from the app

On ranx.cloud, the ranx.cloud account sign-in sits in front of Open WebUI, and the instance's sign-in lasts 12 hours. After that the app goes through ranx.cloud again: if you are still signed in there it passes straight through, otherwise you see the ranx.cloud sign-in page, and after signing in you're back in Open WebUI where you left off. Your chats are not affected.

If you leave the app open in the background across that boundary, it may show errors or stop loading new messages when you return, because its requests are no longer signed in. Close the app fully and open it again to go through the sign-in page.

Notifications

Under Settings → Notifications you can switch on Browser Notifications for finished replies. They only fire while the app is open; Open WebUI has no push service, so a closed app gets nothing (#28221 tracks the request).

Step 2: Choose where speech is processed

Voice needs two engines: speech-to-text (STT) for what you say, text-to-speech (TTS) for what the model says. Open WebUI offers local engines that run inside the instance, engines that run in your browser, and hosted APIs.

Option Where it runs Fit for a small instance
Whisper (Local) STT, the default inside the Open WebUI process Poor: transcription competes with the app for 0.5 to 4 shared CPUs, and the model stays in memory after first use
Transformers local TTS inside the Open WebUI process Poor, for the same reason
Web API STT the phone's browser Free, but voice mode isn't available with it
Web API TTS (default) the phone's own voices Free, works in voice mode, quality varies by phone
OpenAI STT and TTS OpenAI's servers Good: no load on the instance, billed per minute or per character

Local Whisper and local TTS are designed for machines with spare cores or a GPU. On a CPU-only instance sized for a chat UI, a voice turn would wait for transcription while the rest of the app slows down. Use the APIs. Depending on the image, the local engines may not be selectable at all, in which case the choice is made for you.

Step 3: Configure OpenAI speech

Get an API key at platform.openai.com/api-keys (the same key you use for chat models works). Open Settings (your avatar at the bottom of the sidebar), go to the Admin section and open Audio, under Tools.

Speech-to-Text:

Field Value
Speech-to-Text Engine OpenAI
API Base URL https://api.openai.com/v1
API Key your OpenAI key
STT Model gpt-transcribe

Text-to-Speech:

Field Value
Text-to-Speech Engine OpenAI, or leave Web API for the phone's own voices
API Base URL https://api.openai.com/v1
API Key your OpenAI key
TTS Model tts-1
TTS Voice nova, or alloy, echo, fable, onyx, shimmer
Response Splitting Punctuation

Save. gpt-transcribe is OpenAI's current transcription model; fill the field in rather than relying on whatever default your version picks. Punctuation splitting makes voice mode speak each sentence as soon as it's written, so a long answer starts playing before it's finished.

Leave Call mode at the top of the page on Standard for now.

Step 4: Use voice mode

Open a chat with one model selected. With the message box empty, the send button turns into Voice mode. Tap it and allow microphone access.

  • Speak, then pause. About two seconds of silence sends what you said.
  • The reply is read aloud as it streams. Tap the model's picture to stop it.
  • Settings → Interface → Voice → Allow Voice Interruption in Call lets you cut in by talking. Off by default; turn it on if you use headphones.
  • The screen stays awake during a call where the browser allows it.

While voice mode is on, Open WebUI adds an instruction to the system prompt asking for short, conversational answers that are easy to follow by ear. You can edit it or turn it off under Voice Mode Prompt in the Admin Interface page.

Any preset works in voice mode, and each can have its own voice: set TTS Voice in the preset's Voice row in Workspace → Models.

For typing-free messages without a call, the microphone button in the message box (Dictate) transcribes into the text field so you can check it before sending.

What it costs

From OpenAI's pricing page, November 2026: gpt-transcribe costs $0.0045 per minute of audio, tts-1 costs $15 per million characters.

A 15-minute voice session a day, in which you talk for about 5 minutes and get 15 spoken replies of about 500 characters:

speech-to-text:  5 min × $0.0045            = $0.0225/day
text-to-speech:  15 × 500 = 7,500 chars
                 7,500 × $15 / 1,000,000    = $0.1125/day
per month (30 days):  $0.68 + $3.38         ≈ $4.05

Speech output is most of it. Keep Text-to-Speech Engine on Web API and the same month costs $0.68 plus the chat model; the phone's built-in voices are free. On top of either comes the chat model itself, priced as for typed chats; voice turns are short, so on a small model it's cents.

Optional: realtime calls

Setting Call mode to Realtime connects calls to a speech-to-speech model that hears you directly and replies with very little delay. It handles greetings and small talk itself and passes real questions to the chat model you selected, so your presets, tools and history still apply. Fields and defaults:

Field Default
Provider OpenAI / compatible
Voice Model gpt-realtime-2.1-mini
Voice marin
Input Transcription Model gpt-transcribe

gpt-realtime-2.1-mini is billed per audio token, $10 per million in and $20 per million out, on top of the chat model answering the real questions. OpenAI doesn't publish a per-minute figure for it, so make a five-minute test call and check the usage page in the OpenAI dashboard before making it your default. A realtime call ends after one hour.

What goes wrong

The installed app is stuck on the Open WebUI logo after an update. The phone is serving a cached copy of the old app. On Android, Chrome → Settings → Site settings → All sites → your instance → delete its data, then reopen (#32218). On iPhone, remove the home-screen icon, clear the site's data in Safari's settings, and add it again.

No Voice mode button. The admin Speech-to-Text Engine is set to Web API, which voice mode can't use, or more than one model is selected. Pick OpenAI as in step 3, and keep one model.

"Permission denied when accessing media devices". The phone blocked the microphone for the browser or the installed app. Allow it in the phone's settings for Chrome or Safari and reload.

It keeps listening and never sends. Background noise counts as speech, so the two-second silence never comes. Mute with the microphone button while it's noisy.

Crackling from the iPhone speaker during a call. The microphone stays open while the reply plays so you can interrupt, and iOS echo cancellation causes the noise. Open WebUI treats it as expected behaviour; use headphones (#32512).

On iPhone, music stops when you open the app, or the keyboard hides the latest reply. Both are open iOS-specific issues in this version (#33780, #33444).

"Voice connection failed" in Realtime mode. The browser couldn't open the call connection, or the provider refused it. Check the key and Voice Model, then switch back to Standard if it persists.

A call drops mid-sentence. The instance was restarted briefly, which can happen on ranx.cloud for maintenance or updates, or the 12-hour sign-in ran out during the call. Close the app, reopen it, sign in if asked, and start the call again; the transcript so far is saved in the chat.