naftiko: 1.0.0-alpha2 info: label: Together APIs — Audio description: 'Together APIs — Audio. 5 operations. Lead operation: Create audio generation request. Self-contained Naftiko capability covering one Together Ai business surface.' tags: - Together Ai - Audio created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: TOGETHER_AI_API_KEY: TOGETHER_AI_API_KEY capability: consumes: - type: http namespace: together-ai-audio baseUri: https://api.together.ai/v1 description: Together APIs — Audio business capability. Self-contained, no shared references. resources: - name: audio-speech path: /audio/speech operations: - name: audiospeech method: POST description: Create audio generation request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: false - name: audio-speech-websocket path: /audio/speech/websocket operations: - name: realtimetts method: GET description: Real-time text-to-speech via WebSocket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: model in: query type: string - name: voice in: query type: string - name: max_partial_length in: query type: integer - name: language in: query type: string - name: audio-transcriptions path: /audio/transcriptions operations: - name: audiotranscriptions method: POST description: Create audio transcription request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: audio-translations path: /audio/translations operations: - name: audiotranslations method: POST description: Create audio translation request outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: realtime path: /realtime operations: - name: realtimetranscription method: GET description: Real-time audio transcription via WebSocket outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: model in: query type: string required: true - name: input_audio_format in: query type: string description: Audio format specification. Currently supports 16-bit PCM at 16kHz sample rate. required: true authentication: type: bearer token: '{{env.TOGETHER_AI_API_KEY}}' exposes: - type: rest namespace: together-ai-audio-rest port: 8080 description: REST adapter for Together APIs — Audio. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/audio/speech name: audio-speech description: REST surface for audio-speech. operations: - method: POST name: audiospeech description: Create audio generation request call: together-ai-audio.audiospeech with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/speech/websocket name: audio-speech-websocket description: REST surface for audio-speech-websocket. operations: - method: GET name: realtimetts description: Real-time text-to-speech via WebSocket call: together-ai-audio.realtimetts with: model: rest.model voice: rest.voice max_partial_length: rest.max_partial_length language: rest.language outputParameters: - type: object mapping: $. - path: /v1/audio/transcriptions name: audio-transcriptions description: REST surface for audio-transcriptions. operations: - method: POST name: audiotranscriptions description: Create audio transcription request call: together-ai-audio.audiotranscriptions with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/audio/translations name: audio-translations description: REST surface for audio-translations. operations: - method: POST name: audiotranslations description: Create audio translation request call: together-ai-audio.audiotranslations with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/realtime name: realtime description: REST surface for realtime. operations: - method: GET name: realtimetranscription description: Real-time audio transcription via WebSocket call: together-ai-audio.realtimetranscription with: model: rest.model input_audio_format: rest.input_audio_format outputParameters: - type: object mapping: $. - type: mcp namespace: together-ai-audio-mcp port: 9090 transport: http description: MCP adapter for Together APIs — Audio. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-audio-generation-request description: Create audio generation request hints: readOnly: false destructive: false idempotent: false call: together-ai-audio.audiospeech with: body: tools.body outputParameters: - type: object mapping: $. - name: real-time-text-speech-websocket description: Real-time text-to-speech via WebSocket hints: readOnly: true destructive: false idempotent: true call: together-ai-audio.realtimetts with: model: tools.model voice: tools.voice max_partial_length: tools.max_partial_length language: tools.language outputParameters: - type: object mapping: $. - name: create-audio-transcription-request description: Create audio transcription request hints: readOnly: false destructive: false idempotent: false call: together-ai-audio.audiotranscriptions with: body: tools.body outputParameters: - type: object mapping: $. - name: create-audio-translation-request description: Create audio translation request hints: readOnly: false destructive: false idempotent: false call: together-ai-audio.audiotranslations with: body: tools.body outputParameters: - type: object mapping: $. - name: real-time-audio-transcription-websocket description: Real-time audio transcription via WebSocket hints: readOnly: true destructive: false idempotent: true call: together-ai-audio.realtimetranscription with: model: tools.model input_audio_format: tools.input_audio_format outputParameters: - type: object mapping: $.