Skip to main content

Dictation and features (Android)

The InkSpoke Android app has two ways to turn speech into text: dictate inside the app on the full-screen Recording Home, or dictate into any other app through the InkSpoke voice keyboard. This page walks through the in-app experience and the features that support it — transcription modes, AI refinement, workspaces, history, models, and your personal context — plus a clear note on what's still coming to Android.

If you haven't installed and enabled InkSpoke yet, start with Set up InkSpoke on Android.


Dictating in the app (Recording Home)

Recording Home is the app's landing screen — the Home tab in the bottom navigation. It's a focused, full-screen dictation surface: one big mic button, a live timer, and a result card you can copy from.

┌─────────────────────────────────────────────────┐
│ ⌂ Status 🕘 History ⚙ Settings │
├─────────────────────────────────────────────────┤
│ │
│ ╭─────────╮ │
│ ( ◉ ) ← level halo │
│ ╰─────────╯ │
│ Recording… 0:12 │
│ │
├─────────────────────────────────────────────────┤
│ [ Workspace: ✉ Email ▾ ] [ Auto ▾ ] [ Mic ▾ ] │
└─────────────────────────────────────────────────┘

The basic loop

  1. Tap the mic to start. The first time, Android asks for microphone permission — tap Allow.
  2. Speak. An animated halo pulses around the mic with your audio level, and the timer counts up (Recording… 0:12).
  3. Tap the mic again to stop. The status changes to Processing… while InkSpoke transcribes and (optionally) refines your words.
  4. Read the result in a scrollable card, with Copy to put it on your clipboard and Hide to clear it. The status returns to Tap to record again so you can go straight into your next take.
┌──────────────────────────────────────────────────┐
│ Status History Settings │
├──────────────────────────────────────────────────┤
│ ┌───────────────────────────────────────────┐ │
│ │ "Let's ship the release on Friday if QA │ │
│ │ signs off." │ │
│ │ [ Copy ] [ Hide ] │ │
│ └───────────────────────────────────────────┘ │
│ ╭─────────╮ │
│ ( ◉ ) │
│ Tap to record again │
└──────────────────────────────────────────────────┘

The status label always tells you where you are: Tap to record → Recording… m:ss → Processing… → Tap to record again.

Copy is the in-app hand-off

Recording Home doesn't type into other apps — that's the voice keyboard's job. Use Recording Home when you want to capture something, read it back, and Copy it wherever you like.

Choose your workspace, language, and mic

Just below the mic (in portrait orientation) sit three selector pills. Each one is disabled automatically when there's only one option to pick, so they never get in your way.

PillWhat it setsChoices
WorkspaceWhich workspace tunes this dictation's vocabulary, tone, and refinementGlobal / None, plus each workspace you've created
LanguageThe spoken language InkSpoke expectsAuto-detect, plus the supported languages
Audio inputWhich microphone to record fromDefault mic, plus any detected phone, Bluetooth, wired, or USB mic

Recording limits and interruptions

In-app recording caps at 5 minutes

A single in-app recording stops automatically at a hard 5-minute ceiling. If you hit it, InkSpoke tells you plainly — "Recording reached the 5-minute limit — the rest wasn't captured." For longer sessions, break your dictation into takes. (To transcribe long meetings or files, use the desktop app.)

Recording is also cancelled automatically if you leave — background the app or navigate to another screen mid-recording and the take is discarded rather than left running. Keep Recording Home in the foreground while you dictate.

You can also make recordings stop sooner from Settings → General → Recording:

SettingDefaultWhat it does
Max Recording Duration2 minutesAuto-stops after this long. Options: 3, 5, or 10 minutes, or a custom value. The 5-minute in-app ceiling above still applies as the hard cap.
Silence Auto-Stop10 secondsStops recording after this much silence. Options: Off, 10, 15, 20, 30 seconds.
VAD SensitivityHighHow eagerly InkSpoke treats quiet as silence. Options: Low, Medium, High, Very High.
Message Text Size17 spSize of the result-card text, with a live preview. Range 17–40 sp.
Portrait vs. landscape

