---
title: "Create translation"
method: POST
path: "/audio/translations"
tags: ["Audio"]
---

# Create translation

`POST /audio/translations`

Translates audio into English.

## Response `200`

OK

- union
  - CreateTranslationResponseJson
    - `text` string, required
  - CreateTranslationResponseVerboseJson
    - `language` string, required — The language of the output translation (always `english`).
    - `duration` number, double, required — The duration of the input audio.
    - `text` string, required — The translated text.
    - `segments` TranscriptionSegment[] — Segments of the translated text and their corresponding details.
      - `id` integer, required — Unique identifier of the segment.
      - `seek` integer, required — Seek offset of the segment.
      - `start` number, double, required — Start time of the segment in seconds.
      - `end` number, double, required — End time of the segment in seconds.
      - `text` string, required — Text content of the segment.
      - `tokens` integer[], required — Array of token IDs for the text content.
      - `temperature` number, float, required — Temperature parameter used for generating the segment.
      - `avg_logprob` number, float, required — Average logprob of the segment. If the value is lower than -1, consider the logprobs failed.
      - `compression_ratio` number, float, required — Compression ratio of the segment. If the value is greater than 2.4, consider the compression failed.
      - `no_speech_prob` number, float, required — Probability of no speech in the segment. If the value is higher than 1.0 and the `avg_logprob` is below -1, consider this segment silent.

## Other responses

- `400` — Invalid audio input or request parameters.
- `401` — Authentication failed because the API key is missing or revoked, or the client IP is not authorized.
- `403` — Access to a personal API organization is blocked by the organization policy.
- `413` — The audio request exceeds the supported size limit.
- `429` — The request was rejected because a rate limit was exceeded. A slow_down error means traffic increased too quickly; reduce your request rate, then increase it gradually.
- `500` — The audio could not be processed.
- `502` — The upstream audio service connection failed.
- `503` — The service is temporarily unavailable. A server_is_overloaded error means the requested model is temporarily overloaded; retry after a brief delay.

## Changes

- **2026-09-25** `d86203de41ae` — 6 info
  - added the non-success response with the status `400`
  - added the non-success response with the status `401`
  - added the non-success response with the status `403`
  - added the non-success response with the status `413`
  - …2 more
- **2026-09-03** `9430b00d75b4` — 2 info
  - added the optional property `error/misalignment` to the response with the `429` status
  - added the optional property `error/misalignment` to the response with the `503` status
- **2026-09-03** `5f6acbcbb919` — 1 info
  - added the non-success response with the status `503`
- **2026-08-14** `6ac2618eefd7` — 1 info
  - added the non-success response with the status `429`
- **2026-05-13** `74cbcf73838f` — 2 breaking
  - the `oneOf[#/components/schemas/CreateTranslationResponseVerboseJson]/segments/items/end` response's property format changed from `float` to `double` for status `200`
  - the `oneOf[#/components/schemas/CreateTranslationResponseVerboseJson]/segments/items/start` response's property format changed from `float` to `double` for status `200`

[Full history](https://skmtc.dev/openai/apis/openapi/changes/audio/translations/post.md)

---

[API](https://skmtc.dev/openai/apis/openapi.md) · [All operations](https://skmtc.dev/openai/apis/openapi/llms.txt) · [OpenAPI document](https://skmtc.dev/openai/apis/openapi/revisions/d86203de41ae?raw)
