Stable

Windows is a stable desktop release. The Windows API is available for local tooling and automation.

HTTP API

Control transcription, dictation, recorder, history, and dictionary through a local HTTP interface.

Local only: The server binds only to localhost and 127.0.0.1. It is disabled by default and uses port 8978.

Enable the server

  1. Open Settings > Advanced > API Server.
  2. Enable the API server and keep port 8978, or choose another available local port.
  3. Check the status from PowerShell:
curl.exe http://localhost:8978/v1/status
API server settings in the Advanced section

Discovery and token

When it starts, the server writes two discovery files to %LOCALAPPDATA%\TypeWhisper-UserData: api-discovery.json with version, port, and token, plus the legacy api-port.

{
  "version": 1,
  "port": 8978,
  "token": "..."
}

Token authentication is optional. When Require API Token is enabled, only /v1/status remains public. Send the token with every other request as a bearer token or the X-TypeWhisper-API-Token header.

$discovery = Get-Content "$env:LOCALAPPDATA\TypeWhisper-UserData\api-discovery.json" | ConvertFrom-Json

curl.exe -H "Authorization: Bearer $($discovery.token)" "http://localhost:$($discovery.port)/v1/models"

Transcribe audio

Send a file as multipart/form-data. language and language_hint are mutually exclusive; language_hint may be repeated in priority order.

curl.exe -X POST http://localhost:8978/v1/transcribe `
  -F "file=@recording.wav" `
  -F "language_hint=de" `
  -F "language_hint=en" `
  -F "response_format=verbose_json"

Additional fields: task (transcribe or translate), target_language, prompt, engine, and model. Add await_download=1 to wait for a supported local engine to download or restore the model.

For files already on this machine, /v1/transcribe/local-file accepts a Windows path as JSON. This avoids uploading a large local file through the API process.

Stable endpoints

MethodRoutePurpose
GET/v1/statusServer, engine, and model status
GET/v1/modelsAvailable local and cloud models
POST/v1/transcribeTranscribe multipart or raw audio
POST/v1/transcribe/local-fileTranscribe a local Windows file path
GET/v1/historySearch and paginate history
DELETE/v1/historyDelete a history entry by ID
POST/v1/dictation/startStart dictation recording
POST/v1/dictation/stopStop dictation recording
GET/v1/dictation/statusRead current dictation state
GET/v1/dictation/transcriptionPoll a dictation result by session ID
POST/v1/recorder/startStart a recorder session
POST/v1/recorder/stopStop a recorder session
GET/v1/recorder/statusRead recorder state
GET/v1/recorder/sessionRead a recorder session by ID
GET/v1/dictionary/termsList enabled dictionary terms
PUT/v1/dictionary/termsAppend or replace dictionary terms
DELETE/v1/dictionary/termsDelete one dictionary term
GET/v1/dictionary/correctionsList enabled dictionary corrections
PUT/v1/dictionary/correctionsCreate or update a correction
DELETE/v1/dictionary/correctionsDelete a correction

Workflow compatibility routes

/v1/rules and /v1/profiles and their PUT /toggle routes remain available for existing integrations. Both expose the current workflow configuration; new interfaces and documentation call the concept Workflows.