Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🌿 ✨ [Scheduled] Update API Spec #236

Merged
merged 10 commits into from
Mar 7, 2025
Merged
Prev Previous commit
Next Next commit
feat(openapi): add support for Hume AI voices and GPT-4.5-preview model
fern-api[bot] committed Mar 2, 2025
commit 67329e02f19a06c489378972887931d954b3c9ef
67 changes: 63 additions & 4 deletions fern/apis/api/openapi.json
Original file line number Diff line number Diff line change
@@ -6197,11 +6197,12 @@
},
"sipVerb": {
"type": "object",
"description": "This specifies the SIP verb to use while transferring the call.\n- 'refer': Uses SIP REFER to transfer the call (default)\n- 'bye': Ends current call with SIP BYE",
"description": "This specifies the SIP verb to use while transferring the call.\n- 'refer': Uses SIP REFER to transfer the call (default)\n- 'bye': Ends current call with SIP BYE\n- 'dial': Uses SIP DIAL to transfer the call",
"default": "refer",
"enum": [
"refer",
"bye"
"bye",
"dial"
]
},
"twiml": {
@@ -7522,6 +7523,7 @@
"type": "string",
"description": "This is the OpenAI model that will be used.",
"enum": [
"gpt-4.5-preview",
"chatgpt-4o-latest",
"o3-mini",
"o1-preview",
@@ -7555,6 +7557,7 @@
"type": "array",
"description": "These are the fallback models that will be used if the primary model fails. This shouldn't be specified unless you have a specific reason to do so. Vapi will automatically find the fastest fallbacks that make sense.",
"enum": [
"gpt-4.5-preview",
"chatgpt-4o-latest",
"o3-mini",
"o1-preview",
@@ -7590,6 +7593,7 @@
"items": {
"type": "string",
"enum": [
"gpt-4.5-preview",
"chatgpt-4o-latest",
"o3-mini",
"o1-preview",
@@ -8605,6 +8609,10 @@
"$ref": "#/components/schemas/FallbackCartesiaVoice",
"title": "Cartesia"
},
{
"$ref": "#/components/schemas/FallbackHumeVoice",
"title": "Hume"
},
{
"$ref": "#/components/schemas/FallbackCustomVoice",
"title": "CustomVoice"
@@ -9958,6 +9966,51 @@
"voiceId"
]
},
"FallbackHumeVoice": {
"type": "object",
"properties": {
"provider": {
"type": "string",
"description": "This is the voice provider that will be used.",
"enum": [
"hume"
]
},
"model": {
"type": "string",
"description": "This is the model that will be used.",
"enum": [
"octave"
],
"example": "octave"
},
"voiceId": {
"type": "string",
"description": "The ID of the particular voice you want to use."
},
"isCustomHumeVoice": {
"type": "boolean",
"description": "Indicates whether the chosen voice is a preset Hume AI voice or a custom voice.",
"example": false
},
"description": {
"type": "string",
"description": "Natural language instructions describing how the synthesized speech should sound, including but not limited to tone, intonation, pacing, and accent (e.g., 'a soft, gentle voice with a strong British accent').\n\nIf a Voice is specified in the request, this description serves as acting instructions.\nIf no Voice is specified, a new voice is generated based on this description."
},
"chunkPlan": {
"description": "This is the plan for chunking the model output before it is sent to the voice provider.",
"allOf": [
{
"$ref": "#/components/schemas/ChunkPlan"
}
]
}
},
"required": [
"provider",
"voiceId"
]
},
"FallbackElevenLabsVoice": {
"type": "object",
"properties": {
@@ -14579,6 +14632,7 @@
"pipeline-error-neets-voice-failed",
"pipeline-error-smallest-ai-voice-failed",
"pipeline-error-neuphonic-voice-failed",
"pipeline-error-hume-voice-failed",
"pipeline-error-deepgram-transcriber-failed",
"pipeline-error-gladia-transcriber-failed",
"pipeline-error-speechmatics-transcriber-failed",
@@ -24288,12 +24342,12 @@
"minutesIncluded": {
"type": "number",
"description": "The number of minutes included in the subscription.",
"minimum": 1
"minimum": 0
},
"minutesUsed": {
"type": "number",
"description": "The number of minutes used in the subscription.",
"minimum": 1
"minimum": 0
},
"minutesUsedNextResetAt": {
"format": "date-time",
@@ -24656,6 +24710,7 @@
"cartesia",
"custom-voice",
"deepgram",
"hume",
"lmnt",
"neets",
"neuphonic",
@@ -25348,6 +25403,7 @@
"cartesia",
"custom-voice",
"deepgram",
"hume",
"lmnt",
"neets",
"neuphonic",
@@ -25365,6 +25421,7 @@
"cartesia",
"custom-voice",
"deepgram",
"hume",
"lmnt",
"neets",
"neuphonic",
@@ -26622,6 +26679,7 @@
"pipeline-error-neets-voice-failed",
"pipeline-error-smallest-ai-voice-failed",
"pipeline-error-neuphonic-voice-failed",
"pipeline-error-hume-voice-failed",
"pipeline-error-deepgram-transcriber-failed",
"pipeline-error-gladia-transcriber-failed",
"pipeline-error-speechmatics-transcriber-failed",
@@ -27426,6 +27484,7 @@
"pipeline-error-neets-voice-failed",
"pipeline-error-smallest-ai-voice-failed",
"pipeline-error-neuphonic-voice-failed",
"pipeline-error-hume-voice-failed",
"pipeline-error-deepgram-transcriber-failed",
"pipeline-error-gladia-transcriber-failed",
"pipeline-error-speechmatics-transcriber-failed",