# 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.app/docs/transcripts

A **transcript** is the searchable, editable text version of an audio or video file. Add a
recording or paste a link, and Endless returns the full text — at high quality, broken into
speakers and timestamped down to the word — so you can read it, search it, and turn it into
something else.

Most people don't want the text for its own sake. They want what comes next: the clip, the
thread, the subtitle file, the quote they can't find by scrubbing a two-hour stream. A
transcript is the fastest path from "we recorded it" to "we published it."

The clip can be literal. Where the built-in `clip` skill is switched on — it's a
[skill](/docs/concepts/skills-and-knowledge), so a workspace or an individual can have it off — chat
can cut a moment out of the recording, reframe it to vertical or square, burn the captions in
from these word timings, and file the finished video to your assets. See [turn one recording into
a week of content](/docs/use-cases/turn-one-recording-into-a-week-of-content).

The page describes itself as &#x2A;"Turn a recording, podcast, or YouTube link into searchable text,
with speakers, timestamps, and clip-ready exports."*

<img alt="A finished transcript: a header listing the source file, who uploaded it, the duration, word count and speaker count, the quality, the language and its sharing state; below it the text itself, each turn labelled with a speaker name and a timestamp; and on the right a speaker breakdown with each person's share of the talking, and a list of chapters" src="__img0" />

## What you get

<Cards>
  <Card icon="<TextAlignLeft />" title="Searchable text">
    The full recording as clean, readable text. Find any phrase in seconds
    instead of scrubbing the timeline.
  </Card>

  <Card icon="<Users />" title="Speakers">
    At high quality, each turn is attributed to a speaker. Rename them once and
    it updates everywhere, exports included.
  </Card>

  <Card icon="<Clock />" title="Word-level timestamps">
    At high quality, every word is anchored to its moment in the audio. Select a
    line to jump the player straight to it.
  </Card>

  <Card icon="<Bookmark />" title="Chapters and a title">
    A title is written for the transcript as it's created, and chapters marking
    the topic shifts arrive a moment later.
  </Card>

  <Card icon="<Subtitles />" title="Clip-ready exports">
    Plain text, speaker text, JSON, and subtitle files (SRT / VTT) — ready for
    your editor, player, or workflow.
  </Card>
</Cards>

## What you can do with it

Transcripts are the raw material for almost any content workflow. A few of the most common:

<Cards>
  <Card icon="<Radio />" title="Media & broadcast">
    Transcribe a full radio show, TV segment, or live stream, then pull
    timestamped moments into short clips for Instagram, TikTok, and YouTube.
  </Card>

  <Card icon="<Microphone />" title="Podcasts">
    Turn a long episode into vertical clips and quote threads — and ship show
    notes without re-listening.
  </Card>

  <Card icon="<Scissors />" title="Clipping & editing">
    Cut the moment here — vertical, captions burnt in — where the `clip` skill
    is on. Or export SRT and finish it in Premiere or any subtitle-aware tool.
  </Card>

  <Card icon="<Hashtag />" title="Agencies & social">
    Repurpose one interview or webinar into posts, carousels, and threads across
    multiple client accounts.
  </Card>

  <Card icon="<GraduationCap />" title="Education">
    Convert recorded classes and lectures into summaries, carousels, and study
    notes.
  </Card>

  <Card icon="<Newspaper />" title="Newsrooms">
    Search long interviews for the exact quote, attribute it to the right
    speaker, and clip it fast.
  </Card>
</Cards>

<Callout type="info" icon="<ChatBot />">
  Pair transcripts with [Chat](/docs/chat) to go from text to output in one move —
  ask for a thread, a set of clip ideas with timestamps, or a script in your
  brand's tone. Endless can search your transcripts, read one in full, and even
  make a new one from a link mid-conversation; [mentioning](/docs/chat/mentions) a
  specific transcript with `@` hands it the right one instead of making it go
  looking.
</Callout>

## Add a recording

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

    Drag an audio or video file onto the uploader, or select &#x2A;*"choose a file"*&#x2A; to pick one — you
    can add several at once. To use a link instead, paste it into the link box and select
    &#x2A;*"Transcribe"**. Pasting a link anywhere on the page (as long as you aren't typing in a field)
    drops it into that box for you.
  </Step>

  <Step>
    ### Pick a quality, where you get the choice

    For a **YouTube or TikTok*&#x2A; link, a quality toggle appears: &#x2A;*"Fast"*&#x2A; uses the video's existing
    captions and is ready in seconds, &#x2A;*"High quality"** transcribes the audio instead, adding
    speaker labels and exact word timings. Fast is preselected, and the rate each option is billed
    at is shown beside it — transcription is priced by the length of the recording, and fast is
    several times cheaper.

    Everything else has no choice to make. **Instagram and X links** only have the captions route,
    so they always run fast. **Uploads and direct media links** always run at high quality, whatever
    the toggle last said.
  </Step>

  <Step>
    ### Watch the queue

    Recordings are transcribed **one at a time*&#x2A;, and you can keep adding more while it works. Each
    item shows where it is — &#x2A;*"Queued"*&#x2A;, then &#x2A;*"Compressing"*&#x2A; (large files are shrunk in your
    browser before they're uploaded), &#x2A;*"Uploading"*&#x2A;, &#x2A;*"Transcribing"*&#x2A;, &#x2A;*"Saving"*&#x2A; — and
    finishes with &#x2A;*"Done"*&#x2A; and an &#x2A;*"Open"** action. A failure doesn't stop the rest: that item
    gets a retry, and the others carry on.
  </Step>

  <Step>
    ### Read, search, and export

    Open the transcript to read it by speaker or as plain text, jump around by selecting any line,
    search across the whole thing, and export in the format you need.
  </Step>
