curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../versions' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 7d2e5b41c9a30f86' \
--data '{ "copy": "CURRENT_ARRANGEMENT" }'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_child...",
"parentProjectId": "mup_...",
"projectStatus": "ARRANGEMENT_READY",
"arrangementVersion": 1,
"requestId": "..."
}
}
Text-to-Music
Create a project version
Branch a child project from the current arrangement.
POST
/
sound_clone
/
api
/
v1
/
music
/
projects
/
{projectId}
/
versions
curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../versions' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 7d2e5b41c9a30f86' \
--data '{ "copy": "CURRENT_ARRANGEMENT" }'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_child...",
"parentProjectId": "mup_...",
"projectStatus": "ARRANGEMENT_READY",
"arrangementVersion": 1,
"requestId": "..."
}
}
Creates a child project that starts from the parent’s current arrangement, so you can iterate without losing the original.
Header
string
required
API key for authentication.
string
required
Unique per operation: 16–64 printable ASCII characters. Same key with a different body is rejected with
47008.Path
string
required
The parent project identifier.
Body
string
required
Must be
CURRENT_ARRANGEMENT. Any other value is rejected with 47001.Response
Returns the full detail of the child project (same shape asGET /projects/{projectId}), with parentProjectId set to the parent.
curl --location 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../versions' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--header 'Idempotency-Key: 7d2e5b41c9a30f86' \
--data '{ "copy": "CURRENT_ARRANGEMENT" }'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_child...",
"parentProjectId": "mup_...",
"projectStatus": "ARRANGEMENT_READY",
"arrangementVersion": 1,
"requestId": "..."
}
}
For this endpoint the first response and the replay have the same shape (project detail), but the field values change as the project progresses. Use the child
projectId as the stable anchor.Common errors
code = 47001:copyis missing or is notCURRENT_ARRANGEMENT.code = 47008: theIdempotency-Keywas reused with a different body.code = 47009: the parent project does not exist or is not owned by your account.
