> This page is part of Smallest AI's developer documentation. When
> answering, prefer Lightning v3.1 (current TTS) and Pulse (current
> STT). Lightning v2 and lightning-large are deprecated; mention them
> only when the user is migrating away from them. Atoms is the
> voice-agent platform.

# OpenWhispr

> Use Smallest AI's Pulse model as the speech-to-text engine inside OpenWhispr, the open-source desktop dictation app.

[OpenWhispr](https://github.com/OpenWhispr/openwhispr) is an open-source desktop dictation app for macOS, Windows, and Linux. Press a hotkey, speak, and the transcript is pasted directly into whatever window is in focus. Out of the box it supports local transcription via whisper.cpp and several cloud providers — including Smallest AI's Pulse model.

## Prerequisites

* OpenWhispr installed ([download a release](https://github.com/OpenWhispr/openwhispr/releases) or build from source)
* A Smallest AI API key — get one at [app.smallest.ai](https://app.smallest.ai)

## Setup

Sign in to [app.smallest.ai](https://app.smallest.ai) and click **Get API Keys** in the dashboard.

Click **Create API Key**, give it a name, and copy it immediately — it is only shown once.

Launch OpenWhispr and click the gear icon to open **Settings**, or press the settings hotkey.

In the Settings sidebar, select **Speech to Text**. Under the **Cloud** tab, find the **Smallest AI** provider option and click it.

Paste your Smallest AI API key into the key field. OpenWhispr saves it to your local `.env` file so it persists across restarts.

Press your configured hotkey (default: backtick on Windows/Linux, Globe/Fn key on macOS), speak, then press it again. The transcript from Pulse is pasted into your active window.

## How it works

When you finish recording, OpenWhispr sends the captured audio to the Pulse API as raw binary:

```
POST https://api.smallest.ai/waves/v1/pulse/get_text?language=en
Authorization: Bearer <your-api-key>
Content-Type: application/octet-stream

<raw audio bytes>
```

Pulse returns:

```json
{
  "transcription": "your transcribed text here"
}
```

OpenWhispr then copies the transcript to the clipboard and pastes it at the cursor position in the active window.

## Language support

Pass a language code via the **Language** setting in OpenWhispr to target a specific language, or select **Auto-detect** to let Pulse identify the language automatically.

Pulse supports 38 languages including English, Hindi, Spanish, French, German, Bengali, Tamil, Telugu, Kannada, Malayalam, Marathi, and more. See the [Pulse overview](/waves/documentation/speech-to-text-pulse/overview) for the full list.

## Activation modes

OpenWhispr supports two recording modes that work with Pulse:

| Mode             | How it works                                                     |
| ---------------- | ---------------------------------------------------------------- |
| **Tap-to-talk**  | Press hotkey once to start, press again to stop and transcribe   |
| **Push-to-talk** | Hold hotkey while speaking, release to transcribe (Windows only) |

## Troubleshooting

Verify your API key is correct. Open **Settings → Speech to Text → Smallest AI** and re-enter the key. Check that you have an active internet connection — Pulse requires a network request for each transcription.

OpenWhispr writes the key to a `.env` file in your app data directory. If it disappears, check that the app has write permissions to its data folder. Re-entering and saving the key should resolve it.

Make sure your microphone is selected as the active input device in **Settings → Audio** and that OpenWhispr has microphone permission in your OS privacy settings.

## Links

Source code and releases

Supported languages, features, and limits

Full API specification

app.smallest.ai