Audio transcription
With transcription on, every audio message that reaches your number comes with its text in audio.transcription, in the message.received webhook, in polling and in GET /v1/numbers/{ref}/messages/{id}. You use your own API key: usage and cost stay on your account with the provider.
Providers
| Provider | Model used if you do not choose one |
|---|---|
| Groq | whisper-large-v3-turbo |
| OpenAI | whisper-1 |
Prices and limits change from one provider to another and over time. Check each provider’s site before deciding.
How to set it up
1. Create the API key at the provider
The provider’s screens change over time: if a name does not match, look for the equivalent.
Groq
- Sign in at
console.groq.com. If you do not have an account yet, create one. - Open API Keys and click Create API Key. Give it a name, for example “Turbo Notify”.
- Copy the key (it starts with
gsk_). It is shown only once: save it before closing the window.
OpenAI
- Sign in at
platform.openai.comand open API keys. - Click Create new secret key, give it a name and copy the key (it starts with
sk-). It is shown only once. - OpenAI transcription is billed per use: add credit under Settings > Billing on the account before testing. With no balance the key is accepted, but audio is not transcribed.
2. Paste the key in the dashboard
Go to Transcription (opens in a new tab) and fill in:
| Field | Value |
|---|---|
| Provider | Groq or OpenAI |
| API key | The key you copied |
| Model | Optional. Leave it empty to use the model in the table above |
3. Test and save
Click Test connection: Turbo Notify confirms the provider accepted the key. Then click Save. From then on, received audio is transcribed. Audio that arrived earlier is not transcribed afterwards.
How transcription works
- Only received audio is transcribed. Audio you send is not.
- The language comes from the country of the sender’s number (a
+55number is transcribed in Portuguese). For a country Turbo Notify does not recognize, the provider detects the language. - Audio over 24 MB is not transcribed.
- If transcription fails, the message still arrives, without the text.
If it does not work
The audio.transcription field carries kind: "unavailable" and a reason. The reasons are listed in Get a message. The most common:
provider_error: the provider refused the key. Create another one at the provider and save it again in Transcription (opens in a new tab) .not_configured: there is no active transcription. Check that the Transcription active switch is on.timeout: the provider took longer than allowed. The next message tries again.
If the provider refuses because of a usage limit, wait or raise the limit on its account. The connection state (Healthy or Having problems) shows on the Transcription screen itself.
Security
- The key is stored encrypted (AES-256-GCM) and never appears in logs or responses. The screen only shows its start and end.
- Use a key just for Turbo Notify, so you can revoke it at the provider without affecting other uses.
Related
- Get a message: the format of
audio.transcription. - Webhooks: the
message.receivedevent with the transcription. - Storage: keep received media in your own bucket.