Kfir Ochana
06/29/2025, 10:55 PMfirstMessageMode
is explicitly configured.
Expected Behavior:
The agent should generate and speak the first message using the configured custom voice according to the settings in firstMessageMode
.
Actual Behavior:
No voice generation request is sent for the first message when a custom voice is set, resulting in a silent start to the conversation.
Configuration Attempted:
- Set firstMessageMode
to 'assistant-speaks-first'
- Set firstMessageMode
to 'assistant-speaks-first-with-model-generated-message'
- Custom voice configured as per documentation
Documentation References:
- Custom TTS setup: https://docs.vapi.ai/customization/custom-voices/custom-tts
- First message configuration: https://docs.vapi.ai/api-reference/calls/create#request.body.assistant.firstMessage
Test Call ID:
57ce58fb-11f2-4574-a2a2-aed65706db97
started at Jun 29 2025 10:48 UTC
Additional Context:
The issue appears to be specific to custom voice configurations, as the behavior may work correctly with default voices. The logs from the test call above should show the missing voice generation request for the first message.Kfir Ochana
06/30/2025, 4:02 PMfirstMessage
(e.g., https://samplelib.com/lib/preview/mp3/sample-3s.mp3
) play successfully
- Built-in OpenAI voices work correctly:
json
"voice": {
"provider": "openai",
"voiceId": "nova",
"model": "gpt-4o-mini-tts"
}
Issue: Custom TTS models aren't playing the firstMessage
content at all.
Observation from call logs:
[LOG] Voice input: [first message text]
Missing expected log:
[CHECKPOINT] Assistant speech started
Actual problem: The TTS engine isn't being called for the first message (which isn't true for subsequent messages) when using custom voice configurations. Vapi appears to be skipping the first message entirely with custom TTS, rather than experiencing any latency or timeout issues.Vapi
07/01/2025, 7:54 AMjson
{
"voice": {
"provider": "custom-voice",
"server": {
"url": "https://your-tts-api.com/synthesize",
"secret": "your-secret-token-here",
"timeoutSeconds": 30
}
}
}
2. **First Message Configuration**: Verify that firstMessage
and firstMessageMode
are correctly set in the assistant's configuration:
json
{
"firstMessage": "Welcome to our service.",
"firstMessageMode": "assistant-speaks-first"
}
Vapi
07/01/2025, 7:54 AMjavascript
app.post('/api/synthesize', (req, res) => {
// Handle synthesizing request
res.setHeader('Content-Type', 'application/octet-stream');
res.send(audioData);
});
2. **Fallback Plan**: Consider adding a fallback voice to handle cases where the custom TTS might fail:
json
{
"fallbackPlan": {
"voices": [
{
"provider": "eleven-labs",
"voiceId": "21m00Tcm4TlvDq8ikWAM"
}
]
}
}
3. **Network Connectivity**: Ensure there’s no network issue between VAPI and your TTS server which might block the requests.
By following these steps, the assistant should correctly generate and speak the first message using the configured custom voice. For more details, you can refer to the [Custom TTS integration guide](https://docs.vapi.ai/customization/custom-voices/custom-tts) and [Custom voices documentation](https://docs.vapi.ai/customization/custom-voices/custom-voice).Kfir Ochana
07/01/2025, 12:14 PMKfir Ochana
07/01/2025, 12:14 PM"voice": {
"provider": "custom-voice",
"server": {
"url": TTS_SERVER_URL,
"timeoutSeconds": 30,
"secret": TTS_API_KEY,
"backoffPlan": {
"maxRetries": 3,
"baseDelaySeconds": 2
}
},
"cachingEnabled": False,
"fallbackPlan": {
"voices": [
{
"provider": "openai",
"voiceId": "nova",
"model": "gpt-4o-mini-tts"
}
]
}
},
# Set the first message
"firstMessage": "איזה כיף שענית לי!",
"firstMessageMode": "assistant-speaks-first"
Kfir Ochana
07/02/2025, 12:25 PMVapi
07/02/2025, 8:16 PMKfir Ochana
07/03/2025, 12:54 PMVapi
07/03/2025, 4:21 PMKfir Ochana
07/03/2025, 6:00 PMKfir Ochana
07/03/2025, 6:30 PMVapi
07/06/2025, 7:38 PMKfir Ochana
07/08/2025, 8:41 PMShubham Bajaj
07/09/2025, 8:54 PMShubham Bajaj
07/09/2025, 9:11 PMcustom-voice:https://vu2xxxxxer.com/:16000:d763e003e95b009cad12e55e535fec922f15a56bd5b1da747a3cc8c5f4213b71
, "Thanks for picking up the phone! Thanks for picking up the phone! Thanks for picking up the phone! Thanks for picking up the phone!"Shubham Bajaj
07/09/2025, 9:14 PMKfir Ochana
07/09/2025, 9:17 PMShubham Bajaj
07/09/2025, 9:26 PMKfir Ochana
07/09/2025, 9:27 PMShubham Bajaj
07/09/2025, 9:27 PMKfir Ochana
07/09/2025, 9:28 PMKfir Ochana
07/09/2025, 9:29 PMShubham Bajaj
07/09/2025, 9:30 PMKfir Ochana
07/09/2025, 10:09 PMShubham Bajaj
07/10/2025, 1:31 AMShubham Bajaj
07/10/2025, 1:38 AMKfir Ochana
07/10/2025, 1:40 AMKfir Ochana
07/10/2025, 1:41 AMVapi
07/11/2025, 5:51 AMKfir Ochana
07/14/2025, 12:42 AMVapi
07/15/2025, 3:46 AM