curl --location --request PUT 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../brief' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--data '{
"description": "A calmer indie folk song about autumn evenings.",
"genre": "FOLK_ACOUSTIC",
"styleNotes": "Fingerpicked guitar, soft brushes.",
"moods": ["CALM", "NOSTALGIC"],
"vocalLanguage": "en",
"durationSec": 120,
"lyricsMode": "AUTO",
"vocalStyle": "WARM_INTIMATE"
}'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_...",
"projectStatus": "ARRANGEMENT_GENERATING",
"arrangementVersion": 2,
"activeQuote": null,
"requestId": "..."
}
}
Create and generate
Update the creative brief
Replace the creative brief of a music project. Invalidates the current quote.
PUT
/
sound_clone
/
api
/
v1
/
music
/
projects
/
{projectId}
/
brief
curl --location --request PUT 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../brief' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--data '{
"description": "A calmer indie folk song about autumn evenings.",
"genre": "FOLK_ACOUSTIC",
"styleNotes": "Fingerpicked guitar, soft brushes.",
"moods": ["CALM", "NOSTALGIC"],
"vocalLanguage": "en",
"durationSec": 120,
"lyricsMode": "AUTO",
"vocalStyle": "WARM_INTIMATE"
}'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_...",
"projectStatus": "ARRANGEMENT_GENERATING",
"arrangementVersion": 2,
"activeQuote": null,
"requestId": "..."
}
}
Text to Music · Workflow: Text-to-Music quickstart · Polling: Async jobs and retries
Replaces the whole brief and re-validates it with the same rules as create. An existing quote becomes stale, so quote again before generating.
Header
Your API key. See Authentication.
Path
Body
The body is the sameCreativeBrief used by POST /projects:
Response
Returns the full project detail, identical in shape toGET /projects/{projectId}.
curl --location --request PUT 'https://api.myvocal.ai/sound_clone/api/v1/music/projects/mup_.../brief' \
--header 'accessKey: <your_api_key>' \
--header 'Content-Type: application/json' \
--data '{
"description": "A calmer indie folk song about autumn evenings.",
"genre": "FOLK_ACOUSTIC",
"styleNotes": "Fingerpicked guitar, soft brushes.",
"moods": ["CALM", "NOSTALGIC"],
"vocalLanguage": "en",
"durationSec": 120,
"lyricsMode": "AUTO",
"vocalStyle": "WARM_INTIMATE"
}'
{
"code": 1,
"message": "success",
"data": {
"projectId": "mup_...",
"projectStatus": "ARRANGEMENT_GENERATING",
"arrangementVersion": 2,
"activeQuote": null,
"requestId": "..."
}
}
Common errors
code = 47001: the brief failed validation.code = 47009: the project does not exist or is not owned by your account.code = 47010: another operation is already in progress for this project.
