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

# Song Cover

> Transform a song into a different voice using a provided model. Find all available voice models, [HERE](https://modelslab.com/voice-cover).

## Request

Make a `POST` request to below endpoint and pass the required parameters as a request body.

```curl curl theme={null}
--request POST 'https://modelslab.com/api/v6/voice/voice_cover' \
```

## Body

```json json theme={null}
{
    "key": "your_api_key",
    "init_audio": "https://www.youtube.com/watch?v=ixkoVwKQaJg",
    "model_id": "zoro",
    "pitch": "none",
    "rate": 0.5,
    "radius": 3,
    "mix": 0.25,
    "algorithm": "rmvpe",
    "hop_length": 128,
    "originality": 0.5,
    "lead_voice_volume_delta": "+1",
    "backup_voice_volume_delta": "-2",
    "instrument_volume_delta":"+2",
    "reverb_size": 0.15,
    "wetness": 0.2,
    "dryness": 0.8,
    "damping": 0.7,
    "base64": false,
    "temp": false,
    "webhook": null,
    "track_id" : null
}
```


## OpenAPI

````yaml POST /voice/voice_cover
openapi: 3.1.0
info:
  title: ModelsLab Voice API
  description: >-
    A comprehensive API for AI-driven voice and audio generation including
    text-to-speech, voice cloning, music generation, and audio processing
    capabilities
  license:
    name: MIT
  version: 6.0.0
servers:
  - url: https://modelslab.com/api/v6
security: []
paths:
  /voice/voice_cover:
    post:
      summary: Transform voice in audio using AI models
      description: Transforms audio using voice cloning models with advanced controls
      requestBody:
        required: true
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/VoiceCoverRequest'
      responses:
        '200':
          description: Voice cover response
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/VoiceResponse'
        '400':
          description: Bad request
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/Error'
components:
  schemas:
    VoiceCoverRequest:
      type: object
      required:
        - key
        - init_audio
        - model_id
      properties:
        key:
          type: string
          description: API key to authorize the request
        init_audio:
          type: string
          description: URL (YouTube supported) or base64 WAV file for audio to be cloned
        model_id:
          type: string
          description: >-
            ID of the voice cloning model [Find Models
            Here](https://modelslab.com/models?feature=audiogen)
        pitch:
          type: string
          enum:
            - m2f
            - f2m
            - none
          description: Controls pitch transformation between voices
        algorithm:
          type: string
          enum:
            - rmvpe
            - mangio-crepe
          default: rmvpe
          description: Algorithm used for voice cloning
        rate:
          type: number
          minimum: 0
          maximum: 1
          description: Controls generated voice resemblance to training data
        seed:
          type: integer
          description: Seed value to reproduce results (null for random)
        language:
          type: string
          default: english
          description: Language for the voice
        emotion:
          type: string
          enum:
            - neutral
            - happy
            - sad
            - angry
            - dull
          default: neutral
          description: Emotion of the voice
        speed:
          type: number
          minimum: 0.5
          maximum: 2
          default: 1
          description: Playback speed of the speaker
        radius:
          type: number
          minimum: 0
          maximum: 3
          default: 3
          description: Median filtering length to reduce voice artifacts
        mix:
          type: number
          minimum: 0
          maximum: 1
          default: 0.25
          description: Controls loudness similarity to original audio
        hop_length:
          type: integer
          description: Frequency of pitch analysis (mangio-crepe algorithm)
        originality:
          type: number
          minimum: 0
          maximum: 1
          default: 0.33
          description: Controls similarity to original vocals' voiceless consonants
        lead_voice_volume_delta:
          type: string
          description: Adjusts volume of lead vocals (-5 to +5)
        backup_voice_volume_delta:
          type: string
          description: Adjusts volume of backup vocals (-5 to +5)
        instrument_volume_delta:
          type: string
          description: Adjusts volume of instrumental tracks (-5 to +5)
        reverb_size:
          type: number
          minimum: 0
          maximum: 1
          default: 0.15
          description: Size of the reverb room
        wetness:
          type: number
          minimum: 0
          maximum: 1
          default: 0.2
          description: Reverb applied to generated vocals
        dryness:
          type: number
          minimum: 0
          maximum: 1
          default: 0.8
          description: Reverb applied to original vocals
        damping:
          type: number
          minimum: 0
          maximum: 1
          default: 0.7
          description: Damping factor for high frequencies in reverb
        base64:
          type: boolean
          default: false
          description: Whether input sound clip is in base64 format
        temp:
          type: boolean
          default: false
          description: Use temporary links valid for 24 hours
        webhook:
          type: string
          format: uri
          description: URL to receive POST notification upon completion
        track_id:
          type: integer
          description: ID for webhook identification
    VoiceResponse:
      type: object
      properties:
        status:
          type: string
          enum:
            - success
            - processing
            - error
          description: Status of the voice generation
        generationTime:
          type: number
          description: Time taken to generate the audio in seconds
        id:
          type: integer
          description: Unique identifier for the voice generation
        output:
          type: array
          items:
            type: string
            format: uri
          description: Array of generated audio URLs
        proxy_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of proxy audio URLs
        future_links:
          type: array
          items:
            type: string
            format: uri
          description: Array of future audio URLs for queued requests
        links:
          type: array
          items:
            type: string
            format: uri
          description: Array of audio URLs (voice cover response)
        meta:
          type: object
          description: Metadata about the audio generation including all parameters used
        eta:
          type: integer
          description: Estimated time for completion in seconds (processing status)
        message:
          type: string
          description: Status message or additional information
        tip:
          type: string
          description: Additional information or tips for the user
        fetch_result:
          type: string
          format: uri
          description: URL to fetch the result when processing
        audio_time:
          type: number
          description: Duration of the generated audio in seconds
    Error:
      type: object
      required:
        - status
        - message
      properties:
        status:
          type: string
          enum:
            - error
        message:
          type: string
          description: Error message description

````