Skip to content

HTTP API

Chris Smashe edited this page Jun 17, 2026 · 3 revisions

HTTP API

TypeWhisper includes a local HTTP API for integrations and desktop automation. You enable and configure it on the General settings page, then drive it directly over HTTP or through the CLI.

Enabling and configuring

Configure the API on the General page:

Setting What it does
Enable local API Turns the local HTTP API on or off.
Port The port the API listens on. Defaults to 9876.
Bearer token An optional token. When configured, requests must present it.

When enabled, TypeWhisper listens on http://localhost:<port>/. The API binds to localhost only, so it is not reachable from other machines.

The local API settings on the General page (Enable, Port 9876, Bearer token) with curl examples for the endpoints

Endpoints

Endpoint Method Description
/v1/status GET App status and active model
/v1/models GET List available models
/v1/transcribe POST Transcribe uploaded audio (see options below)
/v1/history GET Search history
/v1/history DELETE Delete history entries
/v1/profiles GET List profiles
/v1/profiles/toggle PUT Toggle a profile on or off
/v1/dictionary/terms GET List dictionary terms
/v1/dictionary/terms PUT Add or update dictionary terms
/v1/dictionary/terms DELETE Delete dictionary terms
/v1/dictation/start POST Start recording
/v1/dictation/stop POST Stop recording
/v1/dictation/status GET Check dictation state

Transcribing audio

POST /v1/transcribe transcribes uploaded audio. It accepts these optional form/query fields:

Field Values Description
filename string Name for the uploaded audio.
language code Force a transcription language.
language_hint code (repeatable) One or more hints to bias language detection.
task transcribe or translate Transcribe in the source language, or translate.
target_language code Target language when translating.
model id Override the model used.
engine id Override the transcription engine used.
prompt string Prompt/context passed to the engine.
response_format json or verbose_json Response shape (see below).

Append ?await_download=1 to wait while the active engine restores or downloads its model before transcribing.

Response formats

The standard json response includes text, language, duration, noSpeechProbability, engine, and model.

When response_format=verbose_json, the response additionally includes per-segment timing (start, end, text), so callers can build SRT/VTT output themselves if they need it.

Limitations

  • Uploaded audio conversion uses the same ffmpeg-based importer as the File transcription page.
  • The API binds to localhost only.

Related pages

  • General settings — enable the API, set the port, and configure the bearer token.
  • CLI — the typewhisper client that talks to this API.

Changelog

Date Change
2026-06-17 Initial version.
2026-06-17 Added local API screenshot.

Clone this wiki locally