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

# Remix

> This endpoint allows users to remix an input audio file or URL using a descriptive prompt, optional lyrics, and a gender selection for vocal tone.



## OpenAPI

````yaml POST /v1/Remix
openapi: 3.1.0
info:
  title: WAV API
  version: 1.0.0
  description: API for retrieving conversion details by ID.
servers:
  - url: https://api.wav.com/api/public
    description: Production server
security: []
paths:
  /v1/Remix:
    post:
      summary: Remix Audio Using Prompt and Optional Lyrics
      description: >-
        This endpoint allows users to remix an input audio file or URL using a
        descriptive prompt, optional lyrics, and a gender selection for vocal
        tone.
      requestBody:
        required: true
        content:
          multipart/form-data:
            schema:
              type: object
              properties:
                audio_file:
                  type: string
                  format: binary
                  description: Uploaded audio file to be remixed.
                audio_url:
                  type: string
                  description: 'Input audio URL (supported format: YouTube URL).'
                  example: https://mybucket.s3.amazonaws.com/song.mp3
                prompt:
                  type: string
                  description: Describes how the audio should be transformed.
                  example: Make it sound like Lo-fi with chill beats
                lyrics:
                  type: string
                  description: Optional lyrics to guide vocal generation.
                  example: It's a brand new day
                  maxLength: 2000
                title:
                  type: string
                  description: Title of the generated music track
                gender:
                  type: string
                  description: Voice style if vocal content is generated.
                  enum:
                    - male
                    - female
                    - neutral
                  example: female
                generate_album_cover:
                  type: boolean
                  description: Whether to generate an album cover for the generated audio
                  default: false
                lyrics_timestamps:
                  type: boolean
                  description: Whether to generate timestamps for the lyrics
                  default: false
                webhook_url:
                  type: string
                  description: Callback URL for async processing results.
                  example: https://example.com/my-webhook
              required:
                - prompt
              anyOf:
                - required:
                    - audio_url
                - required:
                    - audio_file
      responses:
        '200':
          description: Successful response
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                  message:
                    type: string
                  task_id:
                    type: string
                  conversion_id_1:
                    type: string
                  conversion_id_2:
                    type: string
                  is_flagged:
                    type: boolean
                  reason:
                    type: string
                  eta:
                    type: integer
                  status:
                    type: string
                  credit_estimate:
                    type: number
                  error_message:
                    type: string
                  error_message_detail:
                    type: string
                  missing_input_fields:
                    type: string
                  predicted_user_intent:
                    type: string
              example:
                success: true
                message: Remix request submitted successfully
                task_id: 2e70b1bc-0af7-45b2-bca5-5d951bd6a8fb
                conversion_id_1: 64a38c01-d5b9-4ffa-99d1-e38d957e7048
                conversion_id_2: d12445e4-2605-4c4b-98a0-82efb36ad512
                is_flagged: false
                reason: ''
                eta: 300
                status: IN_QUEUE
                credit_estimate: 0.1
                error_message: ''
                error_message_detail: ''
                missing_input_fields: ''
                predicted_user_intent: ''
        '422':
          description: Validation Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Either audio_file or audio_url must be provided.
        '500':
          description: Server Error
          content:
            application/json:
              schema:
                type: object
                properties:
                  success:
                    type: boolean
                    example: false
                  message:
                    type: string
                    example: Internal Server Error
      security:
        - ApiKeyAuth: []
      x-codeSamples:
        - lang: Python
          source: >-
            import requests


            url = "https://api.wav.com/api/public/v1/Remix"

            headers = {"Authorization": "<API_KEY>"}

            data = {
              "prompt": "Make it sound like Lo-fi with chill beats",
              "lyrics": "It's a brand new day",
              "gender": "female",
              "title": "My Generated Track",
              "webhook_url": "https://example.com/my-webhook"
            }


            # Option 1: audio_url

            files = {}

            data["audio_url"] = "<YOUR_AUDIO_URL>"

            response = requests.post(url, headers=headers, data=data,
            files=files)


            # Option 2: File Upload

            # with open("song.mp3", "rb") as f:

            #    files = {"audio_file": f}

            #    response = requests.post(url, headers=headers, data=data,
            files=files)


            print(response.json())
components:
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization

````