← Blog

Dictation With Your Own API Key: How Hovor's BYOK Mode Works

Bring your own OpenAI or Anthropic key and Hovor calls that provider directly — no subscription needed for cloud compute, no intermediary server, and your key never leaves your device's Keychain.

Last updated: July 19, 2026

What BYOK means, precisely

BYOK ("bring your own key") means you paste your own API key from OpenAI, Anthropic, Deepgram, or ElevenLabs into Hovor's Settings, and Hovor uses that key to call the provider directly instead of relaying the request through Hovor's own server. You pay the provider per token or per minute of audio; on Hovor's side, BYOK is included with an active Pro subscription, or available via a one-time BYOK Unlock fee if you'd rather not subscribe.

This is different from Hovor's default cloud mode, where transcription and formatting run on Hovor's server using Hovor's own OpenAI account, billed through the Pro subscription. BYOK swaps who holds the account and who pays the provider — the architecture of "type into Hovor, get formatted text back" stays the same.

Where the key lives, and where it doesn't go

Every BYOK key is written to the iOS/macOS Keychain by KeychainStore, under the service identifier app.hovor.byok, with the accessibility flag kSecAttrAccessibleWhenUnlockedThisDeviceOnly. That means the key never syncs through iCloud Keychain, is unreadable while the device is locked, and does not survive a backup restored onto different hardware — not a policy promise, but how the storage call is configured.

This logic lives entirely in HovorKit/Sources/HovorKit/Workflows/KeychainStore.swift, the single file responsible for every BYOK key on both platforms.

On the network side, each BYOK backend builds its HTTPS request straight to the provider. OpenAISTTBackend posts to api.openai.com/v1/audio/transcriptions, DeepgramSTTBackend to api.deepgram.com/v1/listen, ElevenLabsSTTBackend to api.elevenlabs.io/v1/speech-to-text, OpenAIToneBackend and AnthropicToneBackend to api.openai.com/v1/chat/completions and api.anthropic.com/v1/messages respectively — each call built and sent from HovorKit's own URLSession, with no hop through any Hovor-controlled host.

Which providers and models Hovor's BYOK actually supports

BYOK covers two distinct roles: speech-to-text (turning your voice into raw text) and formatting/translation (cleaning up grammar, punctuation, and tone, or translating into another language). Not every provider does both — the table below is the full built-in catalog, not a marketing simplification.

ProviderRoleModels available with your keyKey required
OpenAISpeech-to-textGPT-4o mini Transcribe, GPT-4o Transcribe, Whisper API, GPT Realtime WhisperYes
OpenAIFormat / translateGPT-5 mini, GPT-5, GPT-4o, GPT-4o-miniYes
AnthropicFormat / translateClaude Sonnet 4.6, Claude Haiku 4.5Yes
DeepgramSpeech-to-textNova-3 (General), Nova-3 MultilingualYes
ElevenLabsSpeech-to-textScribe v2Yes
Custom OpenAI-compatible endpointFormat / translateAny model your endpoint (Ollama, LM Studio, vLLM, etc.) servesOptional

Anthropic is BYOK-only in Hovor: there is no Hovor-hosted Claude option, so a Claude-formatted transcript always runs on your own key. OpenAI, by contrast, is available both through Hovor's cloud (billed via Pro) and via BYOK (billed via your own OpenAI account) — you choose per workflow which one is active. Google/Gemini formatting is not currently wired up on either path.

Custom endpoints: running a local model instead of a cloud API

Hovor's CustomEndpointToneBackend talks to any OpenAI-compatible chat-completions endpoint you point it at — a self-hosted Ollama or LM Studio instance on your LAN, or a hosted OpenAI-compatible provider. The endpoint's API key field is optional by design: many local model servers run without authentication, and Hovor's ProviderCapability lookup marks the provider as requiresKey: false so a keyless endpoint isn't silently routed back to Hovor's cloud.

Only HTTPS endpoints with a valid host are accepted: CustomEndpointURL.validateHTTPS rejects http:// URLs outright, so an API key can never be sent in cleartext by mistake.

Verifying your key works, before you rely on it

Hovor tests a newly entered key against the real provider before you rely on it in a workflow. BYOKConnectionTester sends a minimal, intentionally malformed request to the provider's actual endpoint — for OpenAI, a multipart POST to the audio-transcriptions endpoint with no file attached — and reads the returned error to tell a valid-but-malformed request apart from an invalid or under-scoped key.

This same code path is independent proof that BYOK talks to the provider directly, not through Hovor's server: the test only succeeds because the request actually reaches OpenAI, Anthropic, Deepgram, or ElevenLabs.

What happens if your key or request fails

Failure handling depends on your plan, not just on the error. ByokFallbackToneBackend wraps your BYOK backend with an optional silent fallback to Hovor's own cloud formatting — but that fallback only fires if you are an active Pro subscriber at the moment of the call, checked live rather than cached at startup. Free, Local-only, and BYOK-only users never get it; they see the error surfaced directly instead.

This gate exists specifically so users who chose BYOK to avoid a subscription are never quietly billed against Hovor's own account, since they haven't paid for that server compute.

What BYOK costs: included with Pro, or a standalone unlock

