Appearance
Voice Mapping
GateFlow provides standardized voice personas that automatically map to the best equivalent voice on each TTS provider.
Standard Voices
| Voice ID | Persona | Characteristics |
|---|---|---|
professional | Business | Clear, authoritative, confident |
friendly | Conversational | Warm, approachable, welcoming |
calm | Soothing | Measured, relaxed, reassuring |
energetic | Upbeat | Enthusiastic, dynamic, engaging |
serious | Formal | Deliberate, precise, professional |
casual | Relaxed | Natural, informal, easy-going |
Provider Mappings
OpenAI TTS
| GateFlow Voice | OpenAI Voice |
|---|---|
professional | onyx |
friendly | alloy |
calm | nova |
energetic | shimmer |
serious | fable |
casual | echo |
ElevenLabs
| GateFlow Voice | ElevenLabs Voice |
|---|---|
professional | josh |
friendly | rachel |
calm | bella |
energetic | antoni |
serious | adam |
casual | domi |
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
}
}
}
)| Setting | Range | Description |
|---|---|---|
stability | 0.0-1.0 | Higher = more consistent, lower = more expressive |
similarity_boost | 0.0-1.0 | How closely to match original voice |
style | 0.0-1.0 | Exaggerate voice style (ElevenLabs only) |
speed | 0.5-2.0 | Speech 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
- Pipeline Templates - Pre-configured voice pipelines
- Streaming Speech - Real-time audio generation