---
title: "Get Transcript By Id"
method: GET
path: "/v1/speech-to-text/transcripts/{transcription_id}"
tags: ["speech-to-text"]
---

# Get Transcript By Id

`GET /v1/speech-to-text/transcripts/{transcription_id}`

## Request

- Base URL: `https://api.elevenlabs.io` (the document declares no server; this is the origin it was published from)
- URL: `https://api.elevenlabs.io/v1/speech-to-text/transcripts/{transcription_id}`
- Auth: none declared

Retrieve a previously generated transcript by its ID.

## Path parameters

- `transcription_id` string, required: The unique ID of the transcript to retrieve

## Headers

- `xi-api-key` string, nullable: Your API key. This is required by most endpoints to access our API programmatically. You can view your xi-api-key using the 'Profile' tab on the website.

## Response `200`

The transcript data

- union
  - union: Chunk-level detail of the transcription with timing information.
    - object: Chunk-level detail of the transcription with timing information.
      - `language_code` string, required: The detected language code (e.g. 'eng' for English).
      - `language_probability` number, required: The confidence score of the language detection (0 to 1).
      - `text` string, required: The raw text of the transcription.
      - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
        - `text` string, required: The word or sound that was transcribed.
        - `start` number, nullable: The start time of the word or sound in seconds.
        - `end` number, nullable: The end time of the word or sound in seconds.
        - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
        - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
        - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
        - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
          - `text` string, required: The character that was transcribed.
          - `start` number, nullable: The start time of the character in seconds.
          - `end` number, nullable: The end time of the character in seconds.
        - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
      - `channel_index` integer
      - `additional_formats` AdditionalFormatResponseModel[]
        - `requested_format` string, required: The requested format.
        - `file_extension` string, required: The file extension of the additional format.
        - `content_type` string, required: The content type of the additional format.
        - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
        - `content` string, required: The content of the additional format.
      - `transcription_id` string
      - `entities` DetectedEntity[]
        - `text` string, required: The text that was identified as an entity.
        - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
        - `start_char` integer, required: Start character position in the transcript text.
        - `end_char` integer, required: End character position in the transcript text.
      - `audio_duration_secs` number
      - `edited_transcript` union
        - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
          - `kind` 'transcript', required
          - `text` string, required: The edited transcript text.
          - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
        - object: An error returned in place of an edited transcript when the edit could not be produced.
          - `kind` 'error', required
          - `text` string, required: The edited transcript text.
          - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
          - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
          - `message` string, required: A short, user-facing explanation of the failure.
        - object: A transcript produced by the optional transcript edit (text only, untimed).
          - `kind` 'transcript', required
          - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
          - `message` string, required: A short, user-facing explanation of the failure.
          - `text` string, required: The edited transcript text.
          - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
        - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
          - `kind` 'error', required
          - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
          - `message` string, required: A short, user-facing explanation of the failure.
    - object: Response model for multichannel speech-to-text transcription.
      - `transcripts` SpeechToTextChunkResponseModel[], required: List of transcripts, one for each audio channel. Each transcript contains the text and word-level details for its respective channel.
        - `language_code` string, required: The detected language code (e.g. 'eng' for English).
        - `language_probability` number, required: The confidence score of the language detection (0 to 1).
        - `text` string, required: The raw text of the transcription.
        - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
          - `text` string, required: The word or sound that was transcribed.
          - `start` number, nullable: The start time of the word or sound in seconds.
          - `end` number, nullable: The end time of the word or sound in seconds.
          - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
          - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
          - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
          - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
            - `text` string, required: The character that was transcribed.
            - `start` number, nullable: The start time of the character in seconds.
            - `end` number, nullable: The end time of the character in seconds.
          - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
        - `channel_index` integer, nullable: The channel index this transcript belongs to (for multichannel audio).
        - `additional_formats` AdditionalFormatResponseModel[], nullable: Requested additional formats of the transcript.
          - `requested_format` string, required: The requested format.
          - `file_extension` string, required: The file extension of the additional format.
          - `content_type` string, required: The content type of the additional format.
          - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
          - `content` string, required: The content of the additional format.
        - `transcription_id` string, nullable: The transcription ID of the response.
        - `entities` DetectedEntity[], nullable: List of detected entities with their text, type, and character positions in the transcript.
          - `text` string, required: The text that was identified as an entity.
          - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
          - `start_char` integer, required: Start character position in the transcript text.
          - `end_char` integer, required: End character position in the transcript text.
        - `audio_duration_secs` number, nullable: The duration of the audio that was transcribed in seconds.
        - `edited_transcript` union: Result of the optional transcript edit: the edited text, or an error if it could not be produced. Absent when no edit was requested. On success, both `text` and `edited_text` hold the edited transcript; compare them with the top-level `text` to see what changed.
          - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
            - `kind` 'transcript', required
            - `text` string, required: The edited transcript text.
            - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
          - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
            - `kind` 'error', required
            - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
            - `message` string, required: A short, user-facing explanation of the failure.
      - `transcription_id` string
      - `audio_duration_secs` number
      - `language_code` string, required: The detected language code (e.g. 'eng' for English).
      - `language_probability` number, required: The confidence score of the language detection (0 to 1).
      - `text` string, required: The raw text of the transcription.
      - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
        - `text` string, required: The word or sound that was transcribed.
        - `start` number, nullable: The start time of the word or sound in seconds.
        - `end` number, nullable: The end time of the word or sound in seconds.
        - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
        - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
        - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
        - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
          - `text` string, required: The character that was transcribed.
          - `start` number, nullable: The start time of the character in seconds.
          - `end` number, nullable: The end time of the character in seconds.
        - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
      - `channel_index` integer, nullable: The channel index this transcript belongs to (for multichannel audio).
      - `additional_formats` AdditionalFormatResponseModel[], nullable: Requested additional formats of the transcript.
        - `requested_format` string, required: The requested format.
        - `file_extension` string, required: The file extension of the additional format.
        - `content_type` string, required: The content type of the additional format.
        - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
        - `content` string, required: The content of the additional format.
      - `entities` DetectedEntity[], nullable: List of detected entities with their text, type, and character positions in the transcript.
        - `text` string, required: The text that was identified as an entity.
        - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
        - `start_char` integer, required: Start character position in the transcript text.
        - `end_char` integer, required: End character position in the transcript text.
      - `edited_transcript` union: Result of the optional transcript edit: the edited text, or an error if it could not be produced. Absent when no edit was requested. On success, both `text` and `edited_text` hold the edited transcript; compare them with the top-level `text` to see what changed.
        - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
          - `kind` 'transcript', required
          - `text` string, required: The edited transcript text.
          - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
        - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
          - `kind` 'error', required
          - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
          - `message` string, required: A short, user-facing explanation of the failure.
  - union: Response model for multichannel speech-to-text transcription.
    - object: Chunk-level detail of the transcription with timing information.
      - `language_code` string, required: The detected language code (e.g. 'eng' for English).
      - `language_probability` number, required: The confidence score of the language detection (0 to 1).
      - `text` string, required: The raw text of the transcription.
      - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
        - `text` string, required: The word or sound that was transcribed.
        - `start` number, nullable: The start time of the word or sound in seconds.
        - `end` number, nullable: The end time of the word or sound in seconds.
        - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
        - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
        - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
        - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
          - `text` string, required: The character that was transcribed.
          - `start` number, nullable: The start time of the character in seconds.
          - `end` number, nullable: The end time of the character in seconds.
        - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
      - `channel_index` integer, nullable: The channel index this transcript belongs to (for multichannel audio).
      - `additional_formats` AdditionalFormatResponseModel[], nullable: Requested additional formats of the transcript.
        - `requested_format` string, required: The requested format.
        - `file_extension` string, required: The file extension of the additional format.
        - `content_type` string, required: The content type of the additional format.
        - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
        - `content` string, required: The content of the additional format.
      - `transcription_id` string
      - `entities` DetectedEntity[], nullable: List of detected entities with their text, type, and character positions in the transcript.
        - `text` string, required: The text that was identified as an entity.
        - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
        - `start_char` integer, required: Start character position in the transcript text.
        - `end_char` integer, required: End character position in the transcript text.
      - `audio_duration_secs` number
      - `edited_transcript` union: Result of the optional transcript edit: the edited text, or an error if it could not be produced. Absent when no edit was requested. On success, both `text` and `edited_text` hold the edited transcript; compare them with the top-level `text` to see what changed.
        - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
          - `kind` 'transcript', required
          - `text` string, required: The edited transcript text.
          - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
        - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
          - `kind` 'error', required
          - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
          - `message` string, required: A short, user-facing explanation of the failure.
      - `transcripts` SpeechToTextChunkResponseModel[], required: List of transcripts, one for each audio channel. Each transcript contains the text and word-level details for its respective channel.
        - `language_code` string, required: The detected language code (e.g. 'eng' for English).
        - `language_probability` number, required: The confidence score of the language detection (0 to 1).
        - `text` string, required: The raw text of the transcription.
        - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
          - `text` string, required: The word or sound that was transcribed.
          - `start` number, nullable: The start time of the word or sound in seconds.
          - `end` number, nullable: The end time of the word or sound in seconds.
          - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
          - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
          - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
          - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
            - `text` string, required: The character that was transcribed.
            - `start` number, nullable: The start time of the character in seconds.
            - `end` number, nullable: The end time of the character in seconds.
          - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
        - `channel_index` integer, nullable: The channel index this transcript belongs to (for multichannel audio).
        - `additional_formats` AdditionalFormatResponseModel[], nullable: Requested additional formats of the transcript.
          - `requested_format` string, required: The requested format.
          - `file_extension` string, required: The file extension of the additional format.
          - `content_type` string, required: The content type of the additional format.
          - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
          - `content` string, required: The content of the additional format.
        - `transcription_id` string, nullable: The transcription ID of the response.
        - `entities` DetectedEntity[], nullable: List of detected entities with their text, type, and character positions in the transcript.
          - `text` string, required: The text that was identified as an entity.
          - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
          - `start_char` integer, required: Start character position in the transcript text.
          - `end_char` integer, required: End character position in the transcript text.
        - `audio_duration_secs` number, nullable: The duration of the audio that was transcribed in seconds.
        - `edited_transcript` union: Result of the optional transcript edit: the edited text, or an error if it could not be produced. Absent when no edit was requested. On success, both `text` and `edited_text` hold the edited transcript; compare them with the top-level `text` to see what changed.
          - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
            - `kind` 'transcript', required
            - `text` string, required: The edited transcript text.
            - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
          - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
            - `kind` 'error', required
            - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
            - `message` string, required: A short, user-facing explanation of the failure.
    - object: Response model for multichannel speech-to-text transcription.
      - `transcripts` SpeechToTextChunkResponseModel[], required: List of transcripts, one for each audio channel. Each transcript contains the text and word-level details for its respective channel.
        - `language_code` string, required: The detected language code (e.g. 'eng' for English).
        - `language_probability` number, required: The confidence score of the language detection (0 to 1).
        - `text` string, required: The raw text of the transcription.
        - `words` SpeechToTextWordResponseModel[], required: List of words with their timing information.
          - `text` string, required: The word or sound that was transcribed.
          - `start` number, nullable: The start time of the word or sound in seconds.
          - `end` number, nullable: The end time of the word or sound in seconds.
          - `type` 'word' | 'spacing' | 'audio_event', required: The type of the word or sound. 'audio_event' is used for non-word sounds like laughter or footsteps.
          - `speaker_id` string, nullable: Unique identifier for the speaker of this word.
          - `logprob` number, required: The log of the probability with which this word was predicted. Logprobs are in range [-infinity, 0], higher logprobs indicate a higher confidence the model has in its predictions.
          - `characters` SpeechToTextCharacterResponseModel[], nullable: The characters that make up the word and their timing information.
            - `text` string, required: The character that was transcribed.
            - `start` number, nullable: The start time of the character in seconds.
            - `end` number, nullable: The end time of the character in seconds.
          - `channel_index` integer, nullable: The channel this word was spoken on (for multichannel audio). Null for single-channel transcriptions.
        - `channel_index` integer, nullable: The channel index this transcript belongs to (for multichannel audio).
        - `additional_formats` AdditionalFormatResponseModel[], nullable: Requested additional formats of the transcript.
          - `requested_format` string, required: The requested format.
          - `file_extension` string, required: The file extension of the additional format.
          - `content_type` string, required: The content type of the additional format.
          - `is_base64_encoded` boolean, required: Whether the content is base64 encoded.
          - `content` string, required: The content of the additional format.
        - `transcription_id` string, nullable: The transcription ID of the response.
        - `entities` DetectedEntity[], nullable: List of detected entities with their text, type, and character positions in the transcript.
          - `text` string, required: The text that was identified as an entity.
          - `entity_type` string, required: The type of entity detected (e.g., 'credit_card', 'email_address', 'person_name').
          - `start_char` integer, required: Start character position in the transcript text.
          - `end_char` integer, required: End character position in the transcript text.
        - `audio_duration_secs` number, nullable: The duration of the audio that was transcribed in seconds.
        - `edited_transcript` union: Result of the optional transcript edit: the edited text, or an error if it could not be produced. Absent when no edit was requested. On success, both `text` and `edited_text` hold the edited transcript; compare them with the top-level `text` to see what changed.
          - EditedTranscript: A transcript produced by the optional transcript edit (text only, untimed).
            - `kind` 'transcript', required
            - `text` string, required: The edited transcript text.
            - `edited_text` string, required: The edited transcript text. Same value as `text`; matches the `edited_text` field of the realtime `edited_transcript` event.
          - TranscriptEditError: An error returned in place of an edited transcript when the edit could not be produced.
            - `kind` 'error', required
            - `error_type` 'edit_failed', required: edit_failed: the edit could not be produced.
            - `message` string, required: A short, user-facing explanation of the failure.
      - `transcription_id` string
      - `audio_duration_secs` number

