POST
https://api.vaelor.chat/v1/music/assistUses a language model to draft lyrics or fill in track settings from a partial configuration. Use it to turn a one-line idea into a complete Create a track request.
Body#
actionenumRequiredlyrics writes lyrics that fit the description, genre and mood. settings suggests a title, genre, mood, instruments, vocal style, key and tempo.
configurationobjectRequiredA track configuration with at least description set. Fields you've already filled in are kept as constraints.
Response#
suggestionobjectSuggested values: title, lyrics, description, genre, mood, instruments, vocalStyle, key and bpm. Merge the fields you want into your configuration.
creditCostintegerCredits charged, at Flash token rates.
usageRemainingintegerYour remaining balance.
Example#
curl https://api.vaelor.chat/v1/music/assist \
-H "Authorization: Bearer $VAELOR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"action": "settings",
"configuration": {
"mode": "custom",
"description": "A rainy-day song about leaving your hometown",
"duration": 150,
"language": "en",
"instrumental": false,
"guidanceScale": 7,
"think": false
}
}'const { suggestion } = await fetch('https://api.vaelor.chat/v1/music/assist', {
method: 'POST',
headers: {
Authorization: `Bearer ${process.env.VAELOR_API_KEY}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({ action: 'settings', configuration })
}).then((response) => response.json())
const enriched = { ...configuration, ...suggestion }suggestion = requests.post(
"https://api.vaelor.chat/v1/music/assist",
headers={"Authorization": f"Bearer {os.environ['VAELOR_API_KEY']}"},
json={"action": "settings", "configuration": configuration},
).json()["suggestion"]Response200
JSON
{
"suggestion": {
"title": "Last Train North",
"lyrics": "",
"description": "A rainy-day song about leaving your hometown",
"genre": "indie folk",
"mood": "bittersweet, reflective",
"instruments": "fingerpicked acoustic guitar, upright piano, soft brushes",
"vocalStyle": "warm male baritone",
"key": "D major",
"bpm": 84
},
"creditCost": 1,
"usageRemaining": 419
}Errors#
| Status | When |
|---|---|
400 | Invalid action or configuration. |
402 | Not enough credits. |
502 | The model provider failed. You weren't charged. |