Skip to main content

Response formats

{"text":"He hoped there would be stew for dinner, turnips and carrots...",
"usage":{"type":"duration","seconds":11}}
  • json (the default) returns the text and the audio length charged.
  • verbose_json adds duration, segments and, if you ask with timestamp_granularities[], words with start and end times in seconds.
  • srt and vtt return subtitles built from the word timings.
  • text returns plain text.
  • diarized_json returns segments with speaker labels.

Punctuation and capitals are included in every format.

Partial results​

If part of a long file cannot be transcribed, you get the rest, the JSON formats include "partial": true, and only the transcribed audio is charged.

Long files​

If a JSON response is not ready within 80 seconds, the server sends the status line early and then spaces until the result arrives (JSON allows leading spaces). This keeps very long files from timing out. Any error after that point arrives in the body as an error object. For files over an hour, prefer json or verbose_json.