{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "https://artifacts.apis.io/telnyx/json-schema/telnyx-voice-design-request-schema.json",
  "title": "VoiceDesignRequest",
  "description": "Request body for creating a new voice design or adding a version to an existing one. Omit `voice_design_id` to create a new design; include it to add a new version.",
  "x-generated": "2026-10-30",
  "x-method": "derived",
  "x-generator": "derive-json-schema.py",
  "x-source": "openapi/telnyx-voice-designs-api-openapi.yml#/components/schemas/VoiceDesignRequest",
  "properties": {
    "language": {
      "default": "Auto",
      "description": "Language for synthesis. Supported values: Auto, Chinese, English, Japanese, Korean, German, French, Russian, Portuguese, Spanish, Italian. Defaults to Auto.",
      "type": "string"
    },
    "max_new_tokens": {
      "description": "Maximum number of tokens to generate. Default: 2048.",
      "maximum": 4096,
      "minimum": 100,
      "type": "integer"
    },
    "name": {
      "description": "Name for the voice design. Required when creating a new design (`voice_design_id` is not provided); ignored when adding a version. Cannot be a UUID.",
      "maxLength": 255,
      "minLength": 1,
      "type": "string"
    },
    "prompt": {
      "description": "Natural language description of the voice style, e.g. 'Speak in a warm, friendly tone with a slight British accent'.",
      "type": "string"
    },
    "provider": {
      "default": "telnyx",
      "description": "Voice synthesis provider. `telnyx` uses the Qwen3TTS model; `minimax` uses the Minimax speech models. Case-insensitive. Defaults to `telnyx`.",
      "enum": [
        "telnyx",
        "minimax",
        "Telnyx",
        "Minimax"
      ],
      "type": "string"
    },
    "repetition_penalty": {
      "description": "Repetition penalty to reduce repeated patterns in generated audio. Default: 1.05.",
      "format": "float",
      "maximum": 2.0,
      "minimum": 1.0,
      "type": "number"
    },
    "temperature": {
      "description": "Sampling temperature controlling randomness. Higher values produce more varied output. Default: 0.9.",
      "format": "float",
      "maximum": 2.0,
      "minimum": 0.0,
      "type": "number"
    },
    "text": {
      "description": "Sample text to synthesize for this voice design.",
      "type": "string"
    },
    "top_k": {
      "description": "Top-k sampling parameter — limits the token vocabulary considered at each step. Default: 50.",
      "maximum": 1000,
      "minimum": 1,
      "type": "integer"
    },
    "top_p": {
      "description": "Top-p (nucleus) sampling parameter — cumulative probability cutoff for token selection. Default: 1.0.",
      "format": "float",
      "maximum": 1.0,
      "minimum": 0.0,
      "type": "number"
    },
    "voice_design_id": {
      "description": "ID of an existing voice design to add a new version to. When provided, a new version is created instead of a new design.",
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "text",
    "prompt"
  ],
  "type": "object"
}