Vapi · Schema

OpenAIVoice

AIVoiceAgentsRealtimeCPaaS

Properties

Name Type Description
cachingEnabled boolean This is the flag to toggle voice caching for the assistant.
provider string This is the voice provider that will be used.
voiceId object This is the provider-specific ID that will be used. Please note that ash, ballad, coral, sage, and verse may only be used with realtime models.
model string This is the model that will be used for text-to-speech.
instructions string This is a prompt that allows you to control the voice of your generated audio. Does not work with 'tts-1' or 'tts-1-hd' models.
speed number This is the speed multiplier that will be used.
chunkPlan object This is the plan for chunking the model output before it is sent to the voice provider.
fallbackPlan object This is the plan for voice provider fallbacks in the event that the primary voice provider fails.
View JSON Schema on GitHub

JSON Schema

vapi-openaivoice-schema.json Raw ↑
{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/OpenAIVoice",
  "title": "OpenAIVoice",
  "type": "object",
  "properties": {
    "cachingEnabled": {
      "type": "boolean",
      "description": "This is the flag to toggle voice caching for the assistant.",
      "example": true,
      "default": true
    },
    "provider": {
      "type": "string",
      "description": "This is the voice provider that will be used.",
      "enum": [
        "openai"
      ]
    },
    "voiceId": {
      "description": "This is the provider-specific ID that will be used.\nPlease note that ash, ballad, coral, sage, and verse may only be used with realtime models.",
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "alloy",
            "echo",
            "fable",
            "onyx",
            "nova",
            "shimmer",
            "marin",
            "cedar"
          ],
          "title": "Preset Voice Options"
        },
        {
          "type": "string",
          "title": "OpenAI Voice ID"
        }
      ]
    },
    "model": {
      "type": "string",
      "description": "This is the model that will be used for text-to-speech.",
      "enum": [
        "tts-1",
        "tts-1-hd",
        "gpt-4o-mini-tts"
      ]
    },
    "instructions": {
      "type": "string",
      "description": "This is a prompt that allows you to control the voice of your generated audio.\nDoes not work with 'tts-1' or 'tts-1-hd' models.",
      "maxLength": 10000
    },
    "speed": {
      "type": "number",
      "description": "This is the speed multiplier that will be used.",
      "minimum": 0.25,
      "maximum": 4,
      "example": null
    },
    "chunkPlan": {
      "description": "This is the plan for chunking the model output before it is sent to the voice provider.",
      "allOf": [
        {
          "$ref": "#/components/schemas/ChunkPlan"
        }
      ]
    },
    "fallbackPlan": {
      "description": "This is the plan for voice provider fallbacks in the event that the primary voice provider fails.",
      "allOf": [
        {
          "$ref": "#/components/schemas/FallbackPlan"
        }
      ]
    }
  },
  "required": [
    "provider",
    "voiceId"
  ]
}