AssemblyAI Transcript API

Transcript related operations

OpenAPI Specification

assemblyai-transcript-api-openapi.yml Raw ↑
openapi: 3.1.0
info:
  title: AssemblyAI LeMUR Transcript API
  description: AssemblyAI API
  version: 1.1.2
  contact:
    name: API Support
    email: support@assemblyai.com
    url: https://www.assemblyai.com/docs/
servers:
- url: https://api.assemblyai.com
  description: AssemblyAI API
security:
- ApiKey: []
tags:
- name: Transcript
  description: Transcript related operations
  externalDocs:
    url: https://www.assemblyai.com/docs/guides/transcribing-an-audio-file
paths:
  /v2/upload:
    post:
      tags:
      - Transcript
      summary: AssemblyAI Upload a media file
      description: Upload a media file to AssemblyAI's servers.
      operationId: uploadFile
      x-fern-sdk-group-name: files
      x-fern-sdk-method-name: upload
      requestBody:
        content:
          application/octet-stream: {}
      responses:
        '200':
          x-label: Media file uploaded
          description: Media file uploaded successfully
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/UploadedFile'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript:
    post:
      tags:
      - Transcript
      summary: AssemblyAI Transcribe audio
      description: Create a transcript from a media file that is accessible via a URL.
      operationId: createTranscript
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: submit
      x-fern-request-name: TranscriptParams
      requestBody:
        description: Params to create a transcript
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/TranscriptParams'
      responses:
        '200':
          x-label: Transcript created
          description: Transcript created and queued for processing
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
          links:
            GetTranscriptById:
              $ref: '#/components/links/GetTranscriptById'
            GetTranscriptSentencesById:
              $ref: '#/components/links/GetTranscriptSentencesById'
            GetTranscriptParagraphsById:
              $ref: '#/components/links/GetTranscriptParagraphsById'
            GetTranscriptSubtitlesById:
              $ref: '#/components/links/GetTranscriptSubtitlesById'
            GetTranscriptRedactedAudioById:
              $ref: '#/components/links/GetTranscriptRedactedAudioById'
            WordSearchByTranscriptId:
              $ref: '#/components/links/WordSearchByTranscriptId'
            DeleteTranscriptById:
              $ref: '#/components/links/DeleteTranscriptById'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
      callbacks:
        transcriptWebhook:
          '{$request.body#/webhook_url}':
            post:
              requestBody:
                required: true
                content:
                  application/json:
                    schema:
                      $ref: '#/components/schemas/TranscriptReadyNotification'
              responses:
                '200':
                  description: Successfully received the notification
    get:
      tags:
      - Transcript
      summary: AssemblyAI List transcripts
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: list
      x-fern-request-name: ListTranscriptParams
      operationId: listTranscripts
      description: 'Retrieve a list of transcripts you created.

        Transcripts are sorted from newest to oldest. The previous URL always points to a page with older transcripts.

        '
      parameters:
      - name: limit
        x-label: Limit
        in: query
        description: Maximum amount of transcripts to retrieve
        schema:
          $ref: '#/components/schemas/ListTranscriptParams/properties/limit'
      - name: status
        x-label: Status
        in: query
        description: Filter by transcript status
        schema:
          $ref: '#/components/schemas/TranscriptStatus'
      - name: created_on
        x-label: Created on
        in: query
        description: Only get transcripts created on this date
        schema:
          $ref: '#/components/schemas/ListTranscriptParams/properties/created_on'
      - name: before_id
        x-label: Before ID
        in: query
        description: Get transcripts that were created before this transcript ID
        schema:
          $ref: '#/components/schemas/ListTranscriptParams/properties/before_id'
      - name: after_id
        x-label: After ID
        in: query
        description: Get transcripts that were created after this transcript ID
        schema:
          $ref: '#/components/schemas/ListTranscriptParams/properties/after_id'
      - name: throttled_only
        x-label: Throttled only
        in: query
        description: Only get throttled transcripts, overrides the status filter
        schema:
          $ref: '#/components/schemas/ListTranscriptParams/properties/throttled_only'
      responses:
        '200':
          description: 'A list of transcripts. Transcripts are sorted from newest to oldest. The previous URL always points to a page with older transcripts.

            '
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/TranscriptList'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Get transcript
      operationId: getTranscript
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: get
      x-fern-request-name: GetTranscriptParams
      description: Get the transcript resource. The transcript is ready when the "status" is "completed".
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The transcript resource
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
          links:
            GetTranscriptById:
              $ref: '#/components/links/GetTranscriptById'
            GetTranscriptSentencesById:
              $ref: '#/components/links/GetTranscriptSentencesById'
            GetTranscriptParagraphsById:
              $ref: '#/components/links/GetTranscriptParagraphsById'
            GetTranscriptSubtitlesById:
              $ref: '#/components/links/GetTranscriptSubtitlesById'
            GetTranscriptRedactedAudioById:
              $ref: '#/components/links/GetTranscriptRedactedAudioById'
            WordSearchByTranscriptId:
              $ref: '#/components/links/WordSearchByTranscriptId'
            DeleteTranscriptById:
              $ref: '#/components/links/DeleteTranscriptById'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
    delete:
      tags:
      - Transcript
      summary: AssemblyAI Delete transcript
      description: 'Delete the transcript.

        Deleting does not delete the resource itself, but removes the data from the resource and marks it as deleted.

        '
      operationId: deleteTranscript
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: delete
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The deleted transcript response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Transcript'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}/{subtitle_format}:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Get subtitles for transcript
      description: Export your transcript in SRT or VTT format to use with a video player for subtitles and closed captions.
      operationId: getSubtitles
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: getSubtitles
      x-fern-request-name: GetSubtitlesParams
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      - name: subtitle_format
        x-label: Subtitle format
        in: path
        description: The format of the captions
        required: true
        schema:
          $ref: '#/components/schemas/SubtitleFormat'
      - name: chars_per_caption
        x-label: Number of characters per caption
        in: query
        description: The maximum number of characters per caption
        schema:
          type: integer
      responses:
        '200':
          description: The exported captions as text
          content:
            text/plain:
              schema:
                type: string
                example: 'WEBVTT

                  00:12.340 --> 00:16.220

                  Last year I showed these two slides said that demonstrate

                  00:16.200 --> 00:20.040

                  that the Arctic ice cap which for most of the last 3,000,000 years has been the

                  00:20.020 --> 00:25.040

                  size of the lower 48 States has shrunk by 40% but this understates

                  '
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}/sentences:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Get sentences in transcript
      operationId: getTranscriptSentences
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: getSentences
      x-fern-request-name: GetSentencesParams
      description: Get the transcript split by sentences. The API will attempt to semantically segment the transcript into sentences to create more reader-friendly transcripts.
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Exported sentences
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/SentencesResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}/paragraphs:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Get paragraphs in transcript
      operationId: getTranscriptParagraphs
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: getParagraphs
      x-fern-request-name: GetParagraphsParams
      description: Get the transcript split by paragraphs. The API will attempt to semantically segment your transcript into paragraphs to create more reader-friendly transcripts.
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      responses:
        '200':
          description: Exported paragraphs
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/ParagraphsResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}/word-search:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Search words in transcript
      description: Search through the transcript for keywords. You can search for individual words, numbers, or phrases containing up to five words or numbers.
      operationId: wordSearch
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: wordSearch
      x-fern-request-name: WordSearchParams
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      - name: words
        x-label: Words
        in: query
        description: Keywords to search for
        required: true
        style: form
        explode: false
        schema:
          type: array
          items:
            x-label: Word
            type: string
      responses:
        '200':
          description: Word search response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/WordSearchResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'
  /v2/transcript/{transcript_id}/redacted-audio:
    get:
      tags:
      - Transcript
      summary: AssemblyAI Get redacted audio
      description: Retrieve the redacted audio object containing the status and URL to the redacted audio.
      operationId: getRedactedAudio
      x-fern-sdk-group-name: transcripts
      x-fern-sdk-method-name: getRedactedAudio
      x-fern-request-name: GetRedactedAudioParams
      parameters:
      - name: transcript_id
        x-label: Transcript ID
        in: path
        description: ID of the transcript
        required: true
        schema:
          type: string
      responses:
        '200':
          description: The redacted audio object containing the status and URL to the redacted audio
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/RedactedAudioResponse'
        '400':
          $ref: '#/components/responses/BadRequest'
        '401':
          $ref: '#/components/responses/Unauthorized'
        '404':
          $ref: '#/components/responses/NotFound'
        '429':
          $ref: '#/components/responses/TooManyRequests'
        '500':
          $ref: '#/components/responses/InternalServerError'
        '503':
          $ref: '#/components/responses/ServiceUnavailable'
        '504':
          $ref: '#/components/responses/GatewayTimeout'