Hume AI · Capability

Text-to-Speech (TTS)

Text-to-Speech (TTS). 6 operations. Lead operation: Text-to-Speech (Json). Self-contained Naftiko capability covering one Hume Ai business surface.

Run with Naftiko Hume AiText-to-Speech (TTS)

What You Can Do

POST
Synthesizejson — Text-to-Speech (Json)
/v1/v0/tts
POST
Synthesizefile — Text-to-Speech (File)
/v1/v0/tts/file
POST
Synthesizefilestreaming — Text-to-Speech (Streamed File)
/v1/v0/tts/stream/file
POST
Synthesizejsonstreaming — Text-to-Speech (Streamed JSON)
/v1/v0/tts/stream/json
POST
Convertvoicefile — Voice Conversion (Streamed File)
/v1/v0/tts/voice-conversion/file
POST
Convertvoicejson — Voice Conversion (Streamed JSON)
/v1/v0/tts/voice-conversion/json

MCP Tools

text-speech-json

Text-to-Speech (Json)

text-speech-file

Text-to-Speech (File)

text-speech-streamed-file

Text-to-Speech (Streamed File)

text-speech-streamed-json

Text-to-Speech (Streamed JSON)

voice-conversion-streamed-file

Voice Conversion (Streamed File)

voice-conversion-streamed-json

Voice Conversion (Streamed JSON)

Capability Spec

tts.yaml Raw ↑
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: $.