naftiko: 1.0.0-alpha2 info: label: ElevenLabs Text to Speech API — Text to Speech description: 'ElevenLabs Text to Speech API — Text to Speech. 4 operations. Lead operation: Create speech. Self-contained Naftiko capability covering one Elevenlabs business surface.' tags: - Elevenlabs - Text to Speech created: '2026-05-19' modified: '2026-05-19' binds: - namespace: env keys: ELEVENLABS_API_KEY: ELEVENLABS_API_KEY capability: consumes: - type: http namespace: text-to-speech-text-to-speech baseUri: https://api.elevenlabs.io description: ElevenLabs Text to Speech API — Text to Speech business capability. Self-contained, no shared references. resources: - name: v1-text-to-speech-voice_id path: /v1/text-to-speech/{voice_id} operations: - name: createspeech method: POST description: Create speech outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-text-to-speech-voice_id-stream path: /v1/text-to-speech/{voice_id}/stream operations: - name: streamspeech method: POST description: Stream speech outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-text-to-speech-voice_id-stream-with-timestamps path: /v1/text-to-speech/{voice_id}/stream/with-timestamps operations: - name: streamspeechwithtimestamps method: POST description: Stream speech with timing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true - name: v1-text-to-speech-voice_id-with-timestamps path: /v1/text-to-speech/{voice_id}/with-timestamps operations: - name: createspeechwithtimestamps method: POST description: Create speech with timing outputRawFormat: json outputParameters: - name: result type: object value: $. inputParameters: - name: body in: body type: object description: Request body (JSON). required: true authentication: type: apikey key: xi-api-key value: '{{env.ELEVENLABS_API_KEY}}' placement: header exposes: - type: rest namespace: text-to-speech-text-to-speech-rest port: 8080 description: REST adapter for ElevenLabs Text to Speech API — Text to Speech. One Spectral-compliant resource per consumed operation, prefixed with /v1. resources: - path: /v1/v1/text-to-speech/{voice-id} name: v1-text-to-speech-voice-id description: REST surface for v1-text-to-speech-voice_id. operations: - method: POST name: createspeech description: Create speech call: text-to-speech-text-to-speech.createspeech with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/text-to-speech/{voice-id}/stream name: v1-text-to-speech-voice-id-stream description: REST surface for v1-text-to-speech-voice_id-stream. operations: - method: POST name: streamspeech description: Stream speech call: text-to-speech-text-to-speech.streamspeech with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/text-to-speech/{voice-id}/stream/with-timestamps name: v1-text-to-speech-voice-id-stream-with-timestamps description: REST surface for v1-text-to-speech-voice_id-stream-with-timestamps. operations: - method: POST name: streamspeechwithtimestamps description: Stream speech with timing call: text-to-speech-text-to-speech.streamspeechwithtimestamps with: body: rest.body outputParameters: - type: object mapping: $. - path: /v1/v1/text-to-speech/{voice-id}/with-timestamps name: v1-text-to-speech-voice-id-with-timestamps description: REST surface for v1-text-to-speech-voice_id-with-timestamps. operations: - method: POST name: createspeechwithtimestamps description: Create speech with timing call: text-to-speech-text-to-speech.createspeechwithtimestamps with: body: rest.body outputParameters: - type: object mapping: $. - type: mcp namespace: text-to-speech-text-to-speech-mcp port: 9090 transport: http description: MCP adapter for ElevenLabs Text to Speech API — Text to Speech. One tool per consumed operation, routed inline through this capability's consumes block. tools: - name: create-speech description: Create speech hints: readOnly: false destructive: false idempotent: false call: text-to-speech-text-to-speech.createspeech with: body: tools.body outputParameters: - type: object mapping: $. - name: stream-speech description: Stream speech hints: readOnly: false destructive: false idempotent: false call: text-to-speech-text-to-speech.streamspeech with: body: tools.body outputParameters: - type: object mapping: $. - name: stream-speech-timing description: Stream speech with timing hints: readOnly: false destructive: false idempotent: false call: text-to-speech-text-to-speech.streamspeechwithtimestamps with: body: tools.body outputParameters: - type: object mapping: $. - name: create-speech-timing description: Create speech with timing hints: readOnly: false destructive: false idempotent: false call: text-to-speech-text-to-speech.createspeechwithtimestamps with: body: tools.body outputParameters: - type: object mapping: $.