MiniMax
MiniMax Music 2.6
minimax-music-2.6
A vocal-plus-instrumental model that generates complete songs from text, adding AI Cover-style adaptations and automatic lyric writing, with first output latency claimed to be under 20 seconds
Try minimax-music-2.6
Input
Showcases
View all showcasesOutput
Pricing
minimax-music-2.6 per song
| Unit Price | $0.210 |
|---|
Overview
minimax-music-2.6 is MiniMax's text-to-song model, accessible through the unified HiAPI.ai interface. Enter a style prompt to generate a complete song with vocals and multi-layered instrumentation, or simply provide a prompt and let it write the lyrics automatically, or switch to instrumental-only mode to output vocal-free music. Lyrics support structural tags to control section arrangement, and the output format, bitrate, and sample rate can be specified as needed. It is suited for developers and content teams that need to produce original soundtracks, song demos, and style-adaptation material in batches.
Key Highlights
- End-to-end complete song production — a single call returns a finished piece with vocals, instrumentation, and genre-styled mixing rather than fragmentary material, eliminating the need for multi-track assembly.
- Lyrics can be generated automatically — a prompt alone drives the model to write lyrics and compose the song, so even without lyric-writing ability you can directly obtain a vocal work.
- Structural tags control arrangement — use tags such as Intro, Verse, Chorus, and Bridge to divide sections and make deterministic arrangements for the song's progression.
- Selectable output specifications — supports mp3, wav, and pcm formats, with bitrate and sample rate selectable among the tiers given in the schema, making it easy to integrate with downstream workflows.
Capabilities
Text-to-song: enter style, mood, and scene descriptions, and the model generates a complete song with vocals and multi-layered instrumentation that can be used directly as finished material or a demo.
Instrumental-only generation: after enabling instrumental mode, no lyrics are needed, and the output is a vocal-free accompaniment or instrumental piece, suitable for background music needs.
Automatic lyric writing: when the lyrics field is left empty, the model generates lyrics based on the prompt, lowering the barrier to writing from scratch; when precise control is needed, you can still provide your own lyrics.
Structured arrangement: section structure tags can be embedded in the lyrics to control the placement of intro, verse, chorus, and interlude, making the output structure better match expectations.
Controllable output parameters: audio format, bitrate, and sample rate can be specified, allowing you to choose suitable output specifications for downstream editing, distribution, or playback scenarios.
Use Cases
- Short-video and podcast creators generate soundtracks — with style and mood descriptions as input, produce background music that can be laid directly into videos or podcasts, reducing reliance on external music libraries.
- Songwriters validate song demos — submit style prompts and draft lyrics to quickly obtain a complete demo with vocals for validating melody and arrangement directions.
- One-stop song production without lyric-writing ability — use a single scene description to drive automatic lyric writing and song generation, producing original tracks usable for events, advertising, or content distribution.
- Batch production of instrumental accompaniment — enable instrumental mode to generate vocal-free accompaniment in batches, for scenarios such as voiceover, presentations, or games that need to leave room for vocals.
Limitations and Selection Advice
The lyrics field is capped at 3500 characters and the style prompt at 2000 characters; overly long content must be trimmed first. Generation results depend heavily on prompt quality, and automatically generated lyrics should be reviewed manually before use. If the need is to adapt the style of an existing song or to support interactions with extremely high real-time requirements, the current parameter capabilities do not cover such usage, and a model supporting the corresponding input form should be selected instead.
Create a generation task
https://api.hiapi.ai/v1/tasks Headers
AuthorizationstringRequiredAccount API key. Required on every request. Example: Bearer YOUR_HIAPI_API_KEY. Get your API key
Content-TypestringOptionalThe request body is always parsed as JSON; when sent, only application/json (optionally with charset) is accepted — any other value returns 415. Example: application/json.
Idempotency-KeystringOptionalIdempotency key, up to 255 bytes. Retries with the same key from the same account create the task only once; replays return the original taskId.
On network timeouts or client retries, the same key creates the task only once — no double charges (scope: the API key's account). Use a business-unique identifier as the key (e.g. "order-42"); replays return the original taskId, and keys expire 24 hours after the first request. See the Unified Async API overview for the full scenario matrix.
Body
modelstringRequiredCurrent fixed value: minimax-music-2.6
routestringOptionalCurrent fixed value: default
inputobjectRequired
Business parameters for minimax-music-2.6 and route default — see the parameter table below.
lyricsstringOptionalminLength 1maxLength 3500Song lyrics, 1-3500 characters, with lines separated by \n; supports structural tags such as [Intro], [Verse], [Chorus] to control arrangement sections. If left empty, lyrics are automatically generated based on the prompt; not required when is_instrumental is true.
promptstringRequiredminLength 1maxLength 2000Descriptive text for the music style, mood, and scene, for example "pop, melancholic, suitable for a rainy night", up to 2000 characters.
bitrateintegerOptionalDefault: 256000Output audio bitrate, in bps, default 256000.
3200064000128000256000sample_rateintegerOptionalDefault: 44100Output audio sample rate, in Hz, default 44100.
16000240003200044100audio_formatstringOptionalDefault: "mp3"Output audio format, default mp3.
mp3wavpcmis_instrumentalbooleanOptionalDefault: falseWhether to generate instrumental music with no vocals; when true, lyrics are not required, default false.
callbackobjectOptional
Terminal-state notification config. When omitted, no callback is delivered — poll the task yourself. See the callback note below.
Provide callback.url when creating a task and HiAPI POSTs to your service once the task reaches a terminal state — no polling needed. The callback payload mirrors the task detail structure; signature verification, delivery retries and idempotency are documented on the Unified Async API overview page.
urlstringRequiredRequired when callback is present. A POST is sent to this URL once the task reaches a terminal state; must be a valid http(s) URL.
whenstringOptionalDefault: "final"Only final is supported today — notified on both success and fail.
finalstoragestringOptionalDefault: "temp"Artifact storage tier: temp (default, retained about 7 days) or persistent (long-term, billed by size). Insufficient balance or exceeding the storage cap silently downgrades to temp; the effective tier is shown in the task detail response.
temppersistentRequest examples
# Submit an async task; returns a taskId immediately (no waiting for generation)
curl -X POST "https://api.hiapi.ai/v1/tasks" \
-H "Authorization: Bearer $HIAPI_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "minimax-music-2.6",
"input": {
"prompt": "…",
"bitrate": 256000,
"sample_rate": 44100,
"audio_format": "mp3",
"is_instrumental": false
}
}' const res = await fetch("https://api.hiapi.ai/v1/tasks", {
method: "POST",
headers: {
Authorization: `Bearer ${process.env.HIAPI_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
model: "minimax-music-2.6",
input: {
"prompt": "…",
"bitrate": 256000,
"sample_rate": 44100,
"audio_format": "mp3",
"is_instrumental": false
}
}),
});
const task = await res.json();
// { code: 200, message: "success", data: { taskId } } import os, requests
res = requests.post(
"https://api.hiapi.ai/v1/tasks",
headers={"Authorization": f"Bearer {os.environ['HIAPI_API_KEY']}"},
json={
"model": "minimax-music-2.6",
"input": {
"prompt": "…",
"bitrate": 256000,
"sample_rate": 44100,
"audio_format": "mp3",
"is_instrumental": False
}
},
)
print(res.json()) # { code, message, data: { taskId } } 200 OK
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR"
}
} 400 Bad Request
{
"code": 400,
"message": "invalid request",
"data": null,
"error_code": "INVALID_REQUEST"
} Get task detail
https://api.hiapi.ai/v1/tasks/:id Response fields
taskIdstringRequiredTask ID, always prefixed with tk-hiapi-.
modelstringRequiredResolved full model name. Tasks submitted with the route parameter return base@route (e.g. gpt-image-2/text-to-image@ext); otherwise identical to the name passed at creation.
routestringOptionalPresent only when the task was submitted with an explicit route parameter; echoes the submitted value.
statusstringRequiredTask status.
queued Queued, not started yet.
handling Being processed.
archiving Processing finished, artifacts being prepared.
success Terminal: completed, artifacts available (output returned).
fail Terminal: failed (error returned).
After submission, check status: success and fail are terminal, everything else is non-terminal. Poll every 1–3 seconds until terminal. On success, download artifacts from output[].url and transfer them before expireAt; pass storage: "persistent" at creation time when long-term retention is needed.
creatednumberRequiredTask creation time (Unix seconds).
completednumberRequiredUnix seconds when the task reached a terminal state; fixed to 0 while not terminal.
outputarrayOptional
Present only when status == success. Artifact list — always an array; a single task may return multiple types at once (e.g. video + first_frame).
Array [ object ]
Array items
urlstringRequiredArtifact URL, directly downloadable.
typestringRequiredCurrent possible values: video, image, audio, first_frame, last_frame, thumbnail; more may be added later.
expireAtnumberRequiredUnix seconds until which the artifact remains accessible; download or transfer before it expires.
errorobjectOptional
Present only when status == fail.
codestringRequiredBusiness error code.
messagestringRequiredError description.
Response examples
Success
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-01HZTQ8BX2N3GM3YFK4Z9D7VQR",
"model": "happyhorse-1-0",
"status": "success",
"created": 1777282033,
"completed": 1777282099,
"output": [
{
"url": "https://cdn.hiapi.ai/tasks/.../video.mp4",
"type": "video",
"expireAt": 1777886899
}
]
}
} Processing (non-terminal)
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "archiving",
"created": 1777282033,
"completed": 0
}
} Failed
{
"code": 200,
"message": "success",
"data": {
"taskId": "tk-hiapi-...",
"model": "happyhorse-1-0",
"status": "fail",
"created": 1777282033,
"completed": 1777282099,
"error": {
"code": "TASK_FAILED",
"message": "task failed"
}
}
} Articles
View all articles →Related Models
View all models →Same Type
-
Mirelo SFX 2.0 Mirelo AI $0.021 /second -
Lyria 3.5 Google $0.090 /song -
Lyria 3 Pro Google $0.140 /song -
Mureka 9.5 Mureka $0.322 per request -
MiniMax Music 1.5 MiniMax $0.070 /song -
Qwen Audio 3.0 TTS Alibaba $0.030 /1,000 characters -
ElevenLabs ElevenLabs $0.0029 /second -
MiniMax Music 3 MiniMax $0.0026 /second -
Gemini 3.1 Flash TTS Google --



