{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://catalog.lintel.tools/schemas/schemastore/eidolon-resource/_shared/latest--AudioUnit.json",
  "title": "AudioUnit",
  "x-lintel": {
    "source": "https://www.eidolonai.com/json_schema/v1/schemas/AudioUnit/AudioUnit.json",
    "sourceSha256": "f6f61940b06696e34a647652b1f83f8bb166cc7e48b35925a7fe353711b13249"
  },
  "type": "object",
  "properties": {
    "implementation": {
      "const": "AudioUnit",
      "title": "Implementation"
    },
    "text_to_speech_model": {
      "default": "tts-1-hd",
      "description": "The model to use for text to speech.",
      "enum": [
        "tts-1",
        "tts-1-hd"
      ],
      "title": "Text To Speech Model",
      "type": "string"
    },
    "text_to_speech_voice": {
      "default": "alloy",
      "description": "The voice to use for text to speech.",
      "enum": [
        "alloy",
        "echo",
        "fable",
        "onyx",
        "nova",
        "shimmer"
      ],
      "title": "Text To Speech Voice",
      "type": "string"
    },
    "speech_to_text_model": {
      "const": "whisper-1",
      "default": "whisper-1",
      "description": "The model to use for speech to text.",
      "title": "Speech To Text Model",
      "type": "string"
    },
    "speech_to_text_temperature": {
      "default": 0.3,
      "description": "The sampling temperature, between 0 and 1. Higher values like 0.8 will make the output more random, while lower values like 0.2 will make it more focused and deterministic. If set to 0, the model will use log probability to automatically increase the temperature until certain thresholds are hit.",
      "title": "Speech To Text Temperature",
      "type": "number"
    }
  },
  "additionalProperties": false,
  "required": [
    "implementation"
  ],
  "reference_details": {
    "clz": "eidolon_ai_sdk.apu.llm.open_ai_speech.OpenAiSpeech",
    "groups": [
      "LogicUnit",
      "AudioUnit"
    ],
    "name": "AudioUnit",
    "overrides": {}
  }
}
