Skip to main content

Overview

The Genesys TTS Connector lets Genesys Cloud organizations plug a third-party text-to-speech engine into their call and bot flows. Hamsa exposes two endpoints that speak the connector’s protocol:
  1. List Voices — the Voices Catalog API, which Genesys fetches once at activation to build the voice selection list.
  2. Synthesize — a dedicated streaming endpoint that takes text plus a voice id and streams back raw PCM audio.
You only ever send Hamsa a voice id: language and dialect are resolved from the voice itself, so there is no language mapping to configure.

How It Works

1

Genesys fetches the voice catalog

At activation, the connector calls the Voices Catalog endpoint and caches the list. Each voice’s BCP-47 language tag places it under the matching flow language.
2

A flow needs speech

Genesys substitutes the utterance and the selected voice id into the configured request template and POSTs it to the Synthesize endpoint.
3

Hamsa synthesises speech

Hamsa validates the API key, resolves the voice (speaker, language, dialect), and streams raw 8kHz PCM audio back.
4

Genesys plays the audio

Call flows start playing as soon as the first bytes arrive; bot flows buffer the full payload before playback.

Synthesize Endpoint

Authentication

Send your Hamsa API key in the Authorization header:
Keep your Hamsa API key secret. Anyone who has it can make TTS requests that will be billed against your account.

Request Body

Response

On success the endpoint returns a chunked binary stream of raw PCM audio:
This matches the connector’s audio/L16 requirement exactly — Genesys standardizes all provider audio to PCM at 8kHz. μ-law is not supported by the connector.

Error Responses


Setting Up in Genesys Cloud

Prerequisite: the Genesys TTS Connector installed from AppFoundry (requires a BYOT-A subscription — see Genesys’s install guide).
1

Open the integration

In Genesys Cloud go to Admin → Integrations, open your Genesys TTS Connector instance, and give it a recognizable name (e.g. Hamsa TTS).
2

Configure the URIs

On the Configuration tab set:
To restrict the catalog to one dialect, bake the filter into the URI, e.g. .../catalog?language=ar-SA.
3

Leave the voice attributes at their defaults

Hamsa’s catalog matches the connector’s defaults (voices container; id, name, language attributes). Set the gender attribute to gender if you want gender shown in the voice list.
4

Set the synthesize body template

In the Advanced tab, configure:
$text and $voice are substituted by Genesys on every request. No language mapping is needed — the voice id carries it.
5

Set the credentials

On the Credentials tab choose the User Defined type and add one field:
6

Activate and test

Set the integration to Active, then select the Hamsa engine and a voice in Architect and use TTS playback to verify.
Genesys caches the voice list at activation. If you add voices later (e.g. a new cloned voice), disable and re-enable the integration after at least 30 minutes so Genesys refreshes its cache.
Genesys allows TTS requests up to 3,000 characters, while Hamsa’s limit is 2,000 characters per request. Keep prompts under 2,000 characters to avoid validation errors.

Example Request

This is what Genesys sends to the Synthesize endpoint behind the scenes:

Support

Voices Catalog API

The List Voices endpoint reference

Contact Support

Get help from our technical team