API Documentation
Keep in mind
Features
- POSTMusic AI
- POSTCover Song
- POSTText To Speech
- POSTSound Generator
- POSTExtraction
- POSTVoice Changer
- POSTDenoise
- POSTDeecho
- POSTDereverb
- POSTFile Conversion
- POSTAudio Transcribe
- POSTKey & BPM Extraction
- POSTAudio to MIDI
- POSTAudio Cutter
- POSTAudio Speed Changer
- POSTAudio Mastering
- POSTRemix
- POSTExtend
- POSTInpaint
- POSTSing Over Instrumental
- GETLyrics Generator
Sample Request Endpoints
Conversion Endpoints
- POSTMUSIC AI
- POSTCover
- POSTVoice Changer
- POSTText To Speech
- POSTExtraction
- POSTSound Generator
- POSTDeNoise
- POSTDeEcho
- POSTDeReverb
- POSTFile Conversion
- POSTAudio Transcribe
- POSTExtract Key BPM
- POSTAudio To MIDI
- POSTAudio Cutter
- POSTAudio Speed Changer
- POSTAudio Mastering
- POSTRemix
- POSTExtend
- POSTInpaint
- POSTSing Over Instrumental
- GETLyrics Generator
Conversion Endpoints
Audio To MIDI
Processes an audio file and converts it into a MIDI file. Optionally generates a sonified .wav and/or a CSV of note events. This request is handled asynchronously.
POST
/
audio_to_midi
Python
Copy
import requests
url = "https://api.musicgpt.com/api/public/v1/audio_to_midi"
headers = {"Authorization": "<<<api key>>>"}
# Option 1: Use audio URL
payload = {
"audio_url": "https://example.com/audio_file.wav",
"sonify_midi": True,
"save_note_events": True,
"webhook_url": "https://your-webhook-url.com/callback"
}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
# Option 2: Upload local audio file
payload = {
"sonify_midi": True,
"save_note_events": True,
"webhook_url": "https://your-webhook-url.com/callback"
}
with open("audio.wav", "rb") as f:
files = {"audio_file": f}
response = requests.post(url, headers=headers, data=payload, files=files)
print(response.json())
Copy
{
"success": true,
"task_id": "task789",
"message": "MIDI conversion task queued successfully"
}
Authorizations
Body
multipart/form-data
Response
200
application/json
MIDI conversion task initiated successfully
The response is of type object
.
Python
Copy
import requests
url = "https://api.musicgpt.com/api/public/v1/audio_to_midi"
headers = {"Authorization": "<<<api key>>>"}
# Option 1: Use audio URL
payload = {
"audio_url": "https://example.com/audio_file.wav",
"sonify_midi": True,
"save_note_events": True,
"webhook_url": "https://your-webhook-url.com/callback"
}
response = requests.post(url, headers=headers, data=payload)
print(response.json())
# Option 2: Upload local audio file
payload = {
"sonify_midi": True,
"save_note_events": True,
"webhook_url": "https://your-webhook-url.com/callback"
}
with open("audio.wav", "rb") as f:
files = {"audio_file": f}
response = requests.post(url, headers=headers, data=payload, files=files)
print(response.json())
Copy
{
"success": true,
"task_id": "task789",
"message": "MIDI conversion task queued successfully"
}
Assistant
Responses are generated using AI and may contain mistakes.