Using your own key is included with an active Pro subscription. If you don't want a subscription, BYOK Unlock is a one-time, family-shareable in-app purchase priced at $24.99 / 999 UAH, sold through the App Store on iOS and macOS and through Monobank on the web, that grants BYOK permanently instead. It is billed once, not monthly or yearly, and stacks with Hovor's other purchases rather than replacing them.

PurchasePriceWhat it unlocks
Pro subscription$11.99/mo or $89.99/yrUnlimited words on Hovor's own cloud, 5 devices
Local Unlock$49.99 / 1,999 UAH (one-time)Unlimited on-device transcription, unlimited replacements/snippets/workflows
BYOK Unlock$24.99 / 999 UAH (one-time)Use your own OpenAI/Anthropic/Deepgram/ElevenLabs/custom-endpoint key, forever, without a subscription (already included with Pro)
Local + BYOK Bundle$69.99 / 2,799 UAH (one-time)Both of the above, ~$5 cheaper than buying separately

The free tier (2,000 words/week on Hovor's cloud) does not require any of the above and works without a key. Pro subscribers already have BYOK included; BYOK Unlock is for users who want a specific provider/model routed through their own key without adding a recurring subscription.

Platform availability: iOS and macOS only, for now

BYOK is implemented inside HovorKit, the Swift package shared by Hovor's iOS and macOS clients, so it works identically on both today — the same KeychainStore, the same provider backends, the same connection tester. It is not currently available on the Windows client, which is still being rebuilt on Tauri. If you need BYOK today, iPhone or Mac is the only supported path.

Frequently asked questions

What does BYOK mean in a dictation app?

BYOK ("bring your own key") means you supply your own API key from a provider such as OpenAI or Anthropic, and the app calls that provider directly with your key instead of routing your requests through the app maker's own server and billing. In Hovor, BYOK keys are entered in Settings, stored in the device Keychain, and used to call the provider's API directly from your Mac or iPhone. You pay the provider per use instead of paying Hovor a subscription for cloud compute.

Does Hovor ever see or proxy my API key or my dictated text?

No. Hovor's BYOK backends — OpenAISTTBackend, OpenAIToneBackend, AnthropicToneBackend, DeepgramSTTBackend, ElevenLabsSTTBackend, and CustomEndpointToneBackend — build an HTTPS request to the provider's own endpoint (for example api.openai.com/v1/audio/transcriptions or api.anthropic.com/v1/messages) directly from HovorKit and send it with URLSession. Hovor's server is never in that request path. The key itself is written to the device Keychain under the service identifier app.hovor.byok with kSecAttrAccessibleWhenUnlockedThisDeviceOnly, so it is also never synced to iCloud Keychain or included in a backup restored to a different device.

Which providers and models can I use with my own key in Hovor?

For speech-to-text (BYOK): OpenAI (gpt-4o-mini-transcribe, gpt-4o-transcribe, whisper-1, gpt-realtime-whisper), Deepgram (Nova-3, Nova-3 Multilingual), and ElevenLabs (Scribe v2). For text formatting and translation (BYOK): OpenAI (GPT-5 mini, GPT-5, GPT-4o, GPT-4o-mini) and Anthropic (Claude Sonnet 4.6, Claude Haiku 4.5). You can also point Hovor at any OpenAI-compatible custom endpoint — including a local server such as Ollama or LM Studio — with an optional API key, since many local endpoints run without authentication on a LAN.

Do I need BYOK Unlock to use my own key, and what does it cost?

Not necessarily. BYOK is included with an active Pro subscription. If you'd rather not subscribe, a standalone one-time BYOK Unlock ($24.99 / 999 UAH, family-shareable, sold through the App Store on iOS and macOS and through Monobank on the web) grants it permanently instead. BYOK Unlock is a separate purchase from Local Unlock ($49.99 / 1,999 UAH, for on-device models); buying both together as the Bundle costs $69.99 (2,799 UAH), saving roughly $5 versus buying them separately.

What happens if my own API key fails mid-dictation?

It depends on your subscription tier and your workflow's auto-fallback setting. Hovor's ByokFallbackToneBackend only falls back to Hovor's own cloud formatting silently if you are an active Pro subscriber; BYOK-only, Local-only, and Free users never get a silent fallback to Hovor Cloud, since they have not paid for that server compute. In every case Hovor surfaces an error so you know the request failed rather than showing a wrong or stale result.

Is BYOK available on Windows?

Not yet. BYOK is implemented in HovorKit, the shared Swift package used by Hovor's iOS and macOS apps, so it is available on both of those platforms today. Hovor's Windows client, built with Rust and React (Tauri), is still in active development. BYOK isn't simply a toggle waiting to be flipped there: the current implementation stores keys in Apple's Keychain framework, which doesn't exist outside iOS and macOS, so Windows needs its own secure key storage design before BYOK can ship.

Dictate with your own key, no subscription required

Download Hovor for Mac or iPhone. BYOK is included with Pro, or add BYOK Unlock once ($24.99 / 999 UAH) without a subscription, and dictate through your own OpenAI, Anthropic, Deepgram, or ElevenLabs key — your key stays in your device's Keychain, always.

Get Hovor