Dictation and features (iOS)
The InkSpoke keyboard lets you dictate into other apps, but the main InkSpoke app is where recording actually happens — and where you tune everything the keyboard uses. This page tours the main app: capturing speech, reading the result, refining with AI, organizing workspaces, browsing history, choosing models, and managing your account.
Record in the app
The Recording Home screen is the heart of the app. Tap the mic, speak, and InkSpoke transcribes what you said.
┌───────────────────────────────────────────────────┐
│ InkSpoke 🕐 History ⚙ Settings │
├───────────────────────────────────────────────────┤
│ │
│ ▁▃▅▇▆▄▂▄▆▇▅▃▁ 0:07 │
│ Listening… │
│ │
│ [ Workspace ▾ ] [ EN ▾ ] [ 🎙 Built-in mic ▾ ] │
│ │
│ ( ⏹ ) ( ✕ ) │
│ │
│ Extend (12s) │
└───────────────────────────────────────────────────┘
- Tap the mic to start. A live waveform and an elapsed-time counter (
m:ss) show InkSpoke is hearing you. - Tap again (the stop icon) to finish. InkSpoke transcribes, optionally refines with AI, and shows the result.
- Tap the red ✕ at any time to cancel — that discards the current recording and nothing is saved.
The flow looks like this:
You don't always have to tap stop. A recording ends on its own when you go quiet for the Silence Auto-Stop interval, or when it reaches your Max Recording Duration. As you approach that duration limit, an Extend (Ns) button appears so you can add more time and keep going.
If you have more than one microphone available (for example built-in versus a Bluetooth headset), an audio-device pill on the home screen lets you pick which input to use, with a System Default reset.
Read and share the result
When transcription finishes, the text appears in a scrollable, selectable result card with two buttons:
┌──────────────────────────────────────────────────┐
│ Your transcription │
│ ────────────────────────────────────────────── │
│ "Let's ship the release on Friday and send │
│ the changelog to the whole team." │
│ │
│ [ Copy ] [ Hide ] │
└──────────────────────────────────────────────────┘
- Copy puts the text on your clipboard to paste anywhere.
- Hide dismisses the card. In portrait, the card also auto-hides on its own after about a minute.
Rotate your phone to landscape and the card switches to a full-width, large-text "show this to someone" mode with minimal chrome — handy for holding your phone up to a person nearby (for example, someone with hearing loss). It stays on screen instead of auto-hiding, and the text is bumped up in size for readability.
Recording settings
Tune capture behavior in Settings → General.
| Setting | Default | What it does |
|---|---|---|
| Max Recording Duration | 3 min | Longest a single recording can run before it stops (range 1–15 min) |
| Silence Auto-Stop | 10 s | Ends the recording after this much continuous silence — set to Off, or 1–60 s |
| Speech Detection | High | Voice-activity sensitivity: Low / Medium / High / Very High |
| Message Text Size | 17 pt | Result-card text size (slider 17–40 pt; enlarged further in landscape) |
| History Retention | No Limit | Auto-delete records (and their audio) after 7 / 30 / 90 / 365 days |
| Default Language | Auto Detect | The speech-recognition language, or a specific one |
General settings also include a "Turn off InkSpoke after" idle timeout, chosen from a few presets or a custom value. It shuts the session down after a stretch of inactivity so nothing is left listening — pick whatever suits how you work.
AI refinement
Raw speech-to-text is only the first step. AI refinement cleans up grammar and filler and shapes tone and formatting to match the workspace you're in. It's controlled by the AI Refinement master switch in Settings → General (on by default) — turn it off and your transcriptions are never post-processed.
On iOS, refinement runs through the InkSpoke Platform (cloud) or a Bring-Your-Own-Key (BYOK) provider you configure — there is no on-device large language model on iOS. Speech recognition can still run fully on-device with a Whisper model; only the AI refinement step needs the cloud or your own key. If you want fully local AI refinement, that lives in the desktop app.
You choose the refinement model under Settings → AI Models → Default (the Text Processing picker), and a "Refine workspaces by default" toggle sets whether workspaces without their own text model get refined. Learn what refinement does in How refinement works.
Workspaces
Workspaces are named contexts that shape refinement — tone, output style, domain vocabulary, and custom instructions — and each can override the speech/text model and language. Pick one from the workspace pill on the home screen: None (Global), any workspace in your list, or Add Workspace. Selecting a workspace also applies its language.
Manage them fully in Settings → Workspaces: search, pin one to the top, select, activate or deactivate, delete (swipe), and sync or force a re-sync from the toolbar menu. Workspaces are often created on the desktop and synced over, but you can also create them right on your phone.
The 2-step wizard
Tap + / Add Workspace to launch the guided wizard:
- Purpose — pick what the workspace is for (Email, Chat/IM, AI Prompting, Meeting Notes, Documentation, Creative Writing, Code Comments, and more). Each seeds a starting tone and style. Choosing Voice-to-Text Only turns AI refinement off for that workspace.
- Domain — pick a domain from the preset library to seed vocabulary and context.
InkSpoke auto-names the result (for example, "Email — Legal") and saves it.
The step dots show three positions, but the third — activation tags — is intentionally hidden on iOS (a current platform limitation). Because of that, workspace tags aren't used for auto-matching on iOS: you select the workspace yourself rather than having InkSpoke pick one by app. Full tag-based matching lives on the desktop app.
AI Models
Settings → AI Models is the central place to choose what powers transcription and refinement. It has three tabs:
| Tab | What's there |
|---|---|
| Default | The active Speech Recognition model and Text Processing model, plus the "Refine workspaces by default" toggle |
| On-Device | The Whisper model catalog — download and manage local speech models |
| Providers | Your BYOK providers |
The Speech Recognition picker unifies Platform models, on-device Whisper, and your BYOK models in one list. Text Processing never offers on-device models, since there's no local LLM on iOS.
On-device Whisper catalog
The On-Device tab lists downloadable Whisper models with size, quality, and speed indicators, and a PRO badge on tier-gated ones. Download shows circular progress with cancel; files are SHA-256 verified, retried on failure, then activated (one active model at a time). You can delete any non-active model, and the tab shows total storage used. A detail sheet lists parameters, file size, RAM required, supported-language count, and accelerator.
| Setting | Default | What it does |
|---|---|---|
| Wi-Fi Only Downloads | Off | When on, model downloads wait until you're on Wi-Fi |
BYOK providers
Under Providers, add any OpenAI-compatible endpoint with its own API key for speech and/or text. You set the provider name, base URL, timeout (5–120 s), and temperature, and list the models it offers. Test Connection checks it before you rely on it, and quick-setup presets pre-fill common providers.
BYOK API keys are stored in the iOS Keychain and never leave your phone. Endpoints must be HTTPS (plain HTTP is allowed only for localhost and local-network addresses). For the bigger picture on Platform vs. BYOK vs. on-device, see Models and providers and On-device vs. cloud.
Personal context and global vocabulary
Settings → Personal Context holds your Global Layer — personal context in free text (for example, "I'm a backend engineer" or "Use UK English spelling") plus a custom vocabulary list. This layer feeds into AI refinement across all workspaces (unless a workspace overrides it), and your vocabulary also biases speech recognition so InkSpoke spells your names and jargon correctly.
A master toggle, "Apply to all workspaces by default," turns the layer on globally, and a text editor with a character counter warns you if you go over the limit. Per-item "include in cloud requests" toggles let you keep sensitive terms out of cloud calls. Everything auto-saves. More detail lives in Personal context and dictionaries.
The Live Activity
During a recording session, InkSpoke shows a Live Activity outside the app — on the Lock Screen, in StandBy, and in the Dynamic Island — so you can stop dictation without reopening it.
Lock Screen / StandBy Dynamic Island (expanded)
┌────────────────────────────┐ ┌────────────────────────────┐
│ ● InkSpoke │ │ InkSpoke ● Listening│
│ Listening… [ stop ]│ │ "your words so far…" │
└────────────────────────────┘ │ [ Turn Off ] │
└────────────────────────────┘
The Dynamic Island appears compact (icon plus status), expanded (icon, name, status pill, a transcript preview, and a Turn Off button), and minimal (just the icon). The Turn Off / power button stops the session out of process — it doesn't open the app, so you can end a recording straight from the Lock Screen.
Your account, trial, and upgrading
InkSpoke works with no account — you get an anonymous device with a free Pro trial out of the box. Signing in is optional and syncs your identity across devices.
- Sign in / out from Settings → General → Account. Sign-in opens Safari for a secure browser-based sign-in (PKCE OAuth2, CSRF-protected) and returns to the app automatically.
- When signed in, you'll see your profile, a tier badge (Free / Pro / Lifetime / Trial), and — while a trial is active — a Pro Trial block with a progress bar showing remaining trial usage and a Subscribe button.
There's no in-app purchase on iOS. Tapping Subscribe (or View Plans on the upgrade sheet) opens inkspoke.app/pricing in your browser, where you complete the purchase. The upgrade sheet lists what Pro adds: unlimited cloud transcription, AI refinement, cloud sync across devices, and priority support. For how the trial's audio allowance works, see The free trial.
History
Every dictation lands in History. Open it from the clock icon in the top bar, by swiping up on the mic screen, or with a right-edge swipe.
┌──────────────────────────────────────────────────┐
│ History 🔍 Search Select │
├──────────────────────────────────────────────────┤
│ Today │
│ 🎙 "Let's ship on Friday…" 0:07 ▶ ✓ │
│ ⌨ "Reply to the vendor…" 0:12 ⟳ Retry │
│ Yesterday │
│ 🎙 "Notes from standup…" 0:41 ▶ ✓ │
└──────────────────────────────────────────────────┘
Records are grouped Today / Yesterday / This Week / Older, and each shows a source icon (🎙 mic vs. ⌨ keyboard), duration, a play button when audio is stored, and an upload status: Saved, Uploading, or Upload failed. You can search the list, swipe a single record to delete it, or tap Select for multi-select bulk delete.
If a transcription's upload failed, its record shows a Retry transcription button — tap it to try again once you're back on a good connection. Uploads that take a while (over ten seconds) show a slow-network hint. How long records stick around is governed by History Retention in General settings.
Next steps
- The InkSpoke keyboard — dictate into any other app on your phone.
- Set up InkSpoke on iOS — permissions, onboarding, and enabling the keyboard.
- Sync mobile with desktop — pair over your local network to share workspaces and history.
- Manage your account on the web — API keys, active models, and your encrypted synced data.