From c1c782df24f3cd08703d11c5e8c63e79334fecf1 Mon Sep 17 00:00:00 2001 From: Telnyx Engineering Date: Wed, 8 Apr 2026 19:59:18 +0000 Subject: [PATCH] chore: sync OpenAPI spec from internal repo Source commit: team-telnyx/openapi-internal@dd6d11b This is an automated sync from the internal OpenAPI repository. --- openapi/spec3.json | 452 +++++++++++++++++++++++++++++++++++---------- openapi/spec3.yml | 375 ++++++++++++++++++++++++++++--------- 2 files changed, 634 insertions(+), 193 deletions(-) diff --git a/openapi/spec3.json b/openapi/spec3.json index c41a2a9..3a55064 100644 --- a/openapi/spec3.json +++ b/openapi/spec3.json @@ -48702,7 +48702,7 @@ "/voice_clones/from_upload": { "post": { "summary": "Create a voice clone from an audio file upload", - "description": "Creates a new voice clone by uploading an audio file directly. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best results, provide 5\u201310 seconds of clear speech. Maximum file size: 2MB.", + "description": "Creates a new voice clone by uploading an audio file directly. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best results, provide 5\u201310 seconds of clear speech. Maximum file size: 5MB for Telnyx, 20MB for Minimax.", "operationId": "createVoiceCloneFromUpload", "tags": [ "Voice Clones" @@ -48728,6 +48728,16 @@ } } }, + "202": { + "description": "Voice clone accepted \u2014 on-prem import in progress (Ultra model). Poll GET /voice_clones/{id} to check status.", + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/VoiceCloneResponse" + } + } + } + }, "400": { "description": "Bad request \u2014 the audio file is invalid, unsupported, or exceeds the size limit.", "content": { @@ -95793,6 +95803,122 @@ "bucket_name" ] }, + "MinimaxClone": { + "type": "object", + "description": "Upload-based voice clone using the Minimax provider.", + "required": [ + "audio_file", + "name", + "language", + "gender", + "provider" + ], + "properties": { + "audio_file": { + "type": "string", + "format": "binary", + "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of clear, uninterrupted speech. Maximum size: 20MB." + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name for the voice clone." + }, + "language": { + "type": "string", + "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$", + "description": "ISO 639-1 language code from the Minimax language set." + }, + "gender": { + "type": "string", + "enum": [ + "male", + "female", + "neutral" + ], + "description": "Gender of the voice clone." + }, + "ref_text": { + "type": "string", + "description": "Optional transcript of the audio file. Providing this improves clone quality." + }, + "label": { + "type": "string", + "description": "Optional custom label describing the voice style." + }, + "model_id": { + "type": [ + "string", + "null" + ], + "enum": [ + "speech-2.8-turbo", + null + ], + "description": "TTS model identifier. Nullable \u2014 defaults to speech-2.8-turbo." + }, + "provider": { + "type": "string", + "enum": [ + "minimax", + "Minimax" + ], + "description": "Voice synthesis provider. Must be `minimax`." + } + } + }, + "MinimaxDesignClone": { + "type": "object", + "description": "Create a voice clone from a voice design using the Minimax provider.", + "required": [ + "name", + "voice_design_id", + "language", + "gender", + "provider" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "description": "Name for the voice clone." + }, + "voice_design_id": { + "type": "string", + "format": "uuid", + "description": "UUID of the source voice design to clone." + }, + "language": { + "type": "string", + "description": "ISO 639-1 language code for the clone. Supports the Minimax language set." + }, + "gender": { + "type": "string", + "enum": [ + "male", + "female", + "neutral" + ], + "description": "Gender of the voice clone." + }, + "provider": { + "type": "string", + "enum": [ + "minimax", + "Minimax" + ], + "description": "Voice synthesis provider. Must be `minimax`." + } + }, + "example": { + "name": "clone-narrator", + "voice_design_id": "550e8400-e29b-41d4-a716-446655440000", + "language": "en", + "gender": "male", + "provider": "minimax" + } + }, "MinimaxProviderParams": { "type": "object", "description": "Minimax provider-specific parameters.", @@ -116083,6 +116209,58 @@ ], "title": "TelnyxConversationChannel" }, + "TelnyxDesignClone": { + "type": "object", + "description": "Create a voice clone from a voice design using the Telnyx provider.", + "required": [ + "name", + "voice_design_id", + "language", + "gender" + ], + "properties": { + "name": { + "type": "string", + "minLength": 1, + "maxLength": 255, + "description": "Name for the voice clone." + }, + "voice_design_id": { + "type": "string", + "format": "uuid", + "description": "UUID of the source voice design to clone." + }, + "language": { + "type": "string", + "description": "ISO 639-1 language code for the clone. Supports the combined Telnyx language set." + }, + "gender": { + "type": "string", + "enum": [ + "male", + "female", + "neutral" + ], + "description": "Gender of the voice clone." + }, + "provider": { + "type": "string", + "enum": [ + "telnyx", + "Telnyx" + ], + "default": "telnyx", + "description": "Voice synthesis provider. Defaults to `telnyx`." + } + }, + "example": { + "name": "clone-narrator", + "voice_design_id": "550e8400-e29b-41d4-a716-446655440000", + "language": "en", + "gender": "male", + "provider": "telnyx" + } + }, "TelnyxDownstreamCampaign": { "title": "TelnyxDownstreamCampaign", "required": [ @@ -116421,6 +116599,70 @@ } } }, + "TelnyxQwen3TTSClone": { + "type": "object", + "description": "Upload-based voice clone using the Telnyx Qwen3TTS model (default).", + "required": [ + "audio_file", + "name", + "language", + "gender", + "provider" + ], + "properties": { + "audio_file": { + "type": "string", + "format": "binary", + "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of clear, uninterrupted speech. Maximum size: 5MB." + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name for the voice clone." + }, + "language": { + "type": "string", + "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$", + "description": "ISO 639-1 language code from the Qwen language set." + }, + "gender": { + "type": "string", + "enum": [ + "male", + "female", + "neutral" + ], + "description": "Gender of the voice clone." + }, + "ref_text": { + "type": "string", + "description": "Optional transcript of the audio file. Providing this improves clone quality." + }, + "label": { + "type": "string", + "description": "Optional custom label describing the voice style." + }, + "model_id": { + "type": [ + "string", + "null" + ], + "enum": [ + "Qwen3TTS", + null + ], + "description": "TTS model identifier. Nullable/omittable \u2014 defaults to Qwen3TTS." + }, + "provider": { + "type": "string", + "enum": [ + "telnyx", + "Telnyx" + ], + "description": "Voice synthesis provider. Must be `telnyx`." + } + } + }, "TelnyxTranscriptionLanguage": { "title": "Telnyx transcription engine list of languages", "type": "string", @@ -116530,6 +116772,67 @@ "auto_detect" ] }, + "TelnyxUltraClone": { + "type": "object", + "description": "Upload-based voice clone using the Telnyx Ultra model.", + "required": [ + "audio_file", + "name", + "language", + "gender", + "model_id", + "provider" + ], + "properties": { + "audio_file": { + "type": "string", + "format": "binary", + "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of clear, uninterrupted speech. Maximum size: 5MB." + }, + "name": { + "type": "string", + "maxLength": 255, + "description": "Name for the voice clone." + }, + "language": { + "type": "string", + "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$", + "description": "ISO 639-1 language code from the Ultra language set (40 languages)." + }, + "gender": { + "type": "string", + "enum": [ + "male", + "female", + "neutral" + ], + "description": "Gender of the voice clone." + }, + "ref_text": { + "type": "string", + "description": "Optional transcript of the audio file. Providing this improves clone quality." + }, + "label": { + "type": "string", + "description": "Optional custom label describing the voice style." + }, + "model_id": { + "type": "string", + "enum": [ + "Ultra" + ], + "description": "TTS model identifier. Must be `Ultra`." + }, + "provider": { + "type": "string", + "enum": [ + "telnyx", + "Telnyx" + ], + "description": "Voice synthesis provider. Must be `telnyx`." + } + } + }, "TelnyxVoiceSettings": { "type": "object", "title": "Telnyx Voice Settings", @@ -125132,7 +125435,26 @@ "string", "null" ], - "description": "Provider-specific voice identifier used for TTS synthesis. For Telnyx clones this equals the clone ID; for Minimax it is the Minimax-assigned voice ID." + "description": "Provider-specific voice identifier used for TTS synthesis. May differ from the clone UUID depending on the provider and model." + }, + "model_id": { + "type": "string", + "enum": [ + "Qwen3TTS", + "Ultra", + "speech-2.8-turbo" + ], + "description": "TTS model identifier for the voice clone." + }, + "status": { + "type": "string", + "enum": [ + "active", + "pending", + "failed", + "expired" + ], + "description": "Clone status. pending for Ultra clones while on-prem import is in progress, active once ready, failed if verification timed out, expired if not kept alive." } } }, @@ -125153,58 +125475,24 @@ } }, "VoiceCloneRequest": { - "type": "object", "description": "Request body for creating a voice clone from an existing voice design.", - "required": [ - "name", - "voice_design_id", - "language", - "gender" - ], - "properties": { - "name": { - "type": "string", - "minLength": 1, - "maxLength": 255, - "description": "Name for the voice clone." - }, - "voice_design_id": { - "type": "string", - "format": "uuid", - "description": "UUID of the source voice design to clone." - }, - "language": { - "type": "string", - "description": "ISO 639-1 language code for the clone (e.g. `en`, `fr`, `de`)." - }, - "gender": { - "type": "string", - "enum": [ - "male", - "female", - "neutral" - ], - "description": "Gender of the voice clone." - }, - "provider": { - "type": "string", - "enum": [ - "telnyx", - "minimax", - "Telnyx", - "Minimax" - ], - "default": "telnyx", - "description": "Voice synthesis provider. Case-insensitive. Defaults to `telnyx`." + "discriminator": { + "propertyName": "provider", + "mapping": { + "telnyx": "#/components/schemas/TelnyxDesignClone", + "Telnyx": "#/components/schemas/TelnyxDesignClone", + "minimax": "#/components/schemas/MinimaxDesignClone", + "Minimax": "#/components/schemas/MinimaxDesignClone" } }, - "example": { - "name": "clone-narrator", - "voice_design_id": "550e8400-e29b-41d4-a716-446655440000", - "language": "en", - "gender": "male", - "provider": "telnyx" - } + "oneOf": [ + { + "$ref": "#/components/schemas/TelnyxDesignClone" + }, + { + "$ref": "#/components/schemas/MinimaxDesignClone" + } + ] }, "VoiceCloneResponse": { "type": "object", @@ -125230,7 +125518,9 @@ "provider_supported_models": [ "Qwen3TTS" ], - "provider_voice_id": "660f9511-f3ac-52e5-b827-557766551111" + "provider_voice_id": "660f9511-f3ac-52e5-b827-557766551111", + "model_id": "Qwen3TTS", + "status": "active" } } }, @@ -125266,58 +125556,18 @@ } }, "VoiceCloneUploadRequest": { - "type": "object", - "description": "Multipart form data for creating a voice clone from a direct audio upload.", - "required": [ - "audio_file", - "language", - "name" - ], - "properties": { - "audio_file": { - "type": "string", - "format": "binary", - "description": "Audio file to clone the voice from. Supported formats: WAV, MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of clear, uninterrupted speech. Maximum size: 5MB for Telnyx, 20MB for Minimax." - }, - "name": { - "type": "string", - "maxLength": 255, - "description": "Name for the voice clone." - }, - "language": { - "type": "string", - "pattern": "^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$", - "description": "ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic detection." - }, - "gender": { - "type": "string", - "enum": [ - "male", - "female", - "neutral" - ], - "description": "Gender of the voice clone." - }, - "ref_text": { - "type": "string", - "description": "Optional transcript of the audio file. Providing this improves clone quality." + "description": "Multipart form data for creating a voice clone from a direct audio upload. Maximum file size: 5MB for Telnyx, 20MB for Minimax.", + "oneOf": [ + { + "$ref": "#/components/schemas/TelnyxQwen3TTSClone" }, - "label": { - "type": "string", - "description": "Optional custom label describing the voice style. If omitted, falls back to the source design's prompt text." + { + "$ref": "#/components/schemas/TelnyxUltraClone" }, - "provider": { - "type": "string", - "enum": [ - "telnyx", - "minimax", - "Telnyx", - "Minimax" - ], - "default": "telnyx", - "description": "Voice synthesis provider. Case-insensitive. Defaults to `telnyx`." + { + "$ref": "#/components/schemas/MinimaxClone" } - } + ] }, "VoiceConfig": { "description": "The voice to be used by the voice assistant. Currently we support ElevenLabs, Telnyx and AWS voices.\n\n **Supported Providers:**\n- **AWS:** Use `AWS.Polly.` (e.g., `AWS.Polly.Joanna`). For neural voices, which provide more realistic, human-like speech, append `-Neural` to the `VoiceId` (e.g., `AWS.Polly.Joanna-Neural`). Check the [available voices](https://docs.aws.amazon.com/polly/latest/dg/available-voices.html) for compatibility.\n- **Azure:** Use `Azure.. (e.g. Azure.en-CA-ClaraNeural, Azure.en-CA-LiamNeural, Azure.en-US-BrianMultilingualNeural, Azure.en-US-Ava:DragonHDLatestNeural. For a complete list of voices, go to [Azure Voice Gallery](https://speech.microsoft.com/portal/voicegallery).)\n- **ElevenLabs:** Use `ElevenLabs..` (e.g., `ElevenLabs.BaseModel.John`). The `ModelId` part is optional. To use ElevenLabs, you must provide your ElevenLabs API key as an integration secret under `\"voice_settings\": {\"api_key_ref\": \"\"}`. See [integration secrets documentation](https://developers.telnyx.com/api/secrets-manager/integration-secrets/create-integration-secret) for details. Check [available voices](https://elevenlabs.io/docs/api-reference/get-voices).\n - **Telnyx:** Use `Telnyx..`\n- **Inworld:** Use `Inworld..` (e.g., `Inworld.Mini.Loretta`, `Inworld.Max.Oliver`). Supported models: `Mini`, `Max`.", diff --git a/openapi/spec3.yml b/openapi/spec3.yml index 42133cb..183fa24 100644 --- a/openapi/spec3.yml +++ b/openapi/spec3.yml @@ -35649,6 +35649,100 @@ components: - provider_auth - bucket_name type: object + MinimaxClone: + description: Upload-based voice clone using the Minimax provider. + properties: + audio_file: + description: "Audio file to clone the voice from. Supported formats: WAV,\ + \ MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of\ + \ clear, uninterrupted speech. Maximum size: 20MB." + format: binary + type: string + gender: + description: Gender of the voice clone. + enum: + - male + - female + - neutral + type: string + label: + description: Optional custom label describing the voice style. + type: string + language: + description: ISO 639-1 language code from the Minimax language set. + pattern: ^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$ + type: string + model_id: + description: "TTS model identifier. Nullable \u2014 defaults to speech-2.8-turbo." + enum: + - speech-2.8-turbo + - null + type: + - string + - 'null' + name: + description: Name for the voice clone. + maxLength: 255 + type: string + provider: + description: Voice synthesis provider. Must be `minimax`. + enum: + - minimax + - Minimax + type: string + ref_text: + description: Optional transcript of the audio file. Providing this improves + clone quality. + type: string + required: + - audio_file + - name + - language + - gender + - provider + type: object + MinimaxDesignClone: + description: Create a voice clone from a voice design using the Minimax provider. + example: + gender: male + language: en + name: clone-narrator + provider: minimax + voice_design_id: 550e8400-e29b-41d4-a716-446655440000 + properties: + gender: + description: Gender of the voice clone. + enum: + - male + - female + - neutral + type: string + language: + description: ISO 639-1 language code for the clone. Supports the Minimax + language set. + type: string + name: + description: Name for the voice clone. + maxLength: 255 + minLength: 1 + type: string + provider: + description: Voice synthesis provider. Must be `minimax`. + enum: + - minimax + - Minimax + type: string + voice_design_id: + description: UUID of the source voice design to clone. + format: uuid + type: string + required: + - name + - voice_design_id + - language + - gender + - provider + type: object MinimaxProviderParams: description: Minimax provider-specific parameters. properties: @@ -52125,6 +52219,48 @@ components: - web_chat title: TelnyxConversationChannel type: string + TelnyxDesignClone: + description: Create a voice clone from a voice design using the Telnyx provider. + example: + gender: male + language: en + name: clone-narrator + provider: telnyx + voice_design_id: 550e8400-e29b-41d4-a716-446655440000 + properties: + gender: + description: Gender of the voice clone. + enum: + - male + - female + - neutral + type: string + language: + description: ISO 639-1 language code for the clone. Supports the combined + Telnyx language set. + type: string + name: + description: Name for the voice clone. + maxLength: 255 + minLength: 1 + type: string + provider: + default: telnyx + description: Voice synthesis provider. Defaults to `telnyx`. + enum: + - telnyx + - Telnyx + type: string + voice_design_id: + description: UUID of the source voice design to clone. + format: uuid + type: string + required: + - name + - voice_design_id + - language + - gender + type: object TelnyxDownstreamCampaign: description: Campaign is generated by the 10DLC registry once the corresponding campaign request is approved. Each campaign is assigned a unique identifier @@ -52418,6 +52554,59 @@ components: minimum: 0.0 type: number type: object + TelnyxQwen3TTSClone: + description: Upload-based voice clone using the Telnyx Qwen3TTS model (default). + properties: + audio_file: + description: "Audio file to clone the voice from. Supported formats: WAV,\ + \ MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of\ + \ clear, uninterrupted speech. Maximum size: 5MB." + format: binary + type: string + gender: + description: Gender of the voice clone. + enum: + - male + - female + - neutral + type: string + label: + description: Optional custom label describing the voice style. + type: string + language: + description: ISO 639-1 language code from the Qwen language set. + pattern: ^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$ + type: string + model_id: + description: "TTS model identifier. Nullable/omittable \u2014 defaults to\ + \ Qwen3TTS." + enum: + - Qwen3TTS + - null + type: + - string + - 'null' + name: + description: Name for the voice clone. + maxLength: 255 + type: string + provider: + description: Voice synthesis provider. Must be `telnyx`. + enum: + - telnyx + - Telnyx + type: string + ref_text: + description: Optional transcript of the audio file. Providing this improves + clone quality. + type: string + required: + - audio_file + - name + - language + - gender + - provider + type: object TelnyxTranscriptionLanguage: default: en description: Language to use for speech recognition @@ -52525,6 +52714,56 @@ components: example: en title: Telnyx transcription engine list of languages type: string + TelnyxUltraClone: + description: Upload-based voice clone using the Telnyx Ultra model. + properties: + audio_file: + description: "Audio file to clone the voice from. Supported formats: WAV,\ + \ MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of\ + \ clear, uninterrupted speech. Maximum size: 5MB." + format: binary + type: string + gender: + description: Gender of the voice clone. + enum: + - male + - female + - neutral + type: string + label: + description: Optional custom label describing the voice style. + type: string + language: + description: ISO 639-1 language code from the Ultra language set (40 languages). + pattern: ^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$ + type: string + model_id: + description: TTS model identifier. Must be `Ultra`. + enum: + - Ultra + type: string + name: + description: Name for the voice clone. + maxLength: 255 + type: string + provider: + description: Voice synthesis provider. Must be `telnyx`. + enum: + - telnyx + - Telnyx + type: string + ref_text: + description: Optional transcript of the audio file. Providing this improves + clone quality. + type: string + required: + - audio_file + - name + - language + - gender + - model_id + - provider + type: object TelnyxVoiceSettings: properties: type: @@ -59609,6 +59848,13 @@ components: type: - string - 'null' + model_id: + description: TTS model identifier for the voice clone. + enum: + - Qwen3TTS + - Ultra + - speech-2.8-turbo + type: string name: description: Name of the voice clone. type: string @@ -59627,8 +59873,7 @@ components: type: array provider_voice_id: description: Provider-specific voice identifier used for TTS synthesis. - For Telnyx clones this equals the clone ID; for Minimax it is the Minimax-assigned - voice ID. + May differ from the clone UUID depending on the provider and model. type: - string - 'null' @@ -59649,6 +59894,16 @@ components: type: - integer - 'null' + status: + description: Clone status. pending for Ultra clones while on-prem import + is in progress, active once ready, failed if verification timed out, expired + if not kept alive. + enum: + - active + - pending + - failed + - expired + type: string updated_at: description: Timestamp when the voice clone was last updated. format: date-time @@ -59668,47 +59923,16 @@ components: VoiceCloneRequest: description: Request body for creating a voice clone from an existing voice design. - example: - gender: male - language: en - name: clone-narrator - provider: telnyx - voice_design_id: 550e8400-e29b-41d4-a716-446655440000 - properties: - gender: - description: Gender of the voice clone. - enum: - - male - - female - - neutral - type: string - language: - description: ISO 639-1 language code for the clone (e.g. `en`, `fr`, `de`). - type: string - name: - description: Name for the voice clone. - maxLength: 255 - minLength: 1 - type: string - provider: - default: telnyx - description: Voice synthesis provider. Case-insensitive. Defaults to `telnyx`. - enum: - - telnyx - - minimax - - Telnyx - - Minimax - type: string - voice_design_id: - description: UUID of the source voice design to clone. - format: uuid - type: string - required: - - name - - voice_design_id - - language - - gender - type: object + discriminator: + mapping: + Minimax: '#/components/schemas/MinimaxDesignClone' + Telnyx: '#/components/schemas/TelnyxDesignClone' + minimax: '#/components/schemas/MinimaxDesignClone' + telnyx: '#/components/schemas/TelnyxDesignClone' + propertyName: provider + oneOf: + - $ref: '#/components/schemas/TelnyxDesignClone' + - $ref: '#/components/schemas/MinimaxDesignClone' VoiceCloneResponse: description: Response envelope for a single voice clone. example: @@ -59718,6 +59942,7 @@ components: id: 660f9511-f3ac-52e5-b827-557766551111 label: Speak in a warm, friendly tone language: en + model_id: Qwen3TTS name: clone-narrator provider: Telnyx provider_supported_models: @@ -59726,6 +59951,7 @@ components: record_type: voice_clone source_voice_design_id: 550e8400-e29b-41d4-a716-446655440000 source_voice_design_version: 1 + status: active updated_at: '2024-01-01T00:00:00Z' properties: data: @@ -59755,54 +59981,12 @@ components: - name type: object VoiceCloneUploadRequest: - description: Multipart form data for creating a voice clone from a direct audio - upload. - properties: - audio_file: - description: "Audio file to clone the voice from. Supported formats: WAV,\ - \ MP3, FLAC, OGG, M4A. For best quality, provide 5\u201310 seconds of\ - \ clear, uninterrupted speech. Maximum size: 5MB for Telnyx, 20MB for\ - \ Minimax." - format: binary - type: string - gender: - description: Gender of the voice clone. - enum: - - male - - female - - neutral - type: string - label: - description: Optional custom label describing the voice style. If omitted, - falls back to the source design's prompt text. - type: string - language: - description: ISO 639-1 language code (e.g. `en`, `fr`) or `auto` for automatic - detection. - pattern: ^([Aa]uto|[a-z]{2,3}(-[A-Za-z0-9]{2,8})*)$ - type: string - name: - description: Name for the voice clone. - maxLength: 255 - type: string - provider: - default: telnyx - description: Voice synthesis provider. Case-insensitive. Defaults to `telnyx`. - enum: - - telnyx - - minimax - - Telnyx - - Minimax - type: string - ref_text: - description: Optional transcript of the audio file. Providing this improves - clone quality. - type: string - required: - - audio_file - - language - - name - type: object + description: 'Multipart form data for creating a voice clone from a direct audio + upload. Maximum file size: 5MB for Telnyx, 20MB for Minimax.' + oneOf: + - $ref: '#/components/schemas/TelnyxQwen3TTSClone' + - $ref: '#/components/schemas/TelnyxUltraClone' + - $ref: '#/components/schemas/MinimaxClone' VoiceConfig: default: Telnyx.KokoroTTS.af description: "The voice to be used by the voice assistant. Currently we support\ @@ -98354,7 +98538,7 @@ paths: post: description: "Creates a new voice clone by uploading an audio file directly.\ \ Supported formats: WAV, MP3, FLAC, OGG, M4A. For best results, provide 5\u2013\ - 10 seconds of clear speech. Maximum file size: 2MB." + 10 seconds of clear speech. Maximum file size: 5MB for Telnyx, 20MB for Minimax." operationId: createVoiceCloneFromUpload requestBody: content: @@ -98369,6 +98553,13 @@ paths: schema: $ref: '#/components/schemas/VoiceCloneResponse' description: Voice clone created successfully from the uploaded audio. + '202': + content: + application/json: + schema: + $ref: '#/components/schemas/VoiceCloneResponse' + description: "Voice clone accepted \u2014 on-prem import in progress (Ultra\ + \ model). Poll GET /voice_clones/{id} to check status." '400': content: application/json: