---
title: "Transcribe speech to text"
method: POST
path: "/ai/audio/transcriptions"
tags: ["Audio"]
---

# Transcribe speech to text

`POST /ai/audio/transcriptions`

Transcribe speech to text. This endpoint is consistent with the [OpenAI Transcription API](https://platform.openai.com/docs/api-reference/audio/createTranscription) and may be used with the OpenAI JS or Python SDK.

## Response `200`

Successful Response

- AudioTranscriptionResponse — Response fields vary by model. `distil-whisper/distil-large-v2` returns `text`, `duration`, and `segments` in `verbose_json` mode. `openai/whisper-large-v3-turbo` returns `text` only. The `deepgram/*` models return `text` and, depending on `model_config`, may include `words` with per-word timestamps and speaker labels. The Parakeet models (`nvidia/parakeet-v3`, `omi-health/omi-med-stt-v1`) return `text` only.
  - `text` string, required — The transcribed text for the audio file.
  - `duration` number — The duration of the audio file in seconds. Returned by `distil-whisper/distil-large-v2` and the `deepgram/*` models when `response_format` is `verbose_json`. Not returned by `openai/whisper-large-v3-turbo`.
  - `segments` AudioTranscriptionResponseSegments[] — Segments of the transcribed text and their corresponding details. Returned by `distil-whisper/distil-large-v2` and the `deepgram/*` models when `response_format` is `verbose_json`; Deepgram segments also carry nested `words` and `speakers`. Not returned by `openai/whisper-large-v3-turbo`.
    - `id` number, required — Unique identifier of the segment.
    - `start` number, required — Start time of the segment in seconds.
    - `end` number, required — End time of the segment in seconds.
    - `text` string, required — Text content of the segment.
    - `words` AudioTranscriptionResponseWord[] — Word-level timing detail for this segment. Returned by the `deepgram/*` models when word-level output is enabled via `model_config`.
      - `word` string, required — The transcribed word.
      - `start` number, required — Start time of the word in seconds.
      - `end` number, required — End time of the word in seconds.
      - `confidence` number — Confidence score for the word (0.0 to 1.0).
      - `speaker` integer — Speaker index. Only present when diarization is enabled via `model_config`.
      - `speaker_confidence` number — Confidence score for the speaker assignment (0.0 to 1.0). Only present when diarization is enabled via `model_config`.
      - `punctuated_word` string — The transcribed word with punctuation and capitalisation applied. Only present when `punctuate` or `smart_format` is enabled via `model_config`.
    - `speakers` integer[] — Speaker indices heard in this segment. Returned by the `deepgram/*` models when `diarize` is enabled via `model_config`.
  - `words` AudioTranscriptionResponseWord[] — Word-level timestamps and optional speaker labels. Only returned by the `deepgram/*` models when word-level output is enabled via `model_config`.
    - `word` string, required — The transcribed word.
    - `start` number, required — Start time of the word in seconds.
    - `end` number, required — End time of the word in seconds.
    - `confidence` number — Confidence score for the word (0.0 to 1.0).
    - `speaker` integer — Speaker index. Only present when diarization is enabled via `model_config`.
    - `speaker_confidence` number — Confidence score for the speaker assignment (0.0 to 1.0). Only present when diarization is enabled via `model_config`.
    - `punctuated_word` string — The transcribed word with punctuation and capitalisation applied. Only present when `punctuate` or `smart_format` is enabled via `model_config`.

## Other responses

- `422` — Validation Error

## Changes

> 93 revisions in range; 1 not diffed.

- **2026-09-22** `e8e1196dac89` — 2 info
  - added the new `nvidia/parakeet-v3` enum value to the request property `model`
  - added the new `omi-health/omi-med-stt-v1` enum value to the request property `model`
- **2026-09-16** `035731b8549a` — 7 info
  - added the new `deepgram/nova-2` enum value to the request property `model`
  - added the new `deepgram/nova-2-medical` enum value to the request property `model`
  - added the new `deepgram/nova-3-medical` enum value to the request property `model`
  - added the optional property `segments/items/speakers` to the response with the `200` status
  - …3 more

[Change history](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/changes/ai/audio/transcriptions/post.md)

---

[API](https://skmtc.dev/team-telnyx/apis/telnyx-api-2.md) · [All operations](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/llms.txt) · [OpenAPI document](https://skmtc.dev/team-telnyx/apis/telnyx-api-2/revisions/88481995b4ca?raw)
