curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../download' \
--header 'accessKey: <your_api_key>' \
--output song.mp3
Content-Type: audio/mpeg
Content-Disposition: attachment; filename="MyVocal-Coast Road.mp3"
(MP3 byte stream)
{
"code": 47015,
"message": "Download is temporarily unavailable.",
"data": { "errorCode": "47015", "messageKey": "...", "retryable": true, "action": "RETRY_LATER", "requestId": "..." }
}
Text-to-Music
Download the song
Stream the finished song as MP3 bytes.
GET
/
sound_clone
/
api
/
v1
/
music
/
projects
/
{projectId}
/
download
curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../download' \
--header 'accessKey: <your_api_key>' \
--output song.mp3
Content-Type: audio/mpeg
Content-Disposition: attachment; filename="MyVocal-Coast Road.mp3"
(MP3 byte stream)
{
"code": 47015,
"message": "Download is temporarily unavailable.",
"data": { "errorCode": "47015", "messageKey": "...", "retryable": true, "action": "RETRY_LATER", "requestId": "..." }
}
This endpoint does not return the usual JSON envelope on success. Success is an
audio/mpeg byte stream. A rejected request, by contrast, is answered with the standard JSON error envelope. Check Content-Type (or the JSON code) before writing the file, so an error message is never saved as an .mp3.Header
string
required
API key for authentication.
Path
string
required
The project identifier. The song must be
READY with a usable readyAsset.Response
string
audio/mpeg on success; a JSON content type when the request is rejected.string
attachment; filename="MyVocal-<name>.mp3".stream
MP3 audio bytes.
curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../download' \
--header 'accessKey: <your_api_key>' \
--output song.mp3
Content-Type: audio/mpeg
Content-Disposition: attachment; filename="MyVocal-Coast Road.mp3"
(MP3 byte stream)
{
"code": 47015,
"message": "Download is temporarily unavailable.",
"data": { "errorCode": "47015", "messageKey": "...", "retryable": true, "action": "RETRY_LATER", "requestId": "..." }
}
Common errors
code = 47009: the project does not exist or is not owned by your account.code = 47015: the song is not ready to download yet, or storage is temporarily unavailable — poll the project and retry.
