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
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": "..."
}
}
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
string
required
API key for authentication.
Path
string
required
The project identifier.
Body
The body is the sameCreativeBrief used by POST /projects:
string
required
1–800 code points.
string
required
One of
capabilities.genres.string
Optional, 0–120 code points.
array
required
1–3 distinct values from
capabilities.moods.string
required
A
code from capabilities.supportedVocalLanguages.number
required
60, 90, 120 or 180.string
required
AUTO or CUSTOM.string
Only used with
CUSTOM (20–2800 code points).string
required
One of
capabilities.vocalStyles.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.
