---
title: "Retrieve the transcription of an asset"
method: GET
path: "/assets/{asset_id}/transcription"
tags: ["assets"]
---

# Retrieve the transcription of an asset

`GET /assets/{asset_id}/transcription`

This method retrieves the transcription of a video or audio asset. An asset that has a transcription returns `200` with the current transcription status. The endpoint returns `404` when the asset cannot be found or has no transcription.

The platform generates transcriptions asynchronously. Poll this endpoint to monitor the transcription status.

When the status is `ready`, the response contains the segmentations you requested that the transcription supports. A transcription does not always support every segmentation, so read the segmentations the response returns rather than assuming every requested one is present.

## Path parameters

- `asset_id` string, required

## Query parameters

- `include` AssetsAssetIdTranscriptionGetParametersIncludeSchemaItems[]

## Headers

- `x-api-key` string, required

## Response `200`

The transcription status and the requested transcriptions have been successfully retrieved.

- AssetTranscriptionResponse — The transcription status and the transcriptions you requested.
  - `status` 'pending' | 'processing' | 'ready' | 'failed', required — Indicates the current status of the transcription. **Values**: - `pending`: The platform has not started transcribing the asset. - `processing`: The platform is transcribing the asset. - `ready`: The transcription is available. - `failed`: The platform could not transcribe the asset. The `error` field describes the reason.
  - `words` AssetTranscriptionEntry[] — One entry for each word. Present when the status is `ready`, the `include` parameter lists `words`, and the transcription supports word-level segmentation.
    - `start` number, double, required — The start timestamp in seconds.
    - `end` number, double, required — The end timestamp in seconds.
    - `value` string, required — The recognized text in this time range.
  - `sentences` AssetTranscriptionEntry[] — One entry for each chunk the speech recognition model detects as a sentence. Present when the status is `ready`, the `include` parameter lists `sentences`, and the transcription supports sentence-level segmentation.
    - `start` number, double, required — The start timestamp in seconds.
    - `end` number, double, required — The end timestamp in seconds.
    - `value` string, required — The recognized text in this time range.
  - `utterances` AssetTranscriptionUtterance[] — One entry for each speaker turn. Present when the status is `ready`, the `include` parameter lists `utterances`, and the transcription supports speaker-turn segmentation.
    - `start` number, double, required — The start timestamp in seconds.
    - `end` number, double, required — The end timestamp in seconds.
    - `value` string, required — The recognized text in this speaker turn.
    - `speaker` string — The speaker identifier when available.
  - `error` AssetTranscriptionError — Details about a failed transcription.
    - `message` string, required — A human-readable message describing the failure. The exact text is not part of the contract. Do not parse it.

## Other responses

- `400` — The request has failed.
- `404` — The asset has no transcription, or it does not exist.

---

[API](https://skmtc.net/twelvelabs/apis/twelvelabs-api.md) · [All operations](https://skmtc.net/twelvelabs/apis/twelvelabs-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/twelvelabs/twelvelabs-api/revisions/fd9d80e384a8/schema)
