---
title: "Transcribe audio"
method: POST
path: "/v1/transcriptions"
tags: ["Transcription"]
---

# Transcribe audio

`POST /v1/transcriptions`

Convert speech to text.  Upload audio file containing speech and get back text that represents the content of the audio file.

## Headers

- `Spitch-X-Data-Retention` boolean

## Response `200`

OK

- TranscriptionResponse — Response from speech-to-text.
  - `request_id` string, uuid, required — for audit purposes.
  - `text` string, required
  - `segments` Segment[], nullable — sentence-level or word-level groupings of your transcript. Each sentence (or word) will fall within a time range.
    - `text` string, required — the text that belongs in this timeframe.
    - `start` number, required — the exact time when this segment started.
    - `end` number, required — the exact time when this segment ended.
  - `timestamp` Segment[], nullable — sentence-level or word-level groupings of your transcript. Each sentence (or word) will fall within a time range.
    - `text` string, required — the text that belongs in this timeframe.
    - `start` number, required — the exact time when this segment started.
    - `end` number, required — the exact time when this segment ended.

## Changes

- **2026-01-21** `216389e12033` — 1 info
  - added the optional property `timestamp` to the response with the `200` status
- **2026-01-21** `9caec45089fb` — 2 breaking, 1 warning, 10 info
  - request body became required
  - removed `#/components/schemas/STTModelEnum` from the `model` request property `anyOf` list
  - removed the optional property `timestamps` from the response with the `200` status
  - api operation id `transcribe_v1_transcriptions_post` removed and replaced with `transcribeAudio`
  - …9 more
- **2025-10-06** `8814c306e6ef` — 1 info
  - added the new `human` enum value to the request property `model/anyOf[subschema #1: STTModelEnum]/`
- **2025-08-05** `5e0436ccb10d` — 2 info
  - the endpoint scheme security `ApiKeyAuth` was added to the API
  - the endpoint scheme security `OAuth2PasswordBearer` was removed from the API
- **2025-08-02** `278c2985718b` — 1 breaking, 1 info
  - removed the media type `application/x-www-form-urlencoded` from the request body
  - added the media type `multipart/form-data` to the request body

[Full history](https://skmtc.dev/spi-tch/apis/spitch-api/changes/v1/transcriptions/post.md)

---

[API](https://skmtc.dev/spi-tch/apis/spitch-api.md) · [All operations](https://skmtc.dev/spi-tch/apis/spitch-api/llms.txt) · [OpenAPI document](https://skmtc-service-production.skmtc.workers.dev/v1/apis/spi-tch/spitch-api/revisions/e0bd85a122ab/schema)