</Steps>

<Callout type="info">
  **Pasting the same link twice doesn't transcribe it twice.** Endless
  recognizes a source it has already done — including the same video in a
  different URL shape — and opens the transcript you already have, at no further
  cost.
</Callout>

## What you can transcribe

| Type      | Accepted                                                        |
| --------- | --------------------------------------------------------------- |
| **Audio** | Any audio file; the uploader names MP3, WAV, and M4A            |
| **Video** | Any video file; the uploader names MP4, MOV, and WEBM           |
| **Links** | YouTube, Instagram, TikTok, X, and direct links to a media file |

<Callout type="warn">
  Files must be **under 2 GB*&#x2A; each — the app says so when one isn't: &#x2A;"Files
  must be under 2 GB. Try a shorter clip, or compress it first."* For something
  longer, split it into segments or compress it before uploading.
</Callout>

## Reading a transcript

The transcript page opens with the essentials in a short list — **Source**, **Added**,
**Duration**, **Quality**, **Language**, plus **Imported from*&#x2A; when it came from an import —
above the text itself, and the pill in the header shows &#x2A;*"Private"*&#x2A; or &#x2A;*"Shared"**. If the source was
a file you uploaded, its name is a download link.

<Cards>
  <Card icon="<Magnifier />" title="Search inside it">
    **"Search transcript…"** finds every match and steps through them with Enter
    and Shift+Enter. Selecting any line moves the player to that moment.
  </Card>

  <Card icon="<Users />" title="Speakers panel">
    Each speaker is listed with their share of the talking. Rename one and the
    new name replaces it everywhere — the text, the panel, and every export.
  </Card>

  <Card icon="<Bookmark />" title="Chapters panel">
    Chapters are written for you shortly after transcription finishes — until
    they land it says &#x2A;"Chapters appear a moment after this recording finishes
    transcribing."* Select one to jump there.
  </Card>

  <Card icon="<Language />" title="Language">
    When a captioned source offers more than one caption language, the
    **Language** row becomes a picker and Endless re-fetches the transcript in
    the language you choose.
  </Card>
</Cards>

Two views sit above the text: &#x2A;*"Speakers"*&#x2A;, which keeps each turn attributed, and
&#x2A;*"Plain"**, which reads as paragraphs. There's a copy button for the whole thing, and a
playbar with playback speed and 10-second skips.

## Export formats

Every transcript exports in five formats from the &#x2A;*"Export"** menu:

| Format           | File    | Best for                                      |
| ---------------- | ------- | --------------------------------------------- |
| **Plain text**   | `.txt`  | Copy-paste, drafts, feeding into another tool |
| **Speaker text** | `.txt`  | Interviews and meetings — keeps who said what |
| **JSON**         | `.json` | Words plus timing, for custom tooling         |
| **SubRip**       | `.srt`  | Subtitles for most editors and players        |
| **WebVTT**       | `.vtt`  | Captions for web video                        |

## When it doesn't work

A transcription that fails leaves the item in your list rather than disappearing — it reads
&#x2A;*"Couldn't transcribe. Try again."*&#x2A;, and opening it explains: &#x2A;"Couldn't transcribe this
source. Delete it, or paste the link again to retry."* Nothing is charged for a transcription
that didn't produce a transcript; the charge happens only once the text exists. See
[Credits and spending](/docs/concepts/credits-and-spending).

## Who can make one

<Callout type="warn" icon="<Toggle />">
  **Transcripts can be switched off.*&#x2A; It's one of the features an admin can
  turn off for the whole workspace, a team, or one person — the description in
  the settings reads &#x2A;"Turn recordings, podcasts, and links into searchable
  text."* When it's off, the page isn't reachable and Endless can't make a
  transcript in chat either.
</Callout>

Creating a transcript is a content action, so it needs a role that can create content — a
viewer, who reads and nothing else, can't start one. See
[Roles and permissions](/docs/governance/roles-and-permissions).

## Next

<Cards>
  <Card icon="<Lock />" title="Sharing a transcript" href="/docs/transcripts/sharing">
    A transcript is an asset, so it's private until you share it — with the
    workspace or with specific people.
  </Card>

  <Card icon="<Microphone />" title="Dictation" href="/docs/transcripts/dictation">
    The other direction: talk, and your words land in the composer as a prompt.
  </Card>
</Cards>
