{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "#/components/schemas/FallbackElevenLabsVoice",
  "title": "FallbackElevenLabsVoice",
  "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": [
        "11labs"
      ]
    },
    "voiceId": {
      "description": "This is the provider-specific ID that will be used. Ensure the Voice is present in your 11Labs Voice Library.",
      "oneOf": [
        {
          "type": "string",
          "enum": [
            "burt",
            "marissa",
            "andrea",
            "sarah",
            "phillip",
            "steve",
            "joseph",
            "myra",
            "paula",
            "ryan",
            "drew",
            "paul",
            "mrb",
            "matilda",
            "mark"
          ],
          "title": "Preset Voice Options"
        },
        {
          "type": "string",
          "title": "11Labs Voice ID"
        }
      ]
    },
    "stability": {
      "type": "number",
      "description": "Defines the stability for voice settings.",
      "minimum": 0,
      "maximum": 1,
      "example": 0.5
    },
    "similarityBoost": {
      "type": "number",
      "description": "Defines the similarity boost for voice settings.",
      "minimum": 0,
      "maximum": 1,
      "example": 0.75
    },
    "style": {
      "type": "number",
      "description": "Defines the style for voice settings.",
      "minimum": 0,
      "maximum": 1,
      "example": 0
    },
    "useSpeakerBoost": {
      "type": "boolean",
      "description": "Defines the use speaker boost for voice settings.",
      "example": false
    },
    "speed": {
      "type": "number",
      "description": "Defines the speed for voice settings.",
      "minimum": 0.7,
      "maximum": 1.2,
      "example": 0.9
    },
    "optimizeStreamingLatency": {
      "type": "number",
      "description": "Defines the optimize streaming latency for voice settings. Defaults to 3.",
      "minimum": 0,
      "maximum": 4,
      "example": 3
    },
    "enableSsmlParsing": {
      "type": "boolean",
      "description": "This enables the use of https://elevenlabs.io/docs/speech-synthesis/prompting#pronunciation. Defaults to false to save latency.\n\n@default false",
      "example": false
    },
    "autoMode": {
      "type": "boolean",
      "description": "Defines the auto mode for voice settings. Defaults to false.",
      "example": false
    },
    "model": {
      "type": "string",
      "description": "This is the model that will be used. Defaults to 'eleven_turbo_v2' if not specified.",
      "enum": [
        "eleven_multilingual_v2",
        "eleven_turbo_v2",
        "eleven_turbo_v2_5",
        "eleven_flash_v2",
        "eleven_flash_v2_5",
        "eleven_monolingual_v1",
        "eleven_v3"
      ],
      "example": "eleven_turbo_v2_5"
    },
    "language": {
      "type": "string",
      "description": "This is the language (ISO 639-1) that is enforced for the model. Currently only Turbo v2.5 supports language enforcement. For other models, an error will be returned if language code is provided."
    },
    "pronunciationDictionaryLocators": {
      "description": "This is the pronunciation dictionary locators to use.",
      "type": "array",
      "items": {
        "$ref": "#/components/schemas/ElevenLabsPronunciationDictionaryLocator"
      }
    },
    "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"
  ]
}