---
title: "Get Transcription"
method: GET
path: "/v3/audio/transcriptions/{transcription_id}"
tags: ["Audio"]
---

# Get Transcription

`GET /v3/audio/transcriptions/{transcription_id}`

## Request

- Base URL: `https://api.heygen.com`
- URL: `https://api.heygen.com/v3/audio/transcriptions/{transcription_id}`
- Auth: one of:
  - API key in header `x-api-key`
  - HTTP bearer

Return a transcription created by `POST /v3/audio/transcriptions`: its transcript once completed, its failure code once failed, or `pending` while the creating request is still running.

## Path parameters

- `transcription_id` string, required

## Response `200`

Successful response

- object
  - `data` TranscriptionResponse
    - `id` string, required: Transcription identifier, for reading the transcription again.
    - `status` 'pending' | 'completed' | 'failed', required
    - `model` 'scribe-v2', required: The transcription model that produced the transcript.
    - `created_at` integer, required: Request creation time as Unix seconds.
    - `language` string, nullable: Detected or requested language; present once completed.
    - `duration_seconds` number, nullable: Length of the transcribed audio; present once completed.
    - `text` string, nullable: Full transcript; present once completed.
    - `segments` TranscriptionSegment[], nullable: Transcript segments; present once completed.
      - `speaker` string, nullable: Absent when `diarize` was false.
      - `start` number, required: Start time in seconds.
      - `end` number, required: End time in seconds.
      - `text` string, required: The segment's text.
      - `words` TranscriptionWord[], nullable: Present when `word_timestamps` was true.
        - `word` string, required: The word as spoken, with any attached punctuation.
        - `start` number, required: Start time in seconds.
        - `end` number, required: End time in seconds.
        - `speaker` string, nullable: Absent when `diarize` was false.
    - `failure_code` 'invalid_input' | 'vendor_unavailable' | 'vendor_timeout' | 'ai_vendor_access_restricted' | 'internal_error' | 'insufficient_credit' | 'api_key_required' | 'rate_limited'
    - `failure_message` string, nullable: Human-readable failure description. Only present when status is failed.

## Other responses

- `400`: Invalid request parameters
- `401`: Authentication failed
- `404`: Resource not found
- `429`: Rate limit exceeded

## Changes

- **2026-11-03** `7dfa5e59b4f5`: 1 info
  - endpoint added

[Operation history](https://skmtc.dev/heygen/apis/heygen-external-api/changes/v3/audio/transcriptions/:transcription_id/get.md)

---

[API](https://skmtc.dev/heygen/apis/heygen-external-api.md) - [All operations](https://skmtc.dev/heygen/apis/heygen-external-api/llms.txt) - [OpenAPI document](https://skmtc.dev/heygen/apis/heygen-external-api/revisions/7dfa5e59b4f5?raw)
