sonic

upload and cover music

One-stop API to upload an audio file and create a cover version. This combines the upload and cover operations into a single request.

Credits cost: 20 on every model.

post/api/v1/sonic/upload-cover

Request

  • Base URL
    https://api.musicapi.ai
  • URL
    https://api.musicapi.ai/api/v1/sonic/upload-cover
  • Auth
    HTTP bearer

Request body

urlstring required

The online audio URL to upload. Must be a valid audio file URL.Max 8 min.

mv'sonic-v6' | 'sonic-v6-wild' | 'sonic-v6-mini' required

Music model version. Suno retired v3.5 through v5.5 on 2026-09-09 and maps every retired id onto v6, so sonic-v3-5, sonic-v4, sonic-v4-5, sonic-v4-5-plus, sonic-v5 and sonic-v5-5 are still accepted and run v6 — existing integrations need no change.

custom_modeboolean required

Set to true for custom lyrics mode (requires prompt), or false for AI description mode (requires gpt_description_prompt)

promptstring

Song lyrics. Required when custom_mode is true. Max 5000 chars

gpt_description_promptstring

AI description of the desired music style. Required when custom_mode is false

titlestring

Song title. Max 80 characters

tagsstring

Music style tags. Max 1000 chars

negative_tagsstring

Tags to avoid in the generated music

make_instrumentalboolean

Set to true to generate instrumental music without vocals

style_weightnumber

Style weight between 0 and 1

weirdness_constraintnumber

Weirdness constraint between 0 and 1

vocal_gender'f' | 'm'

Vocal gender: 'f' for female, 'm' for male. Supported on every current model

audio_weightnumber

Audio weight between 0 and 1

webhook_urlstring

HTTPS URL to receive webhook notifications when the task completes

webhook_secretstring

Secret key for webhook signature verification

durationinteger

Target song length in seconds. Range 10-360. The generated track lands close to the requested length rather than exactly on it.

Example request

{
  "duration": 120
}

Response

Success

codeinteger required

Response code

messagestring required

Response message

task_idstring required

Task ID for polling the result

Changes

No recorded changes to this operation across all 1 revision of this API.