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

# Cadence Cover

> Cover an existing song: the lead melody of `audio_url` is kept, and your `lyrics` are sung over a new arrangement in the `style` you describe.

- The song needs a clear lead vocal melody. To keep the original lyrics, paste them into `lyrics`.
- The cover follows the length of the original song, which is also the billed length.
- The cover stays in the key of the original: a style asking for a male voice over a song sung in a female range still sings in that range.

**Pricing**: 0.02 tokens ($0.0004) per second of audio, rounded up to the whole second.

| Option | Tokens | USD |
|---|---|---|
| Per second of audio | 0.02 | $0.0004 |

**Result**: one `json` item `{ "type": "audio", "value": "https://...mp3" }` (a `.wav` link when `output_format` is `wav`), 48 kHz stereo. Result links expire (see `link_expired_at`).



## OpenAPI

````yaml api-reference/audio-generations/openapi-cadence-cover.json POST /api/v1/audio/generations
openapi: 3.1.0
info:
  title: GoEnhance API - Cadence Cover
  description: Re-sing and re-arrange a song in a new style, keeping its melody.
  version: 1.0.0
servers:
  - url: https://api.goenhance.ai
security: []
paths:
  /api/v1/audio/generations:
    post:
      tags:
        - AudioGenerations
      summary: Cadence Cover
      description: >-
        Cover an existing song: the lead melody of `audio_url` is kept, and your
        `lyrics` are sung over a new arrangement in the `style` you describe.


        - The song needs a clear lead vocal melody. To keep the original lyrics,
        paste them into `lyrics`.

        - The cover follows the length of the original song, which is also the
        billed length.

        - The cover stays in the key of the original: a style asking for a male
        voice over a song sung in a female range still sings in that range.


        **Pricing**: 0.02 tokens ($0.0004) per second of audio, rounded up to
        the whole second.


        | Option | Tokens | USD |

        |---|---|---|

        | Per second of audio | 0.02 | $0.0004 |


        **Result**: one `json` item `{ "type": "audio", "value":
        "https://...mp3" }` (a `.wav` link when `output_format` is `wav`), 48
        kHz stereo. Result links expire (see `link_expired_at`).
      parameters:
        - name: Authorization
          in: header
          description: ''
          required: false
          example: '{{Authorization}}'
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              type: object
              properties:
                model:
                  type: string
                  enum:
                    - cadence-cover
                  description: Model name. Must be `cadence-cover`.
                audio_url:
                  type: string
                  format: uri
                  description: >-
                    The original song. A public `https://` link to an audio file
                    (mp3, m4a, wav, flac, ogg; a video link uses its audio
                    track), 5 to 360 seconds, up to 20 MB. mp3 or m4a is
                    recommended: a full 6-minute song fits, while wav over about
                    1 minute 50 seconds or flac over about 3.5 minutes exceeds
                    the limit. Its length is measured before the task is
                    accepted and is the billed length.
                style:
                  type: string
                  maxLength: 1000
                  description: >-
                    Describe the music: language, genre, instruments, vocal,
                    mood and tempo, comma-separated works best, e.g. `Mandarin
                    pop, warm female vocal, piano, strings, 90 BPM, emotional`.
                    Max 1000 characters.
                lyrics:
                  type: string
                  maxLength: 4000
                  description: >-
                    Lyrics to sing over the original melody, with `\n` between
                    lines. Section tags such as `[Verse]` and `[Chorus]` are
                    recommended. Max 4000 characters.
                seed:
                  type: integer
                  minimum: 0
                  maximum: 2147483647
                  description: >-
                    Optional. The same seed and inputs give the same result.
                    Random when omitted.
                output_format:
                  type: string
                  enum:
                    - mp3
                    - wav
                  default: mp3
                  description: '`mp3` (320 kbps, default) or `wav` (16-bit). 48 kHz stereo.'
                custom_callback_url:
                  type: string
                  format: uri
                  description: >-
                    Optional. A publicly accessible HTTPS URL. When the task
                    status changes (processing / success / failed), GoEnhance
                    sends a POST request to this URL. The request body is
                    identical to the response of GET /api/v1/jobs/detail. If
                    your server does not respond with HTTP 200, the notification
                    is retried up to 3 times, with a 3-second timeout per
                    attempt.
                  example: https://your-server.com/goenhance/callback
              required:
                - model
                - audio_url
                - style
                - lyrics
            example:
              model: cadence-cover
              audio_url: https://example.com/original-song.mp3
              style: Bossa nova, soft female vocal, nylon guitar, light percussion
              lyrics: |-
                [Verse]
                Moonlight on the window pane
                I write your name again

                [Chorus]
                When the wind comes from the sea
                You'll come back to me
      responses:
        '200':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
                  data:
                    type: object
                    properties:
                      img_uuid:
                        type: string
                      cost:
                        type: number
                        description: >-
                          Tokens deducted for this request. This is the amount
                          actually charged, so it already reflects any discount
                          active on your account and can be lower than the
                          listed price. Tokens are deducted when the task is
                          accepted, and refunded automatically if the generation
                          ends in failure.
                        example: 0.86
                    required:
                      - img_uuid
                      - cost
                required:
                  - code
                  - msg
                  - data
              examples:
                '1':
                  summary: Success
                  value:
                    code: 0
                    msg: Success
                    data:
                      img_uuid: c12b656c-747a-44fd-9c80-add79b0c52d5
                      cost: 0.86
                '2':
                  summary: Insufficient tokens
                  value:
                    code: 100
                    msg: tokens is not enough
                quota:
                  summary: API key quota exceeded
                  value:
                    code: 101
                    msg: 'API key quota exceeded: 4990 of 5000 tokens used (monthly)'
                bad:
                  summary: Invalid parameters
                  value:
                    code: -1
                    msg: audio_url is too long. Max 360 seconds, got 412.3s
          headers: {}
        '401':
          description: ''
          content:
            application/json:
              schema:
                type: object
                properties:
                  code:
                    type: integer
                  msg:
                    type: string
          headers: {}
      deprecated: false

````

This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.