# Transcripts

> Turn any recording, podcast or video link into searchable text with speakers and timestamps, then export it or reuse it as clips, posts and subtitles.

Source: https://endless.okinawa/docs/transcripts

A **transcript** is the searchable, editable text of an audio or video file. Add a recording or
paste a link, and Endless returns the text, split by speaker and timestamped to the word at high
quality, with a title and chapters. Export it, or use it in chat for clips, posts and subtitles.

<ImageZoom src="https://static.endless.software/docs/screenshots/transcripts-88acb2be.webp" alt="A finished transcript: a header with the source file, who added it, duration, word and speaker counts, quality and language; a toolbar with Speakers and Plain views, Copy, Download and Search; the text turn by turn with speaker names and timestamps; and on the right a speaker breakdown and a list of chapters" width="1280" height="720" />

## Add a recording

<Steps>
  <Step>
    ### Add a file or paste a link

    On the **Transcripts*&#x2A; page (or &#x2A;*+** next to **Transcripts*&#x2A; in the sidebar, which opens
    &#x2A;*"New transcript"**):

    * drag audio or video files onto the uploader, or select &#x2A;*"choose a file"**;
    * paste a link into the link box and select &#x2A;*"Transcribe"** (pasting anywhere on the page fills
      the box);
    * or open the &#x2A;*"Library"*&#x2A; tab, select files already in your workspace and select
      &#x2A;*"Transcribe"**.

    <ImageZoom src="https://static.endless.software/docs/screenshots/transcripts-list-dec807c3.webp" alt="The Transcripts page: an uploader with Upload and Library tabs, a drop zone for audio or video, and a field to paste a YouTube, Instagram, TikTok or media link beside a Transcribe button; below, a search field and the workspace's transcripts with their length and age" width="1024" height="1000" />
  </Step>

  <Step>
    ### Pick a quality (YouTube and TikTok only)

    | Source                                     | Quality                                                                                                                                                         |
    | ------------------------------------------ | --------------------------------------------------------------------------------------------------------------------------------------------------------------- |
    | YouTube, TikTok                            | **"Fast"*&#x2A; (default) uses the video's captions and is several times cheaper. &#x2A;*"High quality"** transcribes the audio, with speakers and word timings |
    | Instagram, X, Facebook                     | Fast only                                                                                                                                                       |
    | Uploads, Library files, direct media links | Always high quality                                                                                                                                             |

    If a fast run finds no captions, Endless transcribes the audio instead, at close to (sometimes
    above) the high-quality rate. Pricing is by recording length, and Endless checks that your
    credits cover the maximum cost before it starts.
  </Step>

  <Step>
    ### Wait for the queue

    Recordings are processed one at a time; you can keep adding more. Each shows &#x2A;*"Queued"*&#x2A;,
    &#x2A;*"Compressing"*&#x2A; (large files shrink in your browser), &#x2A;*"Uploading"*&#x2A;, &#x2A;*"Transcribing"*&#x2A; and
    &#x2A;*"Saving"*&#x2A;. You can cancel until &#x2A;*"Transcribing"**. A failed item gets a retry without stopping
    the others. A single file opens by itself when ready.
  </Step>
</Steps>

The same source is never transcribed twice: pasting a link again (even a different URL for the
same video) or picking an already transcribed Library file opens the existing transcript at no
cost.

You can also transcribe from the [Library](/docs/create/where-output-lands&#x29;: an uploaded or imported
audio or video file shows &#x2A;*"Transcribe"*&#x2A; with its price, then &#x2A;*"Open transcript"** when done.
It is billed at the high-quality rate.

<ImageZoom src="https://static.endless.software/docs/screenshots/transcribe-audio-677dd63b.webp" alt="The details of an uploaded audio file in the Library viewer: type Audio, format WAV, duration 45:10, source Uploaded, and at the bottom a Transcribe button showing its price in credits" width="452" height="720" />

## Supported sources

| Type      | Accepted                                                                  |
| --------- | ------------------------------------------------------------------------- |
| **Audio** | Any audio file (MP3, WAV, M4A…)                                           |
| **Video** | Any video file (MP4, MOV, WEBM…)                                          |
| **Links** | YouTube, Instagram, TikTok, X, Facebook, and direct links to a media file |

Files must be **under 2 GB**. Split or compress longer recordings.

## Read a transcript

* The header lists **Source**, **Added**, **Duration**, **Quality**, **Language** (and
  **Imported from*&#x2A;, &#x2A;*"Created in"*&#x2A;, &#x2A;*"Appears in"*&#x2A; where they apply), plus a
  &#x2A;*"Private"*&#x2A; / &#x2A;*"Shared"** pill. An uploaded source's name is a download link.
* **"Speakers"*&#x2A; view keeps turns attributed; &#x2A;*"Plain"** shows paragraphs.
* **"Search transcript…"** steps through matches with Enter and Shift+Enter. Selecting a line
  moves the player there (speed control, 10-second skips).
* **Speakers panel:** each speaker's share of talking. A rename applies everywhere, exports
  included.
* **Chapters panel:** appears shortly after transcription finishes.
* **Language:** if the source has captions in several languages, pick one to re-fetch.

## Export

**"Copy"*&#x2A; copies in the chosen format; &#x2A;*"Download"** saves a file.

| Format           | File    | Use for                                |
| ---------------- | ------- | -------------------------------------- |
| **Plain text**   | `.txt`  | Drafts, pasting into other tools       |
| **Speaker text** | `.txt`  | Interviews and meetings                |
| **JSON**         | `.json` | Words with timings, for custom tooling |
| **SubRip**       | `.srt`  | Subtitles in most editors and players  |
| **WebVTT**       | `.vtt`  | Captions for web video                 |

## Use transcripts in chat

<Callout type="info" icon="<Msgs />">
  In [Chat](/docs/chat), Endless can search your transcripts, read one in full or
  transcribe a link. `@`-[mention](/docs/chat/mentions) a transcript to give it
  directly. Where the `clip` [skill](/docs/concepts/skills-and-knowledge) is on, chat
  can also cut a moment into a vertical or square video with burnt-in captions
  and save it to your assets.
</Callout>

## Failures, cost and permissions

* A failed transcription stays in the list as &#x2A;"An error occurred while transcribing. Try
  again."* Delete it or paste the link again. You are charged only once the text exists. See
  [Credits and spending](/docs/concepts/credits-and-spending).
* Creating a transcript needs a role that can create content. See
  [Roles and permissions](/docs/governance/roles-and-permissions).
* An admin can switch Transcripts off for the workspace, a team or one person. Then the page is
  unavailable and chat can't make transcripts either.

New transcripts are private. See [Sharing a transcript](/docs/transcripts/sharing). To speak a prompt
instead, see [Dictation](/docs/transcripts/dictation).
