CQTAI
MiniMax 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

UsageMethodPath
Submit taskPOST/api/cqt/generator/minimax-music
Query ResultGET/api/cqt/info/minimax-music?id={taskId}
⏱ Recommended polling interval:Takes ~1-3 min; poll every 10s until status = succeeded / failed.

Sub-models

modelUsageMaterialsOutputPrice (credits/call)
minimax-music-3.03.0 latestprompt + optional lyricsfull song 2-3.5 min100
minimax-music-2.62.6prompt + optional lyricsfull song 2-3.5 min100
minimax-music-2.52.5prompt + optional lyricsfull song 2-3.5 min100
minimax-music-2.02.0; cheaperprompt + optional lyricsfull song 2-3.5 min25

Request Parameters

ParamTypeRequiredDescription
modelstringRequiredSub-model: minimax-music-3.0 / minimax-music-2.6 / minimax-music-2.5 / minimax-music-2.0
promptstringRequiredStyle / mood / instruments (optional when lyrics is given)
lyricsstring—Lyrics (optional); [verse] / [chorus] section tags supported

Request Example

curl -X POST https://api.cqtai.com/api/cqt/generator/minimax-music \
  -H 'Authorization: Bearer <API_KEY>' \
  -H 'Content-Type: application/json' \
  -d '{
    "model": "minimax-music-3.0",
    "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": "ee7b51a469564381a053792fc2507cbe",
    "resultUrl": "https://cdn.novapi.ai/minimax-music/1791950061137_0aa1dcc337f84ea3bd69165741908aa3.mp3",
    "status": "succeeded",
    "errorMsg": null,
    "createTime": "2026-10-14 11:53:31",
    "completeTime": "2026-10-14 11:54:21"
  }
}

Response Fields

FieldTypeDescription
codenumber200 means success
data.idstringTask ID (taskId)
data.statusstringqueued / running / succeeded / failed
data.resultUrlstringResult URL(s) on our CDN (long-lived); multiple results are comma-separated; null until done or on failure
data.errorMsgstring | nullFailure reason; null on success