Documentation Index
Fetch the complete documentation index at: https://help.soundverse.ai/llms.txt
Use this file to discover all available pages before exploring further.
Generate AI Singing from Lyrics
- This endpoint generates AI singing from provided lyrics using AI models.
Core Parameters
The parameters below define the request body for this API.
| Parameter | Type | Required? | Description |
|---|
lyrics | string | ✅ Required | The lyrics to be sung by the AI-generated singing. |
styleOfMusic | string | ⚠️ Optional | Preferred style. Select one from supported styles listed below. |
audioUrl | string | ⚠️ Optional | URL to a reference audio file for musical influence. |
The audio URL must contain only singing vocals without background music. If audioUrl is provided, styleOfMusic will be ignored.
Supported Music Styles
The styleOfMusic parameter can be one of the following values:
- Pop(Female)
- Pop(Male)
- Rap
- Hiphop
- Vocal Chops
- Hyperpop (Female)
- Meow Meow Cat
- Rock
- Kawaii
- Hard Rock
- Metal
- Vocoder
- ASMR Singing
- Choir
- Orchestral Choir
- Gregorian Chant
- Ancient Chant
- Spoken Word
- Voicemail (Male)
- Voicemail (Female)
- Cute Kkey
- Ghost Whispering
- Group People Whispering
- Mongolian Throat Singing
Request Body
{
"lyrics": "string",
"styleOfMusic": "string",
"audioUrl": "string"
}
Code Samples
import requests
url = "https://api.soundverse.ai/v2/generate/ai-singing-gen"
headers = {
"Authorization": "Bearer your_api_key_here",
"Content-Type": "application/json"
}
payload = {
"lyrics": "Verse 1: Walking down the street, feeling the beat...",
"styleOfMusic": "Pop",
"audioUrl": "optional"
}
response = requests.post(url, json=payload, headers=headers)
print(response.json())
curl -X POST "https://api.soundverse.ai/v2/generate/ai-singing-gen" \
-H "Authorization: Bearer your_api_key_here" \
-H "Content-Type: application/json" \
-d '{
"lyrics": "Verse 1: Walking down the street, feeling the beat...",
"styleOfMusic": "Pop",
"audioUrl": "optional"
}'
const url = "https://api.soundverse.ai/v2/generate/ai-singing-gen";
const headers = {
"Authorization": "Bearer your_api_key_here",
"Content-Type": "application/json"
};
const payload = {
lyrics: "Verse 1: Walking down the street, feeling the beat...",
styleOfMusic: "Pop",
audioUrl: "optional"
};
fetch(url, {
method: "POST",
headers: headers,
body: JSON.stringify(payload)
})
.then(response => response.json())
.then(data => console.log(data))
.catch(error => console.error('Error:', error));
Response
{
"messageId": "string",
"prompt": "string",
"albumArt": "string",
"aiReply": "string",
"audioData": [
{
"audioUrl": "string",
"songName": "string",
"licenses": {
"licenses": "string"
}
}
]
}
{
"detail": "Invalid response from generation service"
}
{
"detail": "Generation failed or timed out after polling."
}
Response Fields
| Field | Type | Description |
|---|
messageId | string | Unique identifier for the generation request. |
prompt | string | The processed prompt used for generation. |
albumArt | string | URL to the generated album artwork. |
aiReply | string | AI-generated message about the creation. |
audioData | array | Array containing the generated audio file(s). |
└─ audioUrl | string | Direct URL to download/stream the generated audio. |
└─ songName | string | Name/title of the generated song. |
└─ licenses | object | Licensing information for the generated content. |
Sample Output
{
"messageId": "68f28481ce60695f903644b8",
"prompt": "La la la, singing in the rain, feeling happy and free",
"albumArt": "https://storage.soundverse.ai/soundverse-album-art/681babcdc9b9a92b09132ff5/681babcdc9b9a92b09132ff5/20251017180149_00000_album_cover_art_for_La_la_la_singing_in_the_rain_feeling_happy_and_free.png",
"aiReply": "The digital canvas has come alive with your audio masterpiece. It beckons you to listen, explore, and be inspired.",
"audioData": [
{
"audioUrl": "https://storage.soundverse.ai/x-one/681babcdc9b9a92b09132ff5/681babcdc9b9a92b09132ff5/tmpsyokfwlm.mp3",
"songName": "Raindrop Serenade: Melodies of Joyful Liberation",
"licenses": {
"licenses": "Royalty-Free"
}
}
]
}
Possible Errors :
- If Rate Limits have been passed for User.
{
"success": False,
"message": "Rate limits have been passed for the user.",
}
- If NSFW words are detected
{
"success": False,
"message": "NSFW words detected. Please try again with different lyrics.",
}
- If Artist name is detected
{
"success": False,
"message": "Artist name detected. Please try again with different lyrics.",
}