Skip to content

Voice Mapping

GateFlow provides standardized voice personas that automatically map to the best equivalent voice on each TTS provider.

Standard Voices

Voice IDPersonaCharacteristics
professionalBusinessClear, authoritative, confident
friendlyConversationalWarm, approachable, welcoming
calmSoothingMeasured, relaxed, reassuring
energeticUpbeatEnthusiastic, dynamic, engaging
seriousFormalDeliberate, precise, professional
casualRelaxedNatural, informal, easy-going

Provider Mappings

OpenAI TTS

GateFlow VoiceOpenAI Voice
professionalonyx
friendlyalloy
calmnova
energeticshimmer
seriousfable
casualecho

ElevenLabs

GateFlow VoiceElevenLabs Voice
professionaljosh
friendlyrachel
calmbella
energeticantoni
seriousadam
casualdomi

Using Standard Voices

Basic Usage

python
response = client.audio.speech.create(
    model="tts-1",
    input="Hello, welcome to our service.",
    voice="friendly"  # Maps to provider-specific voice
)

With Provider Override

python
response = client.audio.speech.create(
    model="eleven_multilingual_v2",
    input="Hello, welcome to our service.",
    voice="friendly"  # Maps to "rachel" on ElevenLabs
)

Direct Voice ID

Use provider-specific voice IDs directly:

python
# ElevenLabs voice ID
response = client.audio.speech.create(
    model="eleven_multilingual_v2",
    input="Hello!",
    voice="21m00Tcm4TlvDq8ikWAM"  # Rachel's voice ID
)

# OpenAI voice name
response = client.audio.speech.create(
    model="tts-1",
    input="Hello!",
    voice="alloy"
)

Custom Voice Mappings

Create your own voice mappings:

bash
curl -X POST https://api.gateflow.ai/v1/management/voice-mappings \
  -H "Authorization: Bearer gw_prod_admin_key" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "customer-support",
    "mappings": {
      "openai": "nova",
      "elevenlabs": "21m00Tcm4TlvDq8ikWAM"
    }
  }'

Use your custom mapping:

python
response = client.audio.speech.create(
    model="auto",
    input="How can I help you today?",
    voice="customer-support"
)

Voice Cloning (ElevenLabs)

Use cloned voices with ElevenLabs:

python
response = client.audio.speech.create(
    model="eleven_multilingual_v2",
    input="Hello from your custom voice!",
    voice="your_cloned_voice_id"
)

Voice Settings

Adjust voice parameters:

python
response = client.audio.speech.create(
    model="eleven_multilingual_v2",
    input="Hello!",
    voice="friendly",
    extra_body={
        "gateflow": {
            "voice_settings": {
                "stability": 0.5,
                "similarity_boost": 0.75,
                "style": 0.5,
                "speed": 1.0
            }
        }
    }
)
SettingRangeDescription
stability0.0-1.0Higher = more consistent, lower = more expressive
similarity_boost0.0-1.0How closely to match original voice
style0.0-1.0Exaggerate voice style (ElevenLabs only)
speed0.5-2.0Speech rate multiplier

Multi-Language Support

Standard voices support multiple languages:

python
# Same voice, different language
response = client.audio.speech.create(
    model="eleven_multilingual_v2",
    input="Bonjour, comment puis-je vous aider?",
    voice="friendly",
    extra_body={
        "gateflow": {
            "language": "fr"
        }
    }
)

Next Steps

Built with reliability in mind.