Skip to content

Commit bc4bdde

Browse files
committed
Merge remote-tracking branch 'origin/main' into fern/update-api-specs
2 parents 480541a + 47b2017 commit bc4bdde

File tree

3 files changed

+30
-21
lines changed

3 files changed

+30
-21
lines changed

fern/changelog/2025-02-20.mdx

Lines changed: 25 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,25 @@
1+
## What's New
2+
1. **Configure 16 text normalization processors in [FormatPlan](https://api.vapi.ai/api#:~:text=FormatPlan)**: You can now control how text is transcribed and spoken for currency, dates, etc. by setting the `formattersEnabled` array in `Assistant.voice.chunkPlan.formatPlan` (not specifying `formattersEnabled` defaults to all formatters being enabled). See all available formatters in the [FormatPlan.formattersEnabled reference](https://api.vapi.ai/api#:~:text=FormatPlan).
3+
4+
2. **Deepgram [Keyterm Prompting](https://developers.deepgram.com/docs/keyterm)**: The `keyterm` array in [DeepgramTranscriber](https://api.vapi.ai/api#:~:text=DeepgramTranscriber) implements Deepgram's [Keyterm Prompting](https://developers.deepgram.com/docs/keyterm) technology, boosting recall for domain-specific terminology. Compared to the existing `keywords` field:
5+
6+
| Feature | `keywords` | `keyterm` |
7+
|------------------|--------------------|--------------------|
8+
| Recall Boost | 15-20% | Up to 90% |
9+
| Format | Word:Weight | Raw phrases |
10+
| Use Case | General vocabulary | Critical terms |
11+
12+
You should reserve `keyterm` for compliance-sensitive terms like medical codes while using `keywords` for proper nouns / brand names.
13+
14+
3. **Subscription usage tracking improvements**: The `minutesUsedNextResetAt` timestamp now appears in all subscription tiers (not just enterprise), exposed at `subscription.minutesUsedNextResetAt` for predictable billing cycle integration. Combine with existing `minutesUsed` and `minutesIncluded` metrics to build custom usage dashboards, regardless of subscription tier.
15+
16+
4. **Neuphonic voice synthesis**: You can now configure Neuphonic as a voice provider with `Assistant.voice[provider="neuphonic"]`. Handle appropriate errors with `pipeline-error-neuphonic-voice-failed`. Test latency thresholds as Neuphonic requires 200ms additional processing time compared to ElevenLabs.
17+
18+
<Frame caption="Neuphonic Voice Synthesis">
19+
<img src="../static/images/changelog/neuphonic.png" alt="Neuphonic Voice Synthesis" />
20+
</Frame>
21+
22+
5. **Support for pre-transfer announcements in [ClientInboundMessageTransfer](https://api.vapi.ai/api#:~:text=ClientInboundMessageTransfer)**: The `content` field in `ClientInboundMessageTransfer` now supports pre-transfer announcements ("Connecting you to billing...") before SIP/number routing. Implement via WebSocket messages using type: "transfer" with destination object.
23+
24+
### Deprecation Notice
25+
<Warning>**OrgWithOrgUser** is now deprecated, and impacts endpoints returning organization-user composites. This has been replaced with separate [`Org`](https://api.vapi.ai/api#:~:text=Org) and [`User`](https://api.vapi.ai/api#:~:text=User) schemas for better clarity and consistency.</Warning>
112 KB
Loading

fern/voice-fallback-plan.mdx

Lines changed: 5 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -10,9 +10,11 @@ slug: voice-fallback-plan
1010

1111
## Introduction
1212

13-
By default, if an assistant's primary voice experiences any failure, Vapi will automatically attempt to use other available voices to continue the call. While this ensures call continuity, you might want more control over which specific voices are used as fallbacks.
13+
Voice fallback plans give you the ability to continue your call in the event that your primary voice fails. Your assistant will sequentially fallback to only the voices you configure within your plan, in the exact order you specify.
1414

15-
Fallback plans give you precise control over the fallback sequence. Your assistant will sequentially fallback to only the voices you configure within your plan, in the exact order you specify.
15+
<Note>
16+
Without a fallback plan configured, your call will end with an error in the event that your chosen voice provider fails.
17+
</Note>
1618

1719
## How It Works
1820

@@ -22,10 +24,6 @@ When a voice failure occurs, Vapi will:
2224
- Switch to the first fallback voice in your plan
2325
- Continue through your specified list if subsequent failures occur
2426
- Terminate only if all voices in your plan have failed
25-
3. If no custom fallback plan is configured:
26-
- Automatically switch to other available voices
27-
- Continue attempting different voices
28-
- Terminate only if all available voices have failed
2927

3028
## Configuration
3129

@@ -54,25 +52,11 @@ Add the `fallbackPlan` property to your assistant's voice configuration, and spe
5452
}
5553
```
5654

57-
Although **not recommended**, you may choose to disable the default fallback behavior by providing an empty list of voices in your fallback plan:
58-
59-
```json
60-
{
61-
"voice": {
62-
"provider": "openai",
63-
"voiceId": "shimmer",
64-
"fallbackPlan": {
65-
"voices": []
66-
}
67-
}
68-
}
69-
```
70-
7155
## Best practices
7256

7357
- Use <b>different providers</b> for your fallback voices to protect against provider-wide outages.
7458
- Select voices with **similar characteristics** (tone, accent, gender) to maintain consistency in the user experience.
7559

7660
## How will pricing work?
7761

78-
There is no change to the pricing of the voices. Your call will not incur any extra fees while using fallback voices, and you will be able to see the cost for each voice in your end-of-call report.
62+
There is no change to the pricing of the voices. Your call will not incur any extra fees while using fallback voices, and you will be able to see the cost for each voice in your end-of-call report.

0 commit comments

Comments
 (0)