Lyria Music · Music
Generate MusicNEW
📌 What is this:Generate a piece of music from a style description (optionally with lyrics).
💡 When to use:Use for background music, short-video soundtracks or song demos. No image / video materials.
Endpoints
| Usage | Method | Path |
|---|---|---|
| Submit task | POST | /api/cqt/generator/lyria |
| Query Result | GET | /api/cqt/info/lyria?id={taskId} |
⏱ Recommended polling interval:Takes ~1-3 min; poll every 10s until status = succeeded / failed.
Sub-models
| model | Usage | Materials | Output | Price (credits/call) |
|---|---|---|---|---|
| lyria-3.0-clip | Short clip | prompt + optional lyrics | ~30 s clip | 30 |
| lyria-3.0-pro | Full song | prompt + optional lyrics | ~3 min full song | 60 |
Request Parameters
| Param | Type | Required | Description |
|---|---|---|---|
| model | string | Required | Sub-model: lyria-3.0-clip / lyria-3.0-pro |
| prompt | string | Required | Style / mood / instruments (optional when lyrics is given) |
| lyrics | string | — | Lyrics (optional); [verse] / [chorus] section tags supported |
Request Example
curl -X POST https://api.cqtai.com/api/cqt/generator/lyria \
-H 'Authorization: Bearer <API_KEY>' \
-H 'Content-Type: application/json' \
-d '{
"model": "lyria-3.0-pro",
"prompt": "upbeat synth-pop, female vocal, summer night vibe",
"lyrics": "[verse]\nNeon lights on the rainy street\nEvery step falls on the beat\n[chorus]\nWe are young tonight\nDancing in the city light"
}'
# -> { "code":200, "data":"<taskId>" }Response Example
{
"code": 200,
"msg": "success",
"data": {
"id": "0ef4cd7639b040c9b2ce60a8e140a5dc",
"resultUrl": "https://cdn.novapi.ai/lyria/1791950053246_daadc785e716401c9967cf344e98f11b.mp3",
"status": "succeeded",
"errorMsg": null,
"createTime": "2026-10-14 11:53:33",
"completeTime": "2026-10-14 11:54:14"
}
}Response Fields
| Field | Type | Description |
|---|---|---|
| code | number | 200 means success |
| data.id | string | Task ID (taskId) |
| data.status | string | queued / running / succeeded / failed |
| data.resultUrl | string | Result URL(s) on our CDN (long-lived); multiple results are comma-separated; null until done or on failure |
| data.errorMsg | string | null | Failure reason; null on success |