---
title: "Create audio transcription request"
method: POST
path: "/audio/transcriptions"
tags: ["Audio"]
---

# Create audio transcription request

`POST /audio/transcriptions`

Transcribes audio into text

## Response `200`

OK

- union
  - AudioTranscriptionJsonResponse
    - `text` string, required — The transcribed text
  - AudioTranscriptionVerboseJsonResponse
    - `language` string, required — The language of the audio
    - `duration` number, required — The duration of the audio in seconds
    - `text` string, required — The transcribed text
    - `segments` AudioTranscriptionSegment[], required — Array of transcription segments
      - `id` integer, required — Unique identifier for 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 — The text content of the segment
    - `words` AudioTranscriptionWord[] — Array of transcription words (only when timestamp_granularities includes 'word')
      - `word` string, required — The word
      - `start` number, required — Start time of the word in seconds
      - `end` number, required — End time of the word in seconds
      - `speaker_id` string — The speaker id for the word (only when diarize is enabled)
    - `speaker_segments` AudioTranscriptionSpeakerSegment[] — Array of transcription speaker segments (only when diarize is enabled)
      - `speaker_id` string, required — The speaker identifier
      - `start` number, required — Start time of the speaker segment in seconds
      - `end` number, required — End time of the speaker segment in seconds
      - `words` AudioTranscriptionWord[], required — Array of words spoken by this speaker in this segment
        - `word` string, required — The word
        - `start` number, required — Start time of the word in seconds
        - `end` number, required — End time of the word in seconds
        - `speaker_id` string — The speaker id for the word (only when diarize is enabled)
      - `text` string, required — The full text spoken by this speaker in this segment
      - `id` integer, required — Unique identifier for the speaker segment

## Other responses

- `400` — BadRequest. Possible error codes include `audio_too_long` (audio duration exceeds the 4 hour cap), `file_too_large` (URL-fetched audio exceeds the 1 GB server-side cap), `unsupported_format` (codec or container could not be decoded), and `invalid_params` (request parameters failed validation).
- `401` — Unauthorized
- `413` — Payload Too Large. The request body exceeded the 80 MB direct-upload limit. For larger payloads, host the file and submit an HTTPS URL via the `file` field (URL-fetched audio is capped at 1 GB server-side).
- `429` — RateLimit

---

[API](https://skmtc.net/together/apis/together-apis.md) · [All operations](https://skmtc.net/together/apis/together-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/together/together-apis/revisions/1fab430e87d6/schema)
