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

# Create Transcription

`POST /v1/audio/transcriptions`

Transcribe audio into text.

Transcribes audio files using OpenAI's Whisper model. Supports multiple audio formats
including mp3, mp4, mpeg, mpga, m4a, wav, and webm. Maximum file size is 25 MB.

Args:
    file: Audio file to transcribe (required)
    model: Model ID to use (e.g., "openai/whisper-1")
    language: ISO-639-1 language code (e.g., "en", "es") - improves accuracy
    prompt: Optional text to guide the model's style
    response_format: Format of the output (json, text, srt, verbose_json, vtt)
    temperature: Sampling temperature between 0 and 1

Returns:
    Transcription object with the transcribed text

## Response `200`

Successful Response

- union
  - CreateTranscriptionResponseVerboseJson — Represents a verbose json transcription response returned by model, based on the provided input. Fields: - language (required): str - duration (required): float - text (required): str - words (optional): list[TranscriptionWord] - segments (optional): list[TranscriptionSegment] - usage (optional): TranscriptTextUsageDuration
    - `language` string, required — The language of the input audio.
    - `duration` number, required — The duration of the input audio.
    - `text` string, required — The transcribed text.
    - `words` TranscriptionWord[] — Extracted words and their corresponding timestamps.
      - `word` string, required — The text content of the word.
      - `start` number, required — Start time of the word in seconds.
      - `end` number, required — End time of the word in seconds.
    - `segments` TranscriptionSegment[] — Segments of the transcribed text and their corresponding details.
      - `id` integer, required — Unique identifier of the segment.
      - `seek` integer, required — Seek offset 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.
      - `tokens` integer[], required — Array of token IDs for the text content.
      - `temperature` number, required — Temperature parameter used for generating the segment.
      - `avg_logprob` number, required — Average logprob of the segment. If the value is lower than -1, consider the logprobs failed.
      - `compression_ratio` number, required — Compression ratio of the segment. If the value is greater than 2.4, consider the compression failed.
      - `no_speech_prob` number, 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.
    - `usage` TranscriptTextUsageDuration — Usage statistics for models billed by audio input duration. Fields: - type (required): Literal['duration'] - seconds (required): float
      - `type` 'duration', required — The type of the usage object. Always `duration` for this variant.
      - `seconds` number, required — Duration of the input audio in seconds.
  - CreateTranscriptionResponseJson — Represents a transcription response returned by model, based on the provided input. Fields: - text (required): str - logprobs (optional): list[LogprobsItem] - usage (optional): Usage
    - `text` string, required — The transcribed text.
    - `logprobs` LogprobsItem[] — The log probabilities of the tokens in the transcription. Only returned with the models `gpt-4o-transcribe` and `gpt-4o-mini-transcribe` if `logprobs` is added to the `include` array.
      - `token` string — The token in the transcription.
      - `logprob` number — The log probability of the token.
      - `bytes` number[] — The bytes of the token.
    - `usage` union — Token usage statistics for the request.
      - object — Usage statistics for models billed by token usage. Fields: - type (required): Literal['tokens'] - input_tokens (required): int - input_token_details (optional): InputTokenDetails - output_tokens (required): int - total_tokens (required): int
        - `type` 'tokens', required — The type of the usage object. Always `tokens` for this variant.
        - `input_tokens` integer, required — Number of input tokens billed for this request.
        - `input_token_details` InputTokenDetails — Details about the input tokens billed for this request. Fields: - text_tokens (optional): int - audio_tokens (optional): int
          - `text_tokens` integer — Number of text tokens billed for this request.
          - `audio_tokens` integer — Number of audio tokens billed for this request.
        - `output_tokens` integer, required — Number of output tokens generated.
        - `total_tokens` integer, required — Total number of tokens used (input + output).
      - object — Usage statistics for models billed by audio input duration. Fields: - type (required): Literal['duration'] - seconds (required): float
        - `type` 'duration', required — The type of the usage object. Always `duration` for this variant.
        - `seconds` number, required — Duration of the input audio in seconds.

## Other responses

- `422` — Validation Error

---

[API](https://skmtc.net/dedalus-labs/apis/dedalus-api.md) · [All operations](https://skmtc.net/dedalus-labs/apis/dedalus-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/dedalus-labs/dedalus-api/versions/81ffcde15f4c/schema)
