Documentation
How to install, set up and use VinPUT. Windows 10 and 11, 64-bit.
Install
Requirements: Windows 10 or 11, x64. No administrator rights.
- Get the setup program with the Download button on the home page. It is one file,
VinputSetup-<version>.exe. - Start it. The setup program is not code-signed yet, so Windows shows Windows protected your PC. Click More info, then Run anyway.
- The VinPUT setup window opens. Click Install.
- VinPUT starts and shows a welcome where you choose how to dictate: VinPUT Pro, a model on this PC, or your own Google key. You can also choose later under Settings, Models (see Speech providers). No model is chosen for you.
What setup does:
- Installs for your Windows account only, to
%LOCALAPPDATA%\Programs\Vinput. - Adds a Vinput entry to the Start menu, and a VinPUT entry under Installed apps.
- Starts VinPUT with Windows. Switch this off with Start with Windows in the tray menu or in Settings.
- Keeps your settings, keys and downloaded models when it installs over an older version.
Run a newer setup program to update by hand; its button then reads Update, or Reinstall for the same version. A running VinPUT is closed first.
Silent install
For scripts and package managers:
VinputSetup-<version>.exe --install --quiet
No window and no questions, also when something goes wrong: the exit code is 0 when it worked, and the reason for a failure is in the log. It installs as above and adds the Start menu entry, but does not start VinPUT on a new install; a VinPUT that was running is started again in the tray. Setup has no window of its own to wait for, so in a command prompt use start /wait to wait for it. To remove VinPUT silently, see Uninstall.
Dictation and keys
VinPUT sits in the system tray. It types what you say into the text field that has focus.
Keys
Set the keys in Settings, General, Hotkeys. Click a field and press the key or combination you want. Esc leaves the field as it was. Backspace or Delete empties it.
| Field | Does | Default |
|---|---|---|
| Dictate | Types what you say. | F1 |
| Dictate, then press Enter | Types, then presses Enter. For chat boxes and prompts. | F2 |
| Dictate, then search the web | Opens what you say as a web search. | Not set |
| Record a voice memo | Records a voice memo. | Not set |
- The dictate key cannot be empty. Empty the others to switch them off.
- A key that types text (a letter, digit, Space, Enter) needs Ctrl, Alt or Win with it, or you could no longer type it. Function keys and the like may stand alone.
- A key that another VinPUT action already uses is refused. Pick another.
- Combinations Windows keeps for itself, such as Alt+Tab, Alt+F4 and Win+L, are not accepted.
- F3 and F4 are not VinPUT keys. They belong to the bridges, see Connecting other apps.
Tap or hold
- Tap your dictate key to start. Tap it again to stop.
- Hold it while you talk. Release it to stop. A press shorter than 0.35 seconds is a tap.
- Enter ends a dictation that types where the caret is, started with the dictate key or the key that dictates and then presses Enter. It stops the recording, as the dictate key does. VinPUT keeps the key from the program until the last words are typed, then presses Enter once after them. Enter does nothing special in a web search or a voice memo. While no dictation listens, Enter is yours as always.
- Escape cancels. A dictation, search or memo that is running, or that has stopped and is still being recognized, is dropped: nothing more is typed, opened or saved. Words VinPUT Pro already typed as you spoke stay on the screen. Escape is VinPUT's only for that long; otherwise it works as in any program.
While VinPUT listens:
- a short click plays when it starts listening and a lower one when it stops (Play a sound when listening starts and Play a sound when listening stops, under General, both on by default);
- a small capsule of sound bars shows under the text cursor, or at the bottom of the window for apps that do not show where their cursor is;
- the tray icon gets a red dot.
The search key and the memo key show a larger capsule at the bottom of the screen, since nothing is typed.
VinPUT Pro can type word by word, about half a second behind you, see Words as you say them. The two Google models and the Whisper models type at each pause. Parakeet and Qwen3-ASR type when you stop. See Speech providers.
Audio input
VinPUT listens with the microphone Windows uses by default. To use another, pick it in Settings, General, Input, Audio input, or under Microphone in the tray menu. The list shows the microphones connected when it opens. The choice applies to the next dictation, with no restart. If the chosen microphone is unplugged, Settings says so and VinPUT uses the Windows default until it is back.
Languages
Under General, Languages takes language codes separated by commas, for example en-US, sl-SI. Default: en-US. Whisper and Qwen3-ASR use the language when exactly one is set. With several, Whisper detects it and keeps to the ones you set. Parakeet always detects the language itself. VinPUT Pro follows every language you list, also within one sentence, see Languages under VinPUT Pro.
Stop after silence
A dictation left running stops by itself when nothing has been said for 30 minutes, so a forgotten one does not go on listening. What was said before is typed, and the key starts the next one. To change the time, pick 1, 5, 15 or 30 minutes or 1 hour in Settings, General, Behavior, Stop after silence. A key that is held down is never cut off. A dictation that ends this way only types its text: the key that presses Enter does not press it, and the search key types what was said instead of opening a search.
Limits
- VinPUT takes its keys exclusively while it runs. The focused app no longer sees them. If another program already holds a key, a Hotkey unavailable notification says so; pick another key.
- Dictation works while Settings is open. Only while a hotkey field is waiting for a key do the keys do nothing.
- Windows blocks typing into elevated (administrator) windows.
- A session that fails says why in a tray notification and in the log.
Tray menu
Click the tray icon to open Settings. Right-click it for the menu:
| Item | Does |
|---|---|
| Status | The top line: Ready with the dictate key, Listening…, or a reminder to choose a model. |
| Settings… | Opens Settings. Same as a click on the icon. |
| Model | Switches between the models downloaded to this PC, including ones you added, at once. Use graphics card appears when the PC has one. Download models… opens the Models page. |
| Microphone | Picks the audio input. |
| Voice memos | Opens the memo folder. |
| Start with Windows | Starts VinPUT at sign-in. On by default. |
| Check for updates… | Looks for a newer version now. Reads Update to version … when one is known. |
| Quit | Closes VinPUT until you start it again. |
Hover the icon to see the keys and the model in use. Clicking a notification opens the Settings page it is about.
Settings
Open it with a click on the tray icon, or by starting VinPUT from the Start menu while it runs. It follows the Windows light or dark theme. Changes apply as you make them; there is no Save button. Closing the window leaves VinPUT running in the tray.
The list on the left switches pages. At its foot, VinPUT says whether it is Ready, Listening or has No speech model yet, names the model in use and where it runs: online, on the processor or on a graphics card. When a model on this PC is carrying on for VinPUT Pro, it says Hours used up, using or Out of reach, using and the model's name.
| Page | Holds |
|---|---|
| General | Hotkeys; Input: audio input and languages; Behavior: start with Windows, the sounds when listening starts and stops, stop after silence, type words as you say them. |
| Models | The Online models, with the setup of your own Google service, and the ones On this PC, with download, use and remove; Add a model; the graphics card switch; disk space. |
| Cleanup | After dictation: the cleanup for each key that types; Edit by voice: the edit key; the text model. |
| VinPUT Pro | Sign-in, the plans, your subscription, what you used this month, sign-out. |
| Words | The dictionary, the snippets and the switch for format by voice. |
| Advanced | Local API; Voice memos; Web search. |
| About | The version, updates, and links to the website, this documentation and the release notes. |
Settings are kept in %APPDATA%\Vinput\settings.ini, see Files.
Words
Settings, Words holds what you tell VinPUT about the way you write. It applies to the text of every dictation, whichever model recognized it.
Dictionary
Names and terms you use. VinPUT writes each one the way you entered it, whatever capitals the model chose, and passes the list to models that accept one, so that they hear the words more readily.
- Type the word or name under Add a word.
- If it still comes out wrong, fill in Sounds like with what VinPUT types instead, for example
vin putforVinPUT. Give several ways apart with commas. - Click Add, or press Enter in either field.
To change a word, add it again. The bin icon removes it. The dictionary holds up to 200 words, each up to 60 characters.
Snippets
A snippet is a short phrase that stands for a longer text. Under Add a snippet, fill in What you say, for example my email, and What VinPUT types, then click Add. Wherever you say the phrase in a dictation, VinPUT types the saved text instead. A dictation that is only a snippet is typed without the full stop that models put at the end of a sentence.
To change a snippet, add it again with the same phrase. The bin icon removes it. There can be 100 snippets, each up to 1000 characters; the phrase needs a letter or a digit in it.
Format by voice
On by default; Format by voice switches it off. A command counts only at the start of a dictation or after a pause, the way you would start a sentence, so I like snake case names is typed as said.
| Say | Types |
|---|---|
| new line | A line break. Say it on its own, then pause. |
| new paragraph | A blank line between two paragraphs. Say it on its own, then pause. |
| snake case and then words | The words joined by underscores: user_id. |
| camel case and then words | userId |
| kebab case and then words | user-id |
| all caps and then words | USER ID |
A casing command writes the words that follow it, up to your next pause. A dictation that is only a name in snake, camel or kebab case is typed without the final full stop.
Cleanup and editing by voice
Settings, Cleanup. Under After dictation, choose for each key that types what happens to a dictation before it is typed: As said, Clean (filler words, false starts and repeats out, punctuation fixed), Coding prompt or Email. Under Edit by voice, set a key; then select text, hold the key and say what to change, and the result takes the place of the selection. If a dictation cannot be tidied it is typed as said, and a selection that cannot be edited is left as it was.
The rewriting is done by the text model chosen under Model:
- VinPUT Plus and Pro: online, answers in under a second on any PC. Needs a subscription and does not count against your monthly hours. The text is sent to VinPUT's service in the EU and rewritten there by its cloud provider's language model in the EU. Nothing of it is stored or logged.
- On this PC (Gemma 4, Qwen3.5): download one on the same page. The text never leaves your PC; a graphics card makes it quicker.
With As said on every key and no edit key set, which is how VinPUT starts, no text is rewritten or sent anywhere. See the privacy policy.
Speech providers
Pick the model in Settings, Models: click Use beside it. The model in use carries an In use badge and is named at the bottom left of Settings and in the tray tooltip. Until a model is chosen, a hotkey opens Settings, or the welcome on a new install. A voice memo needs no model.
| Model | Runs | Text arrives | Needs |
|---|---|---|---|
| VinPUT Pro | Online | As you speak | A subscription. More than 60 languages. |
| Google Cloud Speech (Chirp 3) | Online | As you speak | A Google Cloud project of your own |
| Google Gemini 3.5 Transcribe | Online | As you speak | A Gemini API key of your own |
| Qwen3-ASR 1.7B | On this PC | When you stop | 2.5 GB download. 30 languages, not Slovenian. Accurate, and quick without a graphics card. |
| Qwen3-ASR 0.6B | On this PC | When you stop | 1.0 GB download. 30 languages, not Slovenian. Fast on any processor. |
| NVIDIA Parakeet TDT v3 | On this PC | When you stop | 669 MB download. 25 European languages. |
| Whisper large-v3 turbo | On this PC | At each pause | 1.6 GB download. 99 languages, best accuracy. |
| Whisper large-v3 turbo (compact) | On this PC | At each pause | 574 MB download. Close to full accuracy. |
| Whisper base | On this PC | At each pause | 148 MB download. Fast on any processor, lower accuracy. |
Sizes are the model files, counted in millions of bytes; Settings shows them the way Windows does, a few percent lower. A model that is not downloaded yet shows its size plus the engine, if the engine is missing. See Local models.
There are three ways to dictate:
- VinPUT Pro runs at VinPUT's own service. You sign in and subscribe; there is nothing to download and no key to get. See VinPUT Pro.
- A local model runs on this PC, with no account and no connection.
- The two Google models run at Google with a key or a project of your own, and you pay Google for what you use under its terms. See Your own Google service.
Local model, no account
- Open Settings, Models.
- Under On this PC click Download beside a model and wait until its row says Downloaded.
- Click Use.
Nothing you say leaves the PC. See Local models.
Your own Google service
The two Google models run with a key or a project of your own; VinPUT comes with neither. A guided setup of four steps takes what Google needs and checks it with Google before anything is kept.
- Open Settings, Models.
- Under Online click Set up beside Google Gemini 3.5 Transcribe or Google Cloud Speech (Chirp 3). The setup opens at step 2 for that service.
Each page says Step … of 4. The arrow beside the title goes one step back, and from the first and the last step back to Models. The button at the bottom goes on: Next, Finish, Done.
Step 1, Use your own Google service, is the choice between the two. Go back to it to take the other one:
| Choice | Is |
|---|---|
| Gemini API key, marked Recommended | A key from Google AI Studio, made in a minute with any Google account. Free to try within Google's limits. |
| Google Cloud Speech-to-Text | For people who already use Google Cloud. Needs a project with billing. Text arrives a sentence at a time. |
Either way your speech goes to Google under your own key, and the cost is on your Google bill.
The steps for a Gemini API key:
| Step | Do |
|---|---|
| 2, Get a Gemini API key | Open Google AI Studio opens its page in your browser. Sign in, choose Create API key (if it asks for a project, let it make one) and copy the key. |
| 3, Paste your key | Paste the key into the field, or click Paste. The field never shows it. |
| 4, Ready to dictate | The model is your speech model from now on. Hold your dictate key and speak to try it. |
The steps for Google Cloud Speech-to-Text:
| Step | Do |
|---|---|
| 2, Prepare your Google Cloud project | Open the Cloud console opens the Speech-to-Text API page: switch the API on for your project. See that the project has billing. Have a way to sign in: run gcloud auth application-default login on this PC, which needs the Google Cloud CLI, or download a service account key with the role Cloud Speech Client as JSON. |
| 3, Connect your project | Project ID: the ID of the project Google bills, not its name or number. Region: where Google handles your speech, European Union (eu) unless you pick another. Credentials: the Google sign-in on this PC made with gcloud, or Choose a key file for a service account key. |
| 4, Ready to dictate | The model is your speech model from now on. Hold your dictate key and speak to try it. |
In step 3 VinPUT asks Google about what you entered as you enter it, and says the answer under the fields. Finish can be clicked once Google accepts it; only then is anything kept and the model put in use.
| Check result | Means, and what to do |
|---|---|
| Checking with Google | The answer is on its way. |
| Google accepts this key, or Google accepts the project and its credentials | It works. Click Finish. |
| Google does not know this key | The key is mistyped or cut short. Copy all of it again in Google AI Studio and paste it. |
| Google refused the credentials | Google Cloud: sign in again with gcloud, or choose a new key file. |
| The key is real, but it may not use the Gemini API | Make a new key in Google AI Studio, or lift the restriction on this one. |
| The account may not use Speech-to-Text in this project | Switch the Speech-to-Text API on for the project, and give the account the role Cloud Speech Client. |
| Google wants billing set up for this key, or This project has no billing | Set billing up in Google AI Studio, or link a billing account to the project in the Google Cloud console. Then Check again. |
| Google accepts this, but the allowance is used up for now | Google's own limit for your key or project. Try again in a while, or raise the limit at Google. |
| Google does not know this project in this region | Check the project ID and the region. |
| There is no Google sign-in on this PC | Run gcloud auth application-default login, or choose a key file. |
| That file is not a service account key | In the Google Cloud console, open the service account, add a key and download it as JSON. |
| Google could not be reached | Check your internet connection; for Google Cloud, also try another region. Then Check again. |
| Google did not give a clear answer | What Google said follows the message. Check again. |
Where it is kept:
- The Gemini API key is kept in Windows Credential Manager, encrypted for your Windows account, as
Vinput/gemini-api-key. It never goes into the settings file or the log, and is only sent to Google. - Of a service account key file VinPUT keeps what it needs to sign in, also in Credential Manager, as
Vinput/google-cloud-key. The file itself can be moved or deleted afterwards. A sign-in made with gcloud stays where gcloud keeps it. - The project ID and the region are in the settings file.
To change or remove it later, click Change beside the model on the Models page. The setup opens at step 3 with what is set, and checks it again.
- Gemini: the row reads Stored in Windows Credential Manager. Replace takes a new key; the stored one stays until you finish with a new one that works. Remove deletes the key at once.
- Google Cloud: change the project ID or the region, choose another key file, or click Use the Google sign-in on this PC instead to drop the key file. Click Finish to keep the change.
- Without VinPUT: delete the entries under Windows Credentials in Credential Manager.
VinPUT Pro and Plus
VinPUT Pro and VinPUT Plus are subscriptions. They recognize your speech at VinPUT's own service, so there is no model to download and no key or project to get.
- Text appears while you speak.
- More than 60 languages, also mixed in one sentence.
- Nothing to download, no graphics card needed.
A subscription needs an internet connection while you dictate.
Pro and Plus
The two use the same recognition, at the same speed and in the same languages. They differ in the hours of dictation a month and in the price.
| Subscription | Hours a month | Monthly | Yearly |
|---|---|---|---|
| VinPUT Plus | 8 hours | €2.50 a month | €24 a year |
| VinPUT Pro | 25 hours | €5 a month | €49 a year |
A new subscriber's first month on a monthly plan costs €1.49 for Plus or €3.49 for Pro. This introductory price applies once. From the second month the regular price in the table applies. Yearly plans have no introductory price.
- When the month's hours are used up, VinPUT carries on with a model on the PC if one is installed, so typing does not stop. See Monthly allowance.
- You can switch between Plus and Pro at any time, see Manage.
- The rest of this section applies to both. Where it says VinPUT Pro, it means the subscription you have.
Start
- Open Settings, VinPUT Pro, and click Sign in with Google. Your browser opens.
- Sign in with your Google account in the browser. There is no code to type: the browser hands the sign-in back to VinPUT on this PC, the page says You are signed in, and Settings comes to the front. While you are in the browser, VinPUT reads Finish in your browser; Cancel calls the sign-in off.
- If VinPUT cannot listen for the browser on this PC, the page asks for a code instead. VinPUT shows it under Finish in your browser: type it on the page, or copy it with the button beside it.
- Back in VinPUT, pick Plus or Pro under Subscribe, monthly or yearly.
- The payment provider's page opens in your browser. Pay by card there. VinPUT reads Finish paying in your browser meanwhile and updates by itself when the payment arrives. Nothing is charged if you close the payment page.
- VinPUT says Thank you. VinPUT Pro is active, and dictation uses it from now on. Pro is now your speech model; you do not have to choose it on the Models page.
You can also sign in, subscribe and pay on the account page of this website. Then sign in under Settings, VinPUT Pro on each PC you dictate on, and click Use VinPUT Pro there or Use beside VinPUT Pro on the Models page.
Manage
Once you subscribe, the VinPUT Pro page shows:
| Row | Shows |
|---|---|
| The plan, for example VinPUT Pro · Monthly or VinPUT Plus · Yearly | The day it renews, or the day it ends if you cancelled. Manage subscription beside it. An account with a complimentary subscription has no such button. |
| This month | How much of the month's allowance you used, for example 12 h 30 min of 25 hours. |
| Speech model | Whether dictation uses VinPUT Pro. Use VinPUT Pro selects it when another model is in use. |
| Account | The e-mail address you signed in with, and Sign out. |
- Manage subscription opens the payment provider's page in your browser. There you change the card, get invoices, switch between monthly and yearly, and cancel.
- To switch between Plus and Pro, open Manage subscription and change the plan on the payment provider's page. A change from Plus to Pro, or from monthly to yearly, starts at once, and the price is adjusted for the time already paid. A change from Pro to Plus, or from yearly to monthly, takes effect at the end of the period you paid for. The hours a month follow the subscription you are on.
- Cancelling keeps VinPUT Pro until the end of the time you paid for. The row then reads Ends on … and is not renewed, and the button reads Keep subscription, which opens the same page to take the cancellation back.
- After it has ended, the page says when and offers the plans again.
- Sign out signs this PC out. The subscription goes on; sign in again to use it.
The account page of this website does the same without the app: subscribe, open the payment provider's page, and see what you used. It also lists the devices the account is signed in on and signs any of them out, and it deletes the account. A subscription that would renew has to be cancelled before the account can be deleted. Deleting needs a sign-in from the last 10 minutes and the e-mail address of the account typed out, and it ends a cancelled subscription that was still running, so the time left on it is lost. Deleting removes the account, its sign-ins and its usage figures; invoices for payments you made stay with the payment provider.
Monthly allowance
- VinPUT Pro covers 25 hours of dictation a calendar month and VinPUT Plus covers 8 hours, counted in seconds of audio. This month on the VinPUT Pro page shows where you stand.
- The count starts from zero on the first of each month (at midnight UTC), whatever day you subscribed on. Hours you did not use are not carried over.
- When the hours are used up, VinPUT carries on with a local model on the PC if one is installed, so typing does not stop. It never picks a model that knows none of the languages you set under General, and takes one that knows all of them before one that knows some. The VinPUT Pro page and the account page say that the month's hours are used up.
- VinPUT Pro also carries on with a model on the PC when it cannot be reached: the connection is bad or gone, or the service is failing. A dictation that Pro cannot start, or that breaks off, is finished by the model on the PC, and the next key presses use that model for a short rest, 15 seconds after the first failure and longer after each one in a row, up to 2 minutes. The first press after the rest tries Pro again, and the first dictation Pro serves to its end ends the rest. The model is the one you used last on this PC, if it is still there. Nothing is downloaded for this.
- If no model is installed on the PC, VinPUT says so and you choose a model: Choose a model opens the Models page. A local model needs no account.
- On the first of the next month the hours start again and the subscription works again by itself. If you chose another model yourself in the meantime, select Pro again with Use VinPUT Pro.
- On Plus, more hours are available by switching to Pro, see Manage.
Languages
List every language you speak under Settings, General, Languages, as codes separated by commas, for example en-US, sl-SI. VinPUT Pro then follows you when you switch, also in the middle of a sentence. A language you did not list may be recognized less well.
Words as you say them
With VinPUT Pro, a word is typed about half a second after you say it, while you are still speaking. The recognizer hears a sentence better as it goes on, so now and then it changes its mind about the last words: VinPUT then corrects them in place, by pressing Backspace over the end that changed and typing it again. It only ever takes back what it typed in this dictation as a word that was not settled yet.
- If you click somewhere else or move the caret while you speak, what is on the screen is left as it is, and the text goes on from there.
- Emoji, and scripts in which Backspace may delete more or less than one character, are typed once they are settled. So is everything in a cell of Excel.
- A dictated search, and text another program asked for through the local API, are made of settled text alone.
- A field that completes what you type by itself, such as the address bar of a browser, can be left with a stray character after a correction.
To have text typed only once it is settled, a second or two after it is said, switch off Settings, General, Behavior, Type words as you say them. Models on this PC and your own Google service type settled text.
Privacy
While you dictate with VinPUT Pro, your audio is sent over an encrypted connection to VinPUT's service, and from there to its speech provider, which recognizes it. Cloud speech is processed on servers in the EU. VinPUT's service stores the e-mail address of your account, the state of your subscription, the devices signed in and the number of seconds you used. It does not store audio or text. With Cleanup or editing by voice on, the text to rewrite is also sent to VinPUT's service and its cloud provider in the EU, and is not stored or logged either. You pay on the payment provider's page, which keeps the card details and the invoices. With a local model nothing you say leaves the PC. See the privacy policy.
The sign-in of this PC is kept in Windows Credential Manager as Vinput/vinput-pro-session, never in the settings file or the log.
When Pro cannot be used
When VinPUT Pro is your speech model and cannot be used, the General page says Dictation with VinPUT Pro does not work right now with the reason, and the VinPUT Pro row on the Models page gives a short state such as Needs attention or Subscription ended. A dictation key pressed meanwhile opens the VinPUT Pro page or says VinPUT cannot dictate yet with what to do. Open VinPUT Pro leads to the page where it is put right. When the month's hours are used up and a model on this PC carries on, the General page shows the same message about the hours.
| VinPUT says | Do |
|---|---|
| You are signed out, or This PC was signed out of VinPUT Pro | Sign in again under Settings, VinPUT Pro. A PC is signed out when you sign it out on the account page, or when the account is deleted. |
| You have no subscription yet | Pick a plan on the VinPUT Pro page, or choose another model. |
| Your subscription has ended | Subscribe again on the VinPUT Pro page, or choose another model. |
| The last payment did not go through. VinPUT Pro keeps working until … | Pro still works until the day named, while the payment is tried again. Click Update payment method and change the card, or try the same one again. |
| The payment did not go through, so VinPUT Pro is not active | Click Update payment method. Pro works again once the payment is settled. |
| This month's allowance is used up | VinPUT carries on with a model on the PC if one is installed. If none is, choose a model. The hours start again on the first of the next month, see Monthly allowance. |
| VinPUT Pro could not be reached, or Your subscription could not be checked | You are offline, or the service cannot be reached. Check your internet connection and click Try again. If a model on the PC is installed, it carries on meanwhile, see Monthly allowance. Without one, dictate with a local model. |
| VinPUT Pro is busy with other dictations of this account | The account is dictating in several places at the same moment. Try again in a moment. |
Local models
A local model is two downloads: the model file, and the engine that runs it (whisper.cpp), which the Whisper and Parakeet models share and which is fetched once. The two Qwen3-ASR models run in an engine of their own (llama.cpp), a 33 MB download that comes with the first Qwen3-ASR model you download.
Qwen3-ASR 1.7B and 0.6B know 30 languages, among them English, German, Spanish, Chinese, Japanese and Arabic. Slovenian is not one of them: they write it down as the nearest language they know. Each model is two files, counted together in the size above, and one build of their engine serves the processor and graphics cards of any make. They recognize the whole dictation when you stop.
- Download from Settings, Models, On this PC. A row shows the size, the languages and where it stands: Downloading with progress, Downloaded, the In use badge, or the reason a download failed. Download starts it, Cancel stops it, Retry starts a failed one again, Use selects a downloaded model.
- The engine is 8 MB, or 18 MB for the graphics card build.
- Every file comes from a pinned address and is checked against a pinned SHA-256. A file only gets its final name after the check passed.
- An interrupted download continues where it stopped.
- Files are stored under
%LOCALAPPDATA%\Vinput: models inmodels, the engine inengines. - A row says Does not know with the language when the model lacks one of the languages you set under General, for example Does not know Slovenian. If the model in use knows none of them, the top of the page says so: choose another model, or change the languages.
- A row also says how the model would run on this PC: Runs well on this PC, May be slow on this PC or Too heavy for this PC. VinPUT goes by the graphics card, the memory and the processor, and by whether Run on the graphics card is ticked. Where none of the models runs well, the page says that VinPUT Pro runs online and is quick on any PC.
- The trash icon on a row deletes a downloaded model that is not in use. Disk space shows what the downloads take; Open folder opens the folder.
Your own model
Add a model at the end of the list takes a Whisper model of your own, in ggml format (.bin), public on Hugging Face or saved on this PC. Models in GGUF, PyTorch or safetensors format need converting first.
- Paste a Hugging Face link into the field and click Find. The link may be a model page, a file in it, a download address, or just
organization/name. Or click Browse for a file to pick a file on this PC; VinPUT keeps a copy, so the file can be moved afterwards. - Click Add beside the file you want. VinPUT checks that it is a Whisper model.
- Back on the Models page it is listed like the others. Download it if it is not on this PC yet, then click Use. A model you added has a remove icon in any state, except while it is in use.
Added models are kept in models\custom and listed in %APPDATA%\Vinput\models.ini. They appear in the tray menu once downloaded.
The engine process
The engine is a separate program. VinPUT starts it only while a local model is selected. Whisper and Qwen3-ASR keep it loaded between dictations: it sleeps half a minute after the last one and ends after 10 minutes without a dictation, and loads again the next time you speak. Whisper types at each pause of 0.6 seconds or more while you speak; on a processor too slow to keep up, the whole dictation is recognized when you stop. Qwen3-ASR recognizes the whole dictation when you stop. Parakeet starts its program for each dictation and recognizes the whole dictation when you stop.
Graphics card
When the PC has a graphics card, Settings, Models shows Run on the graphics card with its name, ticked by default, and the tray menu offers Use graphics card. VinPUT then downloads the Vulkan build of the engine, 18 MB, which runs on NVIDIA, AMD and Intel cards. Changing the switch keeps your downloaded models: the engine for the other way arrives in the background, and the model runs on the engine that is already there until then. The bottom left of Settings shows whether the model runs on the graphics card or the processor. With several cards VinPUT uses the one with the most memory. A PC that already has the NVIDIA (CUDA) engine of an earlier version keeps using it.
Dictate and search
- Set a key in Settings, General, Dictate, then search the web. It is not set by default.
- Tap your search key to start and again to stop, or hold it while you talk. Say what you are looking for.
- When you stop, the search opens in your default browser. Nothing is typed, so it works from any window.
- VinPUT searches with Google. To use another search, put its address under Advanced, Web search, Search address, with
%swhere the words go. Empty the field to go back to Google. - If nothing was recognized, nothing opens.
- The address must start with
https://orhttp://. Anything else is refused with a message.
| Search | Address |
|---|---|
| Google (default) | https://www.google.com/search?q=%s |
| Bing | https://www.bing.com/search?q=%s |
| DuckDuckGo | https://duckduckgo.com/?q=%s |
| YouTube | https://www.youtube.com/results?search_query=%s |
| Wikipedia | https://en.wikipedia.org/w/index.php?search=%s |
Voice memo
- Set a key in Settings, General, Record a voice memo. It is not set by default.
- Tap your memo key to start and again to stop, or hold it while you talk.
- The memo is saved as an MP3 to
Documents\Vinput memos, named likeVoice memo 2026-10-05 18.42.07.mp3. Change the folder under Advanced, Voice memos, Folder: Browse picks one, Open folder shows it, Use the default folder goes back. - The file is put on the clipboard, so Ctrl+V pastes it into a messenger, a mail or a folder. Switch this off with Copy each memo to the clipboard.
- A Voice memo saved notification shows the name and length. Open the folder with Voice memos in the tray menu.
- Memos are not recognized, so they need no speech model. Recordings shorter than 0.3 seconds are dropped; a memo ends after one hour.
Updates
- VinPUT checks for a newer version at start and every 6 hours. Switch this off with Check for updates automatically under Settings, About.
- Check now with Check for updates on the About page, which answers in place, or with Check for updates… in the tray menu. With Settings closed, the tray item opens the update window when there is a newer version and otherwise says in a notification that you are up to date; with Settings open, the answer shows on the About page.
- When a check by itself finds a version, a notification and the tray item Update to version … lead to the update window. It shows what is new and the download size.
- Every release is signed by its makers. VinPUT offers and installs only an update whose signature checks out against the key built into the program; an update without a valid signature is not offered and not downloaded.
- Install update downloads the new setup program, checks its size and SHA-256 against the signed release manifest, and lets it replace the running program. Later closes the window.
- If the new program cannot be put in place, the old one stays installed and, if it was running, is started again. A program is replaced in one step, so there is never half of one under the name.
- VinPUT closes and starts again by itself. It then opens Settings on About, which names the new version, with a notification that the update is in.
- Kept: settings, stored keys, the VinPUT Pro sign-in, downloaded models and engines. They live outside the program folder.
The setup program is saved in %LOCALAPPDATA%\Vinput\updates and deleted at the next start. What changed in each version: release notes.
Uninstall
- Open Windows Settings, Apps, Installed apps.
- Find VinPUT, open its menu, click Uninstall.
- VinPUT asks what happens to the rest:
- Keep settings and models: removes only the program.
- Remove everything: also deletes settings, stored keys and downloaded models, and signs this PC out of VinPUT Pro.
- Closing the window removes nothing.
From a command prompt:
| Command | Does |
|---|---|
vinput.exe --uninstall | Same as above, with the question. |
vinput.exe --uninstall --quiet | Removes the program without asking or showing anything. Keeps settings, keys, the VinPUT Pro sign-in and models. |
vinput.exe is in %LOCALAPPDATA%\Programs\Vinput. Uninstalling also stops and removes the bridges and their startup entry, if they are installed beside VinPUT. Voice memos are saved under Documents by default and are not touched. Uninstalling does not cancel a VinPUT Pro subscription: cancel it with Manage subscription first, or afterwards on the account page.
Files
| What | Where |
|---|---|
| Program | %LOCALAPPDATA%\Programs\Vinput\vinput.exe |
| Settings | %APPDATA%\Vinput\settings.ini |
| Models you added | %APPDATA%\Vinput\models.ini, files in %LOCALAPPDATA%\Vinput\models\custom |
| Log | %APPDATA%\Vinput\vinput.log |
| State file | %APPDATA%\Vinput\state, the word listening or idle |
| Models | %LOCALAPPDATA%\Vinput\models |
| Engines | %LOCALAPPDATA%\Vinput\engines |
| Downloaded updates | %LOCALAPPDATA%\Vinput\updates |
| Gemini API key | Credential Manager, Vinput/gemini-api-key |
| Google Cloud service account key | Credential Manager, Vinput/google-cloud-key |
| VinPUT Pro sign-in | Credential Manager, Vinput/vinput-pro-session |
| Voice memos | Documents\Vinput memos, or the folder set under Advanced |
settings.ini is plain text, one key = value line per setting. VinPUT writes it when you change a setting; to edit it by hand, quit VinPUT first and start it again afterwards. The file keeps values and keys it does not know across versions, in both directions.
Troubleshooting
| You see | Do |
|---|---|
| A key does nothing in one app, and works in others | Windows blocks typing into elevated (administrator) windows. Use the app without administrator rights. |
| VinPUT cannot dictate yet, or a hotkey that opens Settings | No model is chosen, or the chosen one is not ready. Open Settings, Models, and click Use on one. The message says what is missing. |
| Hotkey unavailable | Another program holds that key. Click the notification and pick another in Hotkeys. |
| Nothing starts while Settings is open | A hotkey field is waiting for a key. Press the key you want, or Esc. |
| It listens, but nothing is typed | Check Audio input: the microphone you chose may be unplugged. The log says why a session failed. |
| Gemini refused the connection | The key is wrong or expired. On Models, click Change beside the Gemini model, then Replace. See Your own Google service. |
| Google Cloud sign-in or permission errors | On Models, click Change beside the Google Cloud model: the setup checks the project with Google and says what is wrong. See Your own Google service. |
| Dictation with VinPUT Pro does not work right now | The message gives the reason. See When Pro cannot be used. |
| A download failed, or the engine could not be downloaded | Check the connection and click Retry on the Models page. The row gives the reason. |
| A local model is slow | Choose a smaller model such as Whisper base, or switch on Run on the graphics card. The first dictation after a pause also loads the model. |
| Wrong language recognized | Set Languages to the ones you speak. With one language set, Whisper and Qwen3-ASR use only that. Parakeet always detects the language itself. If the Models page says the model does not know the language, choose one that does. |
| Windows protected your PC on setup | The setup program is not code-signed yet. More info, then Run anyway. |
| Setup or uninstall says VinPUT is still running | Choose Quit in the tray menu and run it again. |
The log is %APPDATA%\Vinput\vinput.log.
Developers: local API
VinPUT only types, searches and records. Other programs build on it through a local API: they see when VinPUT listens, start and stop a session of any kind, get a dictation's text instead of having it typed, and learn where each voice memo was saved. If you switch it on, they are also sent what a dictation types into a window, as it is typed.
Connecting
- Windows named pipe
\\.\pipe\vinput. Open it for reading and writing. Up to 16 programs can connect at once. - One JSON object per line, UTF-8, ended by
\n, both ways. A line may be at most 65,536 bytes. - Only programs of the same Windows user can connect. Remote connections are refused.
- The pipe exists while VinPUT runs and Let other programs connect is ticked under Settings, Advanced, Local API. On by default. The page shows the Pipe name, with a button to copy it, and lists the Connected programs by the names they gave. If opening fails, try again later.
- Send typed text to connected programs, on the same page, decides whether connected programs are sent what a dictation types into a window. Off by default. In the settings file it is
api_transcript. - Ignore unknown fields, events and error codes. New things are added that way;
protocolstays 1. - A client that leaves lines unread for 5 seconds is disconnected.
A pipe opened as a plain blocking handle cannot be written while another of your threads is blocked reading it: the write waits for the read. Take turns (write a command, then read until its result), or open the pipe for overlapped I/O, as async runtimes do.
Events (VinPUT to client)
| Event | Sent when |
|---|---|
hello | First line after connecting. protocol changes only when an existing client would break; modes and commands list what this version understands; state is idle or listening, with mode while listening. |
state | Listening started or stopped, by key or API, for dictation or memo. On start, mode is the session's mode and id that of the command that started it. |
dictation | A capture session ended. text is what was said, or "" if nothing was or the dictation was cancelled with Escape. id if the start had one. |
transcript | Only while Send typed text to connected programs is on. What a dictation has typed so far; see Typed text. Since 0.5.1. |
memo | A voice memo was saved. path is the MP3, seconds its length, id if the start had one. |
error | A command could not be carried out, or a session failed. code for programs, message for people, id of the command or session. See Errors. |
{"event":"hello","app":"vinput","version":"0.6.0","protocol":1,"modes":["type","type-enter","capture","search","memo"],"commands":["hello","start","stop","toggle"],"max_line":65536,"state":"idle"}
{"event":"state","state":"listening","mode":"capture","id":"my-42"}
{"event":"dictation","text":"What is the capital of Slovenia?","id":"my-42"}
{"event":"transcript","text":"What is the capital","mode":"type","session":7,"final":false}
{"event":"transcript","text":"What is the capital of Slovenia?","mode":"type","session":7,"final":true}
{"event":"memo","path":"C:\\Users\\you\\Documents\\Vinput memos\\Voice memo 2026-10-05 18.42.07.mp3","seconds":12.4}
{"event":"error","code":"busy","message":"Vinput is listening already","id":"my-42"}
Events go to every client, except errors about a command, which go only to the client that sent it. Use an id to find your results. A client that falls more than 64 events behind misses the oldest ones but stays connected.
Typed text
The text of dictations typed into a window is sent only while Send typed text to connected programs is on under Settings, Advanced, Local API. It is off until you switch it on. While it is off, no transcript event is sent and VinPUT keeps no copy of what it types. Switching it off takes effect at once, also for a dictation that is running.
While it is on, every connected program is sent what a dictation has typed so far.
| Field | Meaning |
|---|---|
text | Everything the dictation has typed since it started, so each event replaces the one before. It is the text as typed, after the dictionary, the snippets and spoken formatting, with a line break where Enter was pressed. |
mode | The mode of the dictation: type or type-enter, or search for a search whose text was typed because nobody was at the PC. |
session | A whole number, the same in every event of one dictation and different in the next. It starts again at 1 when VinPUT starts. |
final | false while the dictation goes on. true in its last event, sent once when the dictation has ended, however it ended: stopped, ended by silence, cancelled with Escape, or failed. A dictation that typed nothing ends with "text":"". |
id | Present if the start or toggle that began the dictation carried one. |
- An event is sent when the text has changed, at most about 10 times a second while the dictation goes on.
- With a model on this PC the text grows at every pause in speech. Where words are typed as you say them, the text follows them and may take some back, so a later
textcan be shorter than an earlier one. - The last words are typed after the
stateevent has saididle, so the event with"final":truecomes after it. - No
transcriptevent is sent forcaptureandmemosessions, or for asearchthat opened in the browser.
To follow along, connect and read. No command is needed.
import json
with open(r"\\.\pipe\vinput", "r+b", buffering=0) as pipe:
for line in iter(pipe.readline, b""):
event = json.loads(line)
if event["event"] == "transcript":
print("final:" if event["final"] else "so far:", event["text"])
Commands (client to VinPUT)
{"command":"hello","name":"My deck","protocol":1}
{"command":"start","mode":"capture","id":"my-42"}
{"command":"stop"}
{"command":"toggle","mode":"type"}
| Command | Effect |
|---|---|
hello | Names your program for the Connected programs list, up to 48 characters. protocol is the version you speak. Both optional. |
start | Starts a session. If one runs, nothing changes and you get a busy error. |
stop | Stops the session. Does nothing if none runs. |
toggle | Stops the running session, or starts one. |
| Mode | What happens to what you say |
|---|---|
type (default) | Typed into the focused window, like your dictate key. |
type-enter | Typed, then Enter is pressed. |
capture | Not typed. Sent to all clients as a dictation event when the session ends. |
search | Not typed. Opened as a web search in the default browser when the session ends. Clients get the state events only. Since 0.2.4; check modes. |
memo | Not recognized. Saved as an MP3 and announced with a memo event. |
- Every command but
hellotakes an optionalid, a string of up to 128 characters. It comes back in thestate,dictation,memoanderrorevents of that session, and in an error about the command. - A command that works has no reply of its own: the
stateevent with youridis the confirmation. One that cannot be carried out gets anerror, to you alone. - A session started over the API runs until
stop,toggleor a press of a VinPUT key. It also ends after the stop after silence time. - Push-to-talk: send
starton key down andstopon key up. - While a hotkey field in Settings is waiting for a key,
startandtoggleget asettings_openerror.stopalways works.
Errors
| Code | Meaning |
|---|---|
invalid_json | The line is not a JSON object, or not UTF-8. |
invalid_request | command is missing, or a field has the wrong type or size. |
unknown_command | command names nothing VinPUT knows. |
unknown_mode | mode names nothing VinPUT knows. |
line_too_long | The line was over 65,536 bytes and was skipped. |
unsupported_protocol | hello asked for a newer protocol than this VinPUT speaks. |
too_many_clients | 16 programs are connected already. The pipe closes after it. |
settings_open | A hotkey field in Settings is waiting for a key; sessions start once that is done. |
busy | start was sent while a session runs. |
no_model | No model is chosen, or the chosen one cannot be used; only memo can start. message says why. |
session_failed | A session started but failed. Sent to every client. |
Codes, the id on errors and the mode and id on state are new in 0.2.5. Earlier versions send errors with a message only, to every client.
Example
Python, no dependencies. Toggles a captured dictation and prints its text.
import json
with open(r"\\.\pipe\vinput", "r+b", buffering=0) as pipe:
pipe.write(b'{"command":"toggle","mode":"capture","id":"demo"}\n')
for line in iter(pipe.readline, b""):
event = json.loads(line)
if event.get("id") != "demo":
continue
if event["event"] == "dictation":
print(event["text"])
break
if event["event"] == "error":
print("VinPUT refused:", event["message"])
break
Run it, speak, press your dictate key to stop. Swap capture for memo and dictation for memo to record a memo and print event["path"] instead.
In Rust, vinput_core::api::Client in the source tree connects, reconnects and parses for you; it is not published as a crate. Tools that only poll can read the state file, %APPDATA%\Vinput\state.
Connecting other apps
To send dictation to another app (a chat, a mailer, a control deck), write a small companion program on this API. VinPUT itself stays the same.
- Register your own hotkey in the companion program.
- On key down send
{"command":"start","mode":"capture","id":"…"}; on key up, or the second tap, send{"command":"stop"}. - Wait for the
dictationevent with youridand deliver itstextto the app, on a thread of its own so the pipe keeps being read. - Reconnect when the pipe closes; VinPUT may have restarted. Start with Windows and wait for VinPUT if it is not running yet.
- If a delivery fails, say why and keep the text, so nothing said is lost.
The same pattern with "mode":"memo" hands your program the MP3 path, ready to attach or upload.
F3 and F4: the bridges
Earlier versions of VinPUT had two more keys built in, which sent a dictation to a chat app and to an assistant app. They are now the bridges: a small separate program on this same API, not part of VinPUT's setup program. VinPUT itself has no F3 or F4 key.
- F3 and F4 by default. Tap one to start and tap again to stop, or hold it and release, like the keys of VinPUT.
- The bridge collects the whole dictation, and delivers it when you stop: it brings the app to the front, types the text and presses Enter. If a delivery fails, a message says why and the text is kept in the VinPUT log.
- It runs in the background without a window, starts with Windows and waits for VinPUT if VinPUT is not running yet. Its settings, with the keys and where each goes, are in
%APPDATA%\Vinput\bridges.ini. Empty a key there to switch it off; restart the bridges after editing. - Uninstalling VinPUT stops the bridges and removes their startup entry.
