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: $.