naftiko: 1.0.0-alpha2 info: label: Text-to-Speech (TTS) description: 'Text-to-Speech (TTS). 6 operations. Lead operation: Text-to-Speech (Json). Self-contained Naftiko capability covering one Hume Ai business surface.' tags: - Hume Ai - Text-to-Speech (TTS) created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: HUME_AI_API_KEY: HUME_AI_API_KEY capability: consumes: - type: http namespace: tts baseUri: https://api.hume.ai description: Text-to-Speech (TTS) business capability. Self-contained, no shared references. resources: - name: v0-tts path: /v0/tts operations: - name: synthesizejson method: POST description: Text-to-Speech (Json) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v0-tts-file path: /v0/tts/file operations: - name: synthesizefile method: POST description: Text-to-Speech (File) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v0-tts-stream-file path: /v0/tts/stream/file operations: - name: synthesizefilestreaming method: POST description: Text-to-Speech (Streamed File) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v0-tts-stream-json path: /v0/tts/stream/json operations: - name: synthesizejsonstreaming method: POST description: Text-to-Speech (Streamed JSON) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v0-tts-voice_conversion-file path: /v0/tts/voice_conversion/file operations: - name: convertvoicefile method: POST description: Voice Conversion (Streamed File) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false - name: v0-tts-voice_conversion-json path: /v0/tts/voice_conversion/json operations: - name: convertvoicejson method: POST description: Voice Conversion (Streamed JSON) outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: X-Hume-Api-Key in: header type: string required: true - name: body in: body type: object description: Request body (JSON). required: false authentication: type: apikey key: X-Hume-Api-Key value: '{{env.HUME_AI_API_KEY}}' placement: header exposes: - type: rest namespace: tts-rest port: 8080 description: REST adapter for Text-to-Speech (TTS). One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v0/tts name: v0-tts description: REST surface for v0-tts. operations: - method: POST name: synthesizejson description: Text-to-Speech (Json) call: tts.synthesizejson with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v0/tts/file name: v0-tts-file description: REST surface for v0-tts-file. operations: - method: POST name: synthesizefile description: Text-to-Speech (File) call: tts.synthesizefile with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v0/tts/stream/file name: v0-tts-stream-file description: REST surface for v0-tts-stream-file. operations: - method: POST name: synthesizefilestreaming description: Text-to-Speech (Streamed File) call: tts.synthesizefilestreaming with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v0/tts/stream/json name: v0-tts-stream-json description: REST surface for v0-tts-stream-json. operations: - method: POST name: synthesizejsonstreaming description: Text-to-Speech (Streamed JSON) call: tts.synthesizejsonstreaming with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v0/tts/voice-conversion/file name: v0-tts-voice-conversion-file description: REST surface for v0-tts-voice_conversion-file. operations: - method: POST name: convertvoicefile description: Voice Conversion (Streamed File) call: tts.convertvoicefile with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v0/tts/voice-conversion/json name: v0-tts-voice-conversion-json description: REST surface for v0-tts-voice_conversion-json. operations: - method: POST name: convertvoicejson description: Voice Conversion (Streamed JSON) call: tts.convertvoicejson with: X-Hume-Api-Key: rest.X-Hume-Api-Key body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: tts-mcp port: 9090 transport: http description: MCP adapter for Text-to-Speech (TTS). One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: text-speech-json description: Text-to-Speech (Json) hints: readOnly: false destructive: false idempotent: false call: tts.synthesizejson with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $. - name: text-speech-file description: Text-to-Speech (File) hints: readOnly: false destructive: false idempotent: false call: tts.synthesizefile with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $. - name: text-speech-streamed-file description: Text-to-Speech (Streamed File) hints: readOnly: false destructive: false idempotent: false call: tts.synthesizefilestreaming with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $. - name: text-speech-streamed-json description: Text-to-Speech (Streamed JSON) hints: readOnly: false destructive: false idempotent: false call: tts.synthesizejsonstreaming with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $. - name: voice-conversion-streamed-file description: Voice Conversion (Streamed File) hints: readOnly: false destructive: false idempotent: false call: tts.convertvoicefile with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $. - name: voice-conversion-streamed-json description: Voice Conversion (Streamed JSON) hints: readOnly: false destructive: false idempotent: false call: tts.convertvoicejson with: X-Hume-Api-Key: tools.X-Hume-Api-Key body: tools.body outputParameters: - type: object mapping: $.