AssemblyAI · Capability

AssemblyAI API — Transcript

AssemblyAI API — Transcript. 10 operations. Lead operation: AssemblyAI Transcribe audio. Self-contained Naftiko capability covering one Assemblyai business surface.

Run with Naftiko AssemblyaiTranscript

What You Can Do

POST
Createtranscript — AssemblyAI Transcribe audio
/v1/v2/transcript
GET
Listtranscripts — AssemblyAI List transcripts
/v1/v2/transcript
GET
Gettranscript — AssemblyAI Get transcript
/v1/v2/transcript/{transcript-id}
DELETE
Deletetranscript — AssemblyAI Delete transcript
/v1/v2/transcript/{transcript-id}
GET
Gettranscriptparagraphs — AssemblyAI Get paragraphs in transcript
/v1/v2/transcript/{transcript-id}/paragraphs
GET
Getredactedaudio — AssemblyAI Get redacted audio
/v1/v2/transcript/{transcript-id}/redacted-audio
GET
Gettranscriptsentences — AssemblyAI Get sentences in transcript
/v1/v2/transcript/{transcript-id}/sentences
GET
Wordsearch — AssemblyAI Search words in transcript
/v1/v2/transcript/{transcript-id}/word-search
GET
Getsubtitles — AssemblyAI Get subtitles for transcript
/v1/v2/transcript/{transcript-id}/{subtitle-format}
POST
Uploadfile — AssemblyAI Upload a media file
/v1/v2/upload

MCP Tools

assemblyai-transcribe-audio

AssemblyAI Transcribe audio

assemblyai-list-transcripts

AssemblyAI List transcripts

read-only idempotent
assemblyai-get-transcript

AssemblyAI Get transcript

read-only idempotent
assemblyai-delete-transcript

AssemblyAI Delete transcript

idempotent
assemblyai-get-paragraphs-transcript

AssemblyAI Get paragraphs in transcript

read-only idempotent
assemblyai-get-redacted-audio

AssemblyAI Get redacted audio

read-only idempotent
assemblyai-get-sentences-transcript

AssemblyAI Get sentences in transcript

read-only idempotent
assemblyai-search-words-transcript

AssemblyAI Search words in transcript

read-only idempotent
assemblyai-get-subtitles-transcript

AssemblyAI Get subtitles for transcript

read-only idempotent
assemblyai-upload-media-file

AssemblyAI Upload a media file

Capability Spec

assemblyai-transcript.yaml Raw ↑
naftiko: 1.0.0-alpha2
info:
  label: AssemblyAI API — Transcript
  description: 'AssemblyAI API — Transcript. 10 operations. Lead operation: AssemblyAI Transcribe audio. Self-contained Naftiko
    capability covering one Assemblyai business surface.'
  tags:
  - Assemblyai
  - Transcript
  created: '2026-05-19'
  modified: '2026-05-19'
binds:
- namespace: env
  keys:
    ASSEMBLYAI_API_KEY: ASSEMBLYAI_API_KEY
capability:
  consumes:
  - type: http
    namespace: assemblyai-transcript
    baseUri: https://api.assemblyai.com
    description: AssemblyAI API — Transcript business capability. Self-contained, no shared references.
    resources:
    - name: v2-transcript
      path: /v2/transcript
      operations:
      - name: createtranscript
        method: POST
        description: AssemblyAI Transcribe audio
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: true
      - name: listtranscripts
        method: GET
        description: AssemblyAI List transcripts
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: limit
          in: query
          type: string
          description: Maximum amount of transcripts to retrieve
        - name: status
          in: query
          type: string
          description: Filter by transcript status
        - name: created_on
          in: query
          type: string
          description: Only get transcripts created on this date
        - name: before_id
          in: query
          type: string
          description: Get transcripts that were created before this transcript ID
        - name: after_id
          in: query
          type: string
          description: Get transcripts that were created after this transcript ID
        - name: throttled_only
          in: query
          type: string
          description: Only get throttled transcripts, overrides the status filter
    - name: v2-transcript-transcript_id
      path: /v2/transcript/{transcript_id}
      operations:
      - name: gettranscript
        method: GET
        description: AssemblyAI Get transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
      - name: deletetranscript
        method: DELETE
        description: AssemblyAI Delete transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
    - name: v2-transcript-transcript_id-paragraphs
      path: /v2/transcript/{transcript_id}/paragraphs
      operations:
      - name: gettranscriptparagraphs
        method: GET
        description: AssemblyAI Get paragraphs in transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
    - name: v2-transcript-transcript_id-redacted-audio
      path: /v2/transcript/{transcript_id}/redacted-audio
      operations:
      - name: getredactedaudio
        method: GET
        description: AssemblyAI Get redacted audio
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
    - name: v2-transcript-transcript_id-sentences
      path: /v2/transcript/{transcript_id}/sentences
      operations:
      - name: gettranscriptsentences
        method: GET
        description: AssemblyAI Get sentences in transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
    - name: v2-transcript-transcript_id-word-search
      path: /v2/transcript/{transcript_id}/word-search
      operations:
      - name: wordsearch
        method: GET
        description: AssemblyAI Search words in transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
        - name: words
          in: query
          type: array
          description: Keywords to search for
          required: true
    - name: v2-transcript-transcript_id-subtitle_format
      path: /v2/transcript/{transcript_id}/{subtitle_format}
      operations:
      - name: getsubtitles
        method: GET
        description: AssemblyAI Get subtitles for transcript
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: transcript_id
          in: path
          type: string
          description: ID of the transcript
          required: true
        - name: subtitle_format
          in: path
          type: string
          description: The format of the captions
          required: true
        - name: chars_per_caption
          in: query
          type: integer
          description: The maximum number of characters per caption
    - name: v2-upload
      path: /v2/upload
      operations:
      - name: uploadfile
        method: POST
        description: AssemblyAI Upload a media file
        outputRawFormat: json
        outputParameters:
        - name: result
          type: object
          value: $.
        inputParameters:
        - name: body
          in: body
          type: object
          description: Request body (JSON).
          required: false
  exposes:
  - type: rest
    namespace: assemblyai-transcript-rest
    port: 8080
    description: REST adapter for AssemblyAI API — Transcript. One Spectral-compliant resource per consumed operation, prefixed
      with /v1.
    resources:
    - path: /v1/v2/transcript
      name: v2-transcript
      description: REST surface for v2-transcript.
      operations:
      - method: POST
        name: createtranscript
        description: AssemblyAI Transcribe audio
        call: assemblyai-transcript.createtranscript
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
      - method: GET
        name: listtranscripts
        description: AssemblyAI List transcripts
        call: assemblyai-transcript.listtranscripts
        with:
          limit: rest.limit
          status: rest.status
          created_on: rest.created_on
          before_id: rest.before_id
          after_id: rest.after_id
          throttled_only: rest.throttled_only
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}
      name: v2-transcript-transcript-id
      description: REST surface for v2-transcript-transcript_id.
      operations:
      - method: GET
        name: gettranscript
        description: AssemblyAI Get transcript
        call: assemblyai-transcript.gettranscript
        with:
          transcript_id: rest.transcript_id
        outputParameters:
        - type: object
          mapping: $.
      - method: DELETE
        name: deletetranscript
        description: AssemblyAI Delete transcript
        call: assemblyai-transcript.deletetranscript
        with:
          transcript_id: rest.transcript_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}/paragraphs
      name: v2-transcript-transcript-id-paragraphs
      description: REST surface for v2-transcript-transcript_id-paragraphs.
      operations:
      - method: GET
        name: gettranscriptparagraphs
        description: AssemblyAI Get paragraphs in transcript
        call: assemblyai-transcript.gettranscriptparagraphs
        with:
          transcript_id: rest.transcript_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}/redacted-audio
      name: v2-transcript-transcript-id-redacted-audio
      description: REST surface for v2-transcript-transcript_id-redacted-audio.
      operations:
      - method: GET
        name: getredactedaudio
        description: AssemblyAI Get redacted audio
        call: assemblyai-transcript.getredactedaudio
        with:
          transcript_id: rest.transcript_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}/sentences
      name: v2-transcript-transcript-id-sentences
      description: REST surface for v2-transcript-transcript_id-sentences.
      operations:
      - method: GET
        name: gettranscriptsentences
        description: AssemblyAI Get sentences in transcript
        call: assemblyai-transcript.gettranscriptsentences
        with:
          transcript_id: rest.transcript_id
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}/word-search
      name: v2-transcript-transcript-id-word-search
      description: REST surface for v2-transcript-transcript_id-word-search.
      operations:
      - method: GET
        name: wordsearch
        description: AssemblyAI Search words in transcript
        call: assemblyai-transcript.wordsearch
        with:
          transcript_id: rest.transcript_id
          words: rest.words
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/transcript/{transcript-id}/{subtitle-format}
      name: v2-transcript-transcript-id-subtitle-format
      description: REST surface for v2-transcript-transcript_id-subtitle_format.
      operations:
      - method: GET
        name: getsubtitles
        description: AssemblyAI Get subtitles for transcript
        call: assemblyai-transcript.getsubtitles
        with:
          transcript_id: rest.transcript_id
          subtitle_format: rest.subtitle_format
          chars_per_caption: rest.chars_per_caption
        outputParameters:
        - type: object
          mapping: $.
    - path: /v1/v2/upload
      name: v2-upload
      description: REST surface for v2-upload.
      operations:
      - method: POST
        name: uploadfile
        description: AssemblyAI Upload a media file
        call: assemblyai-transcript.uploadfile
        with:
          body: rest.body
        outputParameters:
        - type: object
          mapping: $.
  - type: mcp
    namespace: assemblyai-transcript-mcp
    port: 9090
    transport: http
    description: MCP adapter for AssemblyAI API — Transcript. One tool per consumed operation, routed inline through this
      capability's consumes block.
    tools:
    - name: assemblyai-transcribe-audio
      description: AssemblyAI Transcribe audio
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: assemblyai-transcript.createtranscript
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-list-transcripts
      description: AssemblyAI List transcripts
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.listtranscripts
      with:
        limit: tools.limit
        status: tools.status
        created_on: tools.created_on
        before_id: tools.before_id
        after_id: tools.after_id
        throttled_only: tools.throttled_only
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-get-transcript
      description: AssemblyAI Get transcript
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.gettranscript
      with:
        transcript_id: tools.transcript_id
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-delete-transcript
      description: AssemblyAI Delete transcript
      hints:
        readOnly: false
        destructive: true
        idempotent: true
      call: assemblyai-transcript.deletetranscript
      with:
        transcript_id: tools.transcript_id
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-get-paragraphs-transcript
      description: AssemblyAI Get paragraphs in transcript
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.gettranscriptparagraphs
      with:
        transcript_id: tools.transcript_id
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-get-redacted-audio
      description: AssemblyAI Get redacted audio
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.getredactedaudio
      with:
        transcript_id: tools.transcript_id
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-get-sentences-transcript
      description: AssemblyAI Get sentences in transcript
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.gettranscriptsentences
      with:
        transcript_id: tools.transcript_id
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-search-words-transcript
      description: AssemblyAI Search words in transcript
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.wordsearch
      with:
        transcript_id: tools.transcript_id
        words: tools.words
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-get-subtitles-transcript
      description: AssemblyAI Get subtitles for transcript
      hints:
        readOnly: true
        destructive: false
        idempotent: true
      call: assemblyai-transcript.getsubtitles
      with:
        transcript_id: tools.transcript_id
        subtitle_format: tools.subtitle_format
        chars_per_caption: tools.chars_per_caption
      outputParameters:
      - type: object
        mapping: $.
    - name: assemblyai-upload-media-file
      description: AssemblyAI Upload a media file
      hints:
        readOnly: false
        destructive: false
        idempotent: false
      call: assemblyai-transcript.uploadfile
      with:
        body: tools.body
      outputParameters:
      - type: object
        mapping: $.