> ## Documentation Index
> Fetch the complete documentation index at: https://documentation.uponai.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Clone voice

> Clone a custom voice from uploaded source audio files.



## OpenAPI

````yaml /openapi.json post /api/voices/clone
openapi: 3.1.0
info:
  title: UponAI Platform API
  version: '2026-04-20'
  description: >-
    Programmatic control plane for configuring UponAI agents, LLM
    configurations, conversation flows, knowledge bases, calls, chats, voices,
    and test tooling. All endpoints require a bearer token obtained from your
    profile settings.
servers:
  - url: https://api.upon-ai.com
    description: Production
security:
  - bearerAuth: []
tags:
  - name: Calls
    description: Initiate and manage UponAI powered voice and web calls.
  - name: Agents
    description: Configure agents that power calls and web sessions.
  - name: LLM Models
    description: Manage reusable large language model configurations for agents.
  - name: Chat Agents
    description: Configure agents for browser and messaging chat sessions.
  - name: Chats
    description: Start and manage live chat sessions.
  - name: Conversation Flows
    description: Build and maintain reusable dialog graphs for agents.
  - name: Knowledge Bases
    description: Store and curate grounded knowledge sources.
  - name: Voices
    description: Discover, search, add, and clone speech synthesis voices.
  - name: Test Case Definitions
    description: Define simulation test cases for response engines.
  - name: Test Runs
    description: Retrieve results for individual and batch test runs.
  - name: Account
    description: Account level utilities and limits.
  - name: Phone Numbers
    description: List and assign phone numbers to agents.
paths:
  /api/voices/clone:
    post:
      tags:
        - Voices
      summary: Clone voice
      description: Clone a custom voice from uploaded source audio files.
      parameters:
        - $ref: '#/components/parameters/XActorType'
        - $ref: '#/components/parameters/XProviderId'
        - $ref: '#/components/parameters/XTenantId'
        - $ref: '#/components/parameters/XImpersonationReason'
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              required:
                - workspaceId
                - voiceProvider
                - voiceName
                - files
              properties:
                workspaceId:
                  type: integer
                voiceProvider:
                  type: string
                voiceName:
                  type: string
                files:
                  type: array
                  items:
                    type: string
                    format: binary
      responses:
        '201':
          description: Cloned voice metadata.
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Voice'
components:
  parameters:
    XActorType:
      name: X-Actor-Type
      in: header
      required: false
      schema:
        type: string
        enum:
          - platform_admin
          - provider_admin
          - tenant_admin
          - end_user
      description: Optional actor type for privileged white-label context selection.
    XProviderId:
      name: X-Provider-Id
      in: header
      required: false
      schema:
        type: integer
      description: Optional provider scope identifier for privileged multi-tenant access.
    XTenantId:
      name: X-Tenant-Id
      in: header
      required: false
      schema:
        type: integer
      description: Optional tenant/workspace context override.
    XImpersonationReason:
      name: X-Impersonation-Reason
      in: header
      required: false
      schema:
        type: string
      description: >-
        Required for privileged tenant-scoped requests when actor type is
        platform or provider admin.
  schemas:
    Voice:
      type: object
      required:
        - voiceId
        - name
      properties:
        voiceId:
          type: string
        name:
          type: string
        gender:
          type: string
        language:
          type: string
        accent:
          type: string
        description:
          type: string
        provider:
          type: string
        previewUrl:
          type: string
          format: uri
        playbackOverrideUrl:
          type: string
          format: uri
          nullable: true
        tags:
          type: array
          items:
            type: string
        createdAt:
          type: string
          format: date-time
          nullable: true
        updatedAt:
          type: string
          format: date-time
          nullable: true
  securitySchemes:
    bearerAuth:
      type: http
      scheme: bearer
      description: Generate tokens from your profile settings at app.uponai.com.

````