In portrait, a result card auto-hides after about 60 seconds so the screen stays clean. In landscape, InkSpoke collapses the top bar, widens the message to near-full-width at 1.25× larger text, and gives you a single action row (Copy, History, Settings, Mic, Hide) — handy for reading a longer result on a propped-up phone.


How your speech becomes text

Every dictation runs through the same pipeline. Which transcription mode it uses is decided by the speech model you've made active — you don't pick a mode directly, you pick a model.

ModeWhen it's usedWhat it means
Cloud (default)You've selected a Platform speech modelAudio is uploaded to the InkSpoke platform for transcription. New installs start here.
LocalYou've selected an on-device Whisper modelTranscription runs entirely on your phone — offline and private. Requires downloading a model first.
BYOKYou've selected a model from a provider you addedYour own OpenAI-compatible endpoint and API key do the work.

You set this in Settings → AI Models → Default (see AI Models below). Picking a Platform model switches you to Cloud, an on-device model switches you to Local, and a provider model switches you to BYOK — all automatically. For the concepts behind on-device vs. cloud, the desktop guide to on-device vs. cloud and privacy applies to Android too.


Polishing with AI refinement

After transcription, InkSpoke can run your raw text through an LLM to clean up filler, fix punctuation, and match the tone your active workspace asks for. Refinement is controlled by two switches working together.

ToggleWhereDefaultRole
AI Refinement (master)Settings → GeneralOnThe master kill-switch. Off = raw transcription only, everywhere.
Refine workspaces by defaultSettings → AI Models → DefaultOnWhether workspaces without their own text model get refined.

Individual workspaces can override the default in the workspace editor. When the master switch is off, the per-workspace default is greyed out with the hint "Enable AI Refinement in General settings first." — so there's never any doubt about why refinement isn't running. The desktop refinement guide explains the ideas in more depth.


Workspaces

Workspaces are named profiles that tailor transcription and refinement to a context — your email voice, your chat shorthand, a coding vocabulary. On Android they live under the Workspaces bottom tab, with a search box and a + button to create one. Long-press a card for Pin or Edit; tap it to open the full editor.

The fastest way to make one is the 4-step wizard:

  1. Name the workspace.
  2. Pick a Language (or leave it on auto).
  3. Choose a Tone preset to seed how it should sound.
  4. Confirm to create it.

From there, the editor lets you refine the system prompt, tags, an optional language override, model overrides, the AI-refinement toggle, workspace-specific vocabulary (with a 1024-character budget counter), and categorized entries (Tone Adjustment, Output Style, Domain Context, Custom Instructions). Your seeded starter workspaces — Speech/Voice, Chat, Email, Note Taking — are a good place to see how they're built.

Text-model overrides are platform-only on Android

A workspace can override which platform text model it uses, but a per-workspace BYOK text override is not supported on Android. Your BYOK provider still applies as the global default; you just can't pin a different BYOK text model to one workspace.

Workspaces are a first-class desktop concept too — see What are workspaces for the full model.


History

Every finished dictation is logged to History (the History tab, also reachable from the Recording Home top bar). It's a searchable list of what you've captured.

┌─────────────────────────────────────────────────┐
│ History 🔍 Search │
├─────────────────────────────────────────────────┤
│ ✓ Saved 0:12 │
│ "Let's ship the release on Friday if QA…" ▸ │
│ ───────────────────────────────────────────── │
│ ⟳ Upload failed 0:31 [ Retry ] │
│ "Draft reply to the vendor about pricing…" ▸ │
│ ───────────────────────────────────────────── │
│ ✓ Saved 1:04 ▶ ‖ ■ (playback) │
│ "Notes from the standup — three blockers…" ▸ │
└─────────────────────────────────────────────────┘

