POST
/
sing_over_instrumental
Python
import requests

url = "https://api.musicgpt.com/api/public/v1/sing_over_instrumental"
headers = {"Authorization": "<API_KEY>"}
data = {
  "prompt": "Sing like Adele in a soulful tone",
  "lyrics": "Never mind I'll find someone like you...",
  "gender": "female",
  "webhook_url": "https://yourdomain.com/webhook"
}

# Option 1: Use audio_url
data["audio_url"] = "https://bucket.s3.amazonaws.com/audio.mp3"
response = requests.post(url, headers=headers, data=data)

# Option 2: Upload file
# with open("audio.mp3", "rb") as f:
#     files = {"audio_file": f}
#     response = requests.post(url, headers=headers, data=data, files=files)

# print(response.json())
{
  "success": true,
  "message": "Sing Over Instrumental request submitted successfully",
  "task_id": "task-abcde12345",
  "conversion_id_1": "over-instrumental-1",
  "conversion_id_2": "over-instrumental-2",
  "eta": 45,
  "credit_estimate": 50
}

Authorizations

Authorization
string
header
required

Body

multipart/form-data
audio_url
string
required

URL or S3 path to the input instrumental audio.

Example:

"https://bucket.s3.amazonaws.com/audio.mp3"

prompt
string
required

Description of the singing style, tone, or genre.

Example:

"Sing like Adele in a soulful tone"

lyrics
string
required

The lyrics to be sung over the instrumental.

Maximum length: 2000
Example:

"Never mind I'll find someone like you..."

audio_file
file

Uploaded instrumental audio file.

gender
enum<string>

Voice gender to guide generation.

Available options:
male,
female,
neutral
Example:

"female"

webhook_url
string

Callback URL to receive status updates or final audio result.

Example:

"https://yourdomain.com/webhook"

Response

Successfully initiated sing over instrumental task

success
boolean
message
string
task_id
string
conversion_id_1
string
conversion_id_2
string
eta
integer

Estimated processing time in seconds

credit_estimate
number