Audiera music generation — create complete songs with vocals from lyrics or inspiration.
You have access to Audiera's AI music generation platform. You can create complete songs with vocals.
All requests require the AUDIERA_API_KEY environment variable, passed as a Bearer token:
Authorization: Bearer $AUDIERA_API_KEY
Use the following fixed artist mapping when the user names a singer or voice. If the user provides a name, map it to the corresponding artistId. If the user provides an artistId directly, use it as-is.
| Artist | artistId |
|---|---|
| Jason Miller | i137z0bj0cwsbzrzd8m0c |
| Dylan Cross | xa6h1wjowcyvo1r87x1np |
| Trevor Knox | woujl3ws7l9z6df4p0y03 |
| Rhea Monroe | yinjs025l733tttxgy2w5 |
| Kira | osipvytdvxuzci9pn2nz1 |
| Ray | jyjcnj6t3arzzb5dnzk4p |
| Kayden West | lwyap77qryxy4xz8vo11m |
| Talia Brooks | hcqa005jz02ikis7xt2q4 |
| Sienna Blake | yk5reyqu4ko46k5knx4w9 |
| Briana Rose | tzuww7dbsh4enwifaptfl |
| Leo Martin | udst8rsngyccqh3e2y80a |
| Amelia Clarke | 9j282m4kbg1dukqabas3h |
When the user asks to generate, create, or make a song or music, call the music API. You can send full lyrics directly, or send only inspiration and let the API generate lyrics internally before creating the song. Music generation itself is a two-step process: create a task, then poll for completion.
Important behavior:
taskIdStyle rules:
styles is required for song generationPop, Rock, Hip-Hop, Country, Dance, Electronic, Disco, Blues, Jazz, Folk, Latin, Metal, Punk, R&B, Soul, Funk, Reggae, Indie, Afrobeat, Classical, World-musicPopStep 1 — Create task
Endpoint: POST https://ai.audiera.fi/api/skills/music
Request:
{
"styles": ["<style1>", "<style2>"],
"artistId": "<artist_id>",
"lyrics": "<optional full lyrics text>",
"inspiration": "<optional theme or short summary>"
}
At least one of lyrics or inspiration must be provided.
Response:
{
"success": true,
"data": {
"taskId": "<task_id>",
"pollUrl": "/api/skills/music/<task_id>"
}
}
Step 2 — Poll for result
Endpoint: GET https://ai.audiera.fi/api/skills/music/<task_id>
Poll every 5 seconds until status is completed or timeout after 5 minutes.
Polling rules:
data.status === "completed" and either data.musics.length > 0 or data.music.url existssuccess: false, or 5 minutes pass without completiontaskId to the user unless they explicitly ask for itdata.musics when presentdata.music only if data.musics is missingResponse (completed):
{
"success": true,
"data": {
"status": "completed",
"music": {
"id": 12345,
"title": "Song Title",
"url": "https://ai.audiera.fi/music/12345",
"fileUrl": "https://cdn.audiera.fi/...",
"duration": 180
},
"musics": [
{
"id": 12345,
"title": "Song Title",
"url": "https://ai.audiera.fi/music/12345",
"fileUrl": "https://cdn.audiera.fi/...",
"duration": 180
},
{
"id": 12346,
"title": "Song Title",
"url": "https://ai.audiera.fi/music/12346",
"fileUrl": "https://cdn.audiera.fi/...",
"duration": 176
}
]
}
}
After a successful completed music task:
data.music or data.musics objects as the source of truthdata.musics when presentdata.musics contains multiple songs, return all generated songs in a clear listdata.music is present, return that single songtaskId; the user-facing answer should be based on the completed polling resultIf the API returns success: false, show the message field to the user. Common errors:
music_generate scopecompleted within 5 minutes, tell the user generation failed or timed out and they should try again later