Each card shows a timestamp, a duration chip, and an upload-status badge (Saved, Uploading, or Upload failed). What you can do:

  • Search to filter the list by text.
  • Tap to expand and compare the raw ASR transcription against the refined result.
  • Play back the audio with inline Play / Pause / Stop — when the recording was saved.
  • Retry transcription on a failed cloud upload. InkSpoke keeps the audio so it can re-run the whole pipeline.
  • Swipe a card to delete it, or long-press to enter multi-select and delete several at once.

History keeps everything by default. To prune it, set History → Retention Period in General settings: No Limit (default), or 7, 30, 90, or 365 days.


AI Models

Settings → AI Models is a three-tab manager for everything model-related.

TabWhat you do there
DefaultPick the global default Speech Recognition model and Text Processing model from one unified list (platform, on-device, and BYOK models together). Also holds the Refine workspaces by default toggle. Choosing a model here sets your transcription mode.
On-DeviceBrowse the Whisper catalog and download a model — with a live progress %, a SHA-256 Verifying step, and cancel/retry. Delete models, set the active one, and read each one's size and speed/accuracy rating.
ProvidersList, add, and delete BYOK providers — your own OpenAI-compatible base URL, API key, and model list, each flagged for ASR and/or LLM use.
Downloads default to Wi-Fi only

On-device model files are large, so InkSpoke restricts downloads to Wi-Fi by default. When you're offline it falls back to cached model data, and empty states prompt you to connect or add a BYOK provider. The desktop guide to models and providers covers how to choose.


Personal Context and Vocabulary

Two settings screens teach InkSpoke about you and your words, and both apply across every workspace.

  • Personal Context (Settings → Personal Context) is a global "about you" block — for example, "I'm a backend engineer at PMT Labs" — that's injected into every AI refinement, with a character counter. A master toggle applies this global layer to all workspaces by default, and per-item Include in cloud model requests switches let you keep your context and vocabulary out of cloud calls if you prefer.
  • Global Vocabulary (Settings → Vocabulary) is a term list that both biases speech recognition toward the words you care about and can rewrite the transcript before the LLM sees it. Each row has a read-only Spoken term and an editable Replace with value; a batch-add sheet accepts multi-line term => replacement input. A header counter keeps you within the 1024-character prompt budget.

These mirror the desktop's personal context and dictionaries.


Status dashboard

From the Recording Home top bar, the Status icon opens a read-only readiness screen. At a glance it shows whether the InkSpoke keyboard is enabled, whether microphone permission is granted, and your current inference mode — plus quick buttons to re-run the Setup Guide and open InkSpoke Pro. It's the fastest way to confirm you're set up before you rely on dictation in a hurry.


InkSpoke Pro

The InkSpoke Pro screen (Home → InkSpoke Pro) lists what a subscription unlocks — unlimited cloud transcription, LLM text refinement, cloud sync across devices, and priority support — with a View Plans button. You'll also see a subscribe prompt appear automatically if a dictation is blocked because a trial or credit limit was reached, offering Upgrade.

View Plans opens the pricing page at inkspoke.app/pricing in your browser. Subscriptions are purchased on the web — there's no in-app purchase on Android.

In-app Sign In is coming soon on Android

The Account area in General settings (Sign In, trial status, tier badge) is present but the Sign In button isn't wired up yet in the current build, so account and trial management aren't available from inside the app. Manage your subscription on the web account and see Plans and pricing for what each tier includes.


What's coming to Android

These features exist in the app's design but aren't usable in the current build. We're calling them out so nothing surprises you:

FeatureStatus
In-app Sign In / account & trialComing soon — the button is inert today; use the web account.
QR pairing with your desktopComing soon — the sync screen can discover nearby desktops, but the QR scanner that completes pairing isn't wired yet.
Command Mode / transform selected textComing soon — needs an Android Accessibility service that doesn't ship yet.
Voice keyboard's language & workspace pickersComing soon — the keyboard is voice-only for now; it auto-matches a workspace to the app you're in.
What works today

In-app dictation, the voice keyboard, workspaces, history, on-device / cloud / BYOK models, and personal context & vocabulary are all fully working. The list above is what's still on the way.


Next steps