> ## Documentation Index
> Fetch the complete documentation index at: https://docs.eversince.ai/llms.txt
> Use this file to discover all available pages before exploring further.

# get transcript

> Every spoken word on the timeline with its position in the cut, as frame numbers at the timeline's rate, the positions remove_words takes. granularity words: [index, text, from_frame, to_frame], 10000 a page; sentences: [first_word_index, text, from_frame, to_frame], 1000 a page, each row's first index leading back into word mode. A full page carries next_start_frame. Indices are positions in the whole transcript and stable across pages. speakers adds who was talking on each row, from what the speakers tool found. An empty result usually means untranscribed, not silent: transcribe_media with timeline_id writes the words onto the clips. For one library item, transcribe_media with ref. Free.



## OpenAPI

````yaml /openapi.json post /tools/get_transcript
openapi: 3.1.0
info:
  title: Eversince API
  version: '1'
  description: >-
    Every Eversince tool as one POST call, plus the routes beside them: the tool
    list, account and keys, uploads, webhooks and models. The prose is at
    https://docs.eversince.ai.
servers:
  - url: https://eversince.ai/api/v1
security:
  - bearer: []
tags:
  - name: Discovery
    description: The tool list, the same on the MCP server, the REST API and the CLI.
  - name: Workspace
    description: Jobs, balances, settings, templates, skills and the overview.
  - name: Library
    description: >-
      Items, search, import, reading media, comments, boards, calendars, the
      brand kit and public links.
  - name: Timeline
    description: 'Video editing: timelines, clips, captions, sound, language and rendering.'
  - name: Canvas
    description: 'Still editing: canvases, slides, layers and rendering.'
  - name: Generation
    description: Image, video and audio generation, upscaling, cutouts and models.
  - name: Research
    description: 'What platforms publish: pulling and keeping posts.'
  - name: Account
    description: Balances, keys, workspaces and script sessions.
  - name: Uploads
    description: Files into the library by presigned upload or by URL.
  - name: Webhooks
    description: Job results posted to a URL as they complete.
  - name: Models
    description: Generation models and cost estimates.
paths:
  /tools/get_transcript:
    post:
      tags:
        - Timeline
      summary: get transcript
      description: >-
        Every spoken word on the timeline with its position in the cut, as frame
        numbers at the timeline's rate, the positions remove_words takes.
        granularity words: [index, text, from_frame, to_frame], 10000 a page;
        sentences: [first_word_index, text, from_frame, to_frame], 1000 a page,
        each row's first index leading back into word mode. A full page carries
        next_start_frame. Indices are positions in the whole transcript and
        stable across pages. speakers adds who was talking on each row, from
        what the speakers tool found. An empty result usually means
        untranscribed, not silent: transcribe_media with timeline_id writes the
        words onto the clips. For one library item, transcribe_media with ref.
        Free.
      operationId: get_transcript
      parameters:
        - $ref: '#/components/parameters/IdempotencyKey'
        - $ref: '#/components/parameters/WorkspaceId'
      requestBody:
        required: true
        content:
          application/json:
            schema:
              type: object
              properties:
                timeline_id:
                  type: string
                  description: The timeline id.
                start_frame:
                  type: integer
                end_frame:
                  type: integer
                granularity:
                  description: >-
                    words: every word with its frames, the indices remove_words
                    takes. sentences: a fraction of the size, each row carrying
                    the index of its first word for a cut.
                  type: string
                  enum:
                    - words
                    - sentences
                source:
                  description: >-
                    Which speech: voiceover (narration), dialogue, music
                    (lyrics); all reads every stream clip by clip with a
                    passages list. Default picks whichever the timeline has.
                  type: string
                  enum:
                    - voiceover
                    - dialogue
                    - music
                    - auto
                    - all
                speakers:
                  description: >-
                    Carry who is talking on every row, and the stretches each
                    speaker holds. Read from what the speakers tool found; files
                    nobody has been picked out of are left out rather than
                    listened to now.
                  type: boolean
              required:
                - timeline_id
      responses:
        '200':
          description: >-
            Done, or a job started for work that runs longer (follow it with
            get_jobs).
          content:
            application/json:
              schema:
                type: object
                required:
                  - ok
                  - data
                  - meta
                properties:
                  ok:
                    const: true
                  data:
                    type: object
                    additionalProperties: true
                  meta:
                    type: object
                    properties:
                      request_id:
                        type: string
                      cost:
                        $ref: '#/components/schemas/Cost'
                      cloud_processing:
                        $ref: '#/components/schemas/CloudProcessing'
                  media:
                    type: array
                    items:
                      type: object
                      additionalProperties: true
        default:
          $ref: '#/components/responses/Error'
components:
  parameters:
    IdempotencyKey:
      name: Idempotency-Key
      in: header
      required: false
      schema:
        type: string
      description: >-
        Retry a paid dispatch safely: the same key returns the job already
        dispatched instead of charging again.
    WorkspaceId:
      name: x-workspace-id
      in: header
      required: false
      schema:
        type: string
      description: The workspace this one call acts in, when it is not the key's own.
  schemas:
    Cost:
      type: object
      description: AI credits the call cost.
      additionalProperties: true
    CloudProcessing:
      type: object
      description: Cloud processing the call used, and what is left.
      properties:
        ran_on:
          const: cloud
        minutes:
          type: number
        queued_minutes:
          type: number
        left_minutes:
          type: number
        bought_minutes:
          type: number
        note:
          type: string
    Error:
      type: object
      required:
        - ok
        - error
      properties:
        ok:
          const: false
        error:
          type: object
          required:
            - code
            - message
            - retryable
          properties:
            code:
              type: string
            message:
              type: string
              description: What went wrong, in words to act on.
            retryable:
              type: boolean
            suggested_action:
              type: string
              description: The next step that works.
            cloud_processing:
              $ref: '#/components/schemas/CloudProcessing'
  responses:
    Error:
      description: The call was refused or failed.
      content:
        application/json:
          schema:
            $ref: '#/components/schemas/Error'
  securitySchemes:
    bearer:
      type: http
      scheme: bearer
      description: >-
        An API key (es_live_…) from Settings, under API keys, or an OAuth access
        token.

````