## Other responses

- `401`: Authentication required
- `404`: Transcript not found
- `422`: Validation Error

## Changes

- **2026-10-13** `3060999bd80a`: 4 info
  - added the required property `anyOf[subschema #1: SpeechToTextChunkResponseModel]/edited_transcript/anyOf[subschema #1]/oneOf[subschema #1: EditedTranscript]/edited_text` to the response with the `200` status
  - added the required property `anyOf[subschema #2: MultichannelSpeechToTextResponseModel]/transcripts/items/edited_transcript/anyOf[subschema #1]/oneOf[subschema #1: EditedTranscript]/edited_text` to the response with the `200` status
  - added the required property `oneOf[subschema #1: SpeechToTextChunkResponseModel]/edited_transcript/anyOf[subschema #1]/oneOf[subschema #1: EditedTranscript]/edited_text` to the response with the `200` status
  - added the required property `oneOf[subschema #2: MultichannelSpeechToTextResponseModel]/transcripts/items/edited_transcript/anyOf[subschema #1]/oneOf[subschema #1: EditedTranscript]/edited_text` to the response with the `200` status
- …earlier changes not shown

[Operation history](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/changes/v1/speech-to-text/transcripts/:transcription_id/get.md)

---

[API](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation.md) - [All operations](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/llms.txt) - [OpenAPI document](https://skmtc.dev/elevenlabs/apis/elevenlabs-api-documentation/revisions/d04f5e77c40a?raw)
