---
title: "Source transcript of a translated file"
method: GET
path: "/media/transcript/{mediaId}/source"
tags: ["Media (Audio/Video)"]
---

# Source transcript of a translated file

`GET /media/transcript/{mediaId}/source`

## Request

- Base URL: `https://api.speakai.co/v1`
- URL: `https://api.speakai.co/v1/media/transcript/{mediaId}/source`
- Auth: API key in header `x-speakai-key` and API key in header `x-access-token`

Returns the transcript of the original source-language file behind a translated one, so you can read a translation against the text it came from.

Pass the media id of the **translated** file. Speak AI resolves the original from the translation record, either as the separate media the two-step flow keeps or, when the translation replaced the text in place, by rebuilding the original from the words the transcription engine stored.

When the original cannot be shown, the request still answers 200. Read `data.available` first: `false` carries a `reason` and nothing else, and `true` carries the transcript. There is no 404 for an unavailable original.

The sentence shape matches `GET /media/transcript/{mediaId}`. The rebuilt in-place original omits the per-sentence `entities` array; the two-step original carries whatever the source media holds. `confidence` on every sentence is the confidence the transcription engine reported for the original, not a measure of the translation.

## Path parameters

- `mediaId` string, required

## Response `200`

OK

- object
  - `status` string
  - `data` object
    - `available` boolean: Whether the original transcript can be shown. Everything below is present only when this is true.
    - `reason` 'no-link' | 'original-not-retained' | 'source-deleted' | 'source-missing' | 'source-not-ready' | 'source-has-no-transcript': Why the original cannot be shown. Present only when available is false. no-link: this file is not a translation, or its translation has not finished. original-not-retained: a text note, whose original text the translation overwrote. source-deleted: the original media was deleted. source-missing: the original is not in your workspace, or your folder access does not reach it. source-not-ready: the original is still processing. source-has-no-transcript: the original holds no transcript to return.
    - `sourceMediaId` string: The id of the original media. On an in-place translation this is the same id you asked for, because one media holds both versions.
    - `sourceLanguage` string: The language the original was transcribed in. It can be auto on a file uploaded without a declared language.
    - `mediaType` string
    - `name` string
    - `duration` object
      - `start` string
      - `end` string
      - `inSecond` number
    - `createdAt` string, date-time
    - `insight` object
      - `transcript` object[]
        - `id` integer
        - `text` string
        - `speakerId` string
        - `confidence` number
        - `language` string
        - `instances` object[]
          - `start` string
          - `end` string
          - `startInSec` number
          - `endInSec` number
      - `speakers` object[]
        - `id` integer
        - `name` string

---

[API](https://skmtc.dev/speakai/apis/speak-ai-api.md) · [All operations](https://skmtc.dev/speakai/apis/speak-ai-api/llms.txt) · [OpenAPI document](https://skmtc.dev/speakai/apis/speak-ai-api/revisions/52d777e6d46e?raw)
