地下图书馆的星图 · 奇幻纯器乐:低音弦乐、木管与钟琴,呈现探索、发现与平静收束。
MiniMax Music 2.6 Text to Audio API
minimax/music-2.6MiniMax Music 2.6 Text to Audio 将风格描述转为歌曲与纯音乐,支持自定义歌词和自动作词。用曲风、乐器与段落标记引导编曲,让音乐围绕你的主题展开。
候鸟回到芦苇湾
原创中文民谣:自然女声与指弹吉他,从安静观察走向开阔副歌。
示例
音乐生成接口
开始调用音乐生成接口
提交风格提示词与歌词,然后使用返回的 task_id 获取生成音频。
配置身份验证
使用 Vidgo API Key 作为 Bearer 凭证,并以 JSON 提交请求。
- 提交地址
- POST
https://api.vidgo.ai/api/generate/submit - 身份验证
- Authorization: Bearer <VIDGO_API_KEY>
提交音乐请求
此示例填写风格提示词与自定义歌词,可替换为你的音乐构思和歌词。
REQUEST_BODY=$(cat <<'JSON'
{
"model": "minimax/music-2.6",
"input": {
"prompt": "Mandarin indie folk song, 82 BPM, 4/4, D major. A wetland observer watches migrating birds return to a reed-lined bay after winter. Warm intimate female alto, natural breaths, clear Mandarin diction, understated emotion rather than theatrical belting. Fingerpicked acoustic guitar and a close dry vocal begin alone; cello enters in the pre-chorus; restrained brushed drums and rounded bass support a spacious melodic chorus. Bridge briefly strips back to voice and cello, then a final fuller chorus opens like wings over water. Soft resolved guitar outro, no abrupt cutoff. Keep the supplied Chinese lyrics and section order. Organic recording, clear vocal above the instruments, warm separated low end.",
"lyrics": "[Verse]\n我把脚步放轻在木桥上\n昨夜的薄霜还留在草尖\n空了一个冬天的芦苇湾\n有一声鸣叫越过了水面\n\n[Pre Chorus]\n合上那本写满日期的手册\n抬头看见风有了形状\n\n[Chorus]\n你们回来了 掠过这片湾\n把长长的远方折成一双翅膀\n我站在岸边 不急着呼喊\n让春天先落在安静的水上\n\n[Bridge]\n去年弯下的苇秆又慢慢站起\n小小的倒影接住整片天\n我在空白一页写下今天\n有些等待终于不必计算\n\n[Chorus]\n你们回来了 掠过这片湾\n把长长的远方折成一双翅膀\n我站在岸边 不急着呼喊\n让春天先落在安静的水上\n\n[Outro]\n木桥轻轻响 风吹过衣裳\n芦苇湾留住了第一缕暖阳",
"is_instrumental": false,
"lyrics_optimizer": false,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
}
}
}
JSON
)
RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
CODE=$(printf '%s' "$RESPONSE" | jq -r '.code // empty')
if [ "$CODE" != "0" ] && [ "$CODE" != "200" ]; then
printf 'API error: %s
' "$RESPONSE" >&2
exit 1
fi
printf '%s
' "$RESPONSE"查询任务状态
将提交响应中的 task_id 填入状态查询地址,查询同一任务的进度。
状态查询地址
GET https://api.vidgo.ai/api/generate/status/{task_id}使用相同的 Bearer 凭证查询任务;finished 后读取 files,failed 时读取 error_message。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "EQD72RVTY9MDSV76",
"status": "running",
"created_time": "2026-09-27T16:25:19"
}
}{
"code": 200,
"data": {
"task_id": "EQD72RVTY9MDSV76",
"status": "finished",
"files": [
{
"file_url": "https://cdn.vidgo.ai/apis/models/minimax/music-2.6/v1/01/output.mp3",
"file_type": "audio"
}
],
"created_time": "2026-09-27T16:25:19",
"error_message": null,
"progress": 100
}
}获取音频文件
状态为 finished 后,读取 files 中 file_type 为 audio 的文件地址进行播放或下载。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "minimax/music-2.6",
"input": {
"prompt": "Mandarin indie folk song, 82 BPM, 4/4, D major. A wetland observer watches migrating birds return to a reed-lined bay after winter. Warm intimate female alto, natural breaths, clear Mandarin diction, understated emotion rather than theatrical belting. Fingerpicked acoustic guitar and a close dry vocal begin alone; cello enters in the pre-chorus; restrained brushed drums and rounded bass support a spacious melodic chorus. Bridge briefly strips back to voice and cello, then a final fuller chorus opens like wings over water. Soft resolved guitar outro, no abrupt cutoff. Keep the supplied Chinese lyrics and section order. Organic recording, clear vocal above the instruments, warm separated low end.",
"lyrics": "[Verse]\n我把脚步放轻在木桥上\n昨夜的薄霜还留在草尖\n空了一个冬天的芦苇湾\n有一声鸣叫越过了水面\n\n[Pre Chorus]\n合上那本写满日期的手册\n抬头看见风有了形状\n\n[Chorus]\n你们回来了 掠过这片湾\n把长长的远方折成一双翅膀\n我站在岸边 不急着呼喊\n让春天先落在安静的水上\n\n[Bridge]\n去年弯下的苇秆又慢慢站起\n小小的倒影接住整片天\n我在空白一页写下今天\n有些等待终于不必计算\n\n[Chorus]\n你们回来了 掠过这片湾\n把长长的远方折成一双翅膀\n我站在岸边 不急着呼喊\n让春天先落在安静的水上\n\n[Outro]\n木桥轻轻响 风吹过衣裳\n芦苇湾留住了第一缕暖阳",
"is_instrumental": false,
"lyrics_optimizer": false,
"audio_setting": {
"sample_rate": 44100,
"bitrate": 256000,
"format": "mp3"
}
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
BUSINESS_CODE=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Submit failed:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
START_TIME=$(date +%s)
POLL_DELAY=2
while true; do
if [ $(( $(date +%s) - START_TIME )) -ge 600 ]; then
printf 'Timed out after 600 seconds
' >&2
exit 1
fi
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
BUSINESS_CODE=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.code // empty')
if [ "$BUSINESS_CODE" != "0" ] && [ "$BUSINESS_CODE" != "200" ]; then
printf 'Status request failed:
%s
' "$STATUS_RESPONSE" >&2
exit 1
fi
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep "$POLL_DELAY"
if [ "$POLL_DELAY" -lt 10 ]; then POLL_DELAY=$((POLL_DELAY + 1)); fi
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
done请求参数
将 model 设为 minimax/music-2.6,音乐参数放在 input 内;可在请求根节点填写 HTTP(S) callback_url。
| 字段 | 类型 | 填写要求 | 默认值 | 说明 |
|---|---|---|---|---|
| input.prompt | string | 必填 | 用 10–2000 字符描述曲风、情绪、乐器、节奏或演唱风格。 | |
| input.lyrics | string | 按模式填写 | 最多 3500 字符。is_instrumental 和 lyrics_optimizer 均为 false 时填写歌词;纯音乐模式将歌词留空。 | |
| input.lyrics_optimizer | boolean | 可选 | false | 设为 true 且歌词为空时,根据 prompt 自动生成歌词;纯音乐模式设为 false。 |
| input.is_instrumental | boolean | 可选 | false | 设为 true 生成纯音乐,同时将歌词留空并将 lyrics_optimizer 设为 false。 |
| input.audio_setting | object | 可选 | 音频输出设置,包含 sample_rate、bitrate 和 format。 | |
| input.audio_setting.sample_rate | integer | 可选 | 44100 | 采样率,单位为 Hz。 16000, 24000, 32000, 44100 |
| input.audio_setting.bitrate | integer | 可选 | 256000 | 码率,单位为 bit/s。 32000, 64000, 128000, 256000 |
| input.audio_setting.format | string | 可选 | mp3 | 音频文件格式。 mp3, wav, pcm |
响应字段
成功响应的 code 为 0 或 200,任务对象位于 data;完成后从 data.files 读取音频文件。
| 字段 | 类型 | 说明 |
|---|---|---|
| task_id | string | 任务标识,用于后续状态查询。 |
| status | string | 当前任务状态,取值见任务状态说明。 |
| files | object[] | 生成完成后的文件列表。 |
| files[].file_url | string | 音频文件地址,可用于播放或下载。 |
| files[].file_type | string | 音乐结果的文件类型为 audio。 |
| progress | number | 响应提供时显示任务进度。 |
| error_message | string | null | 任务失败时的错误说明。 |
任务状态
保存提交后返回的 task_id,并使用同一标识查询生成进度。
not_started任务已进入队列,等待开始生成。
running正在创作音乐,继续查询同一任务。
finished生成完成,从 files 中读取音频文件地址。
failed任务失败,读取 error_message 后检查输入。
查询与异常处理
- 检查音乐参数检查提示词与歌词长度、布尔值和音频设置;纯音乐模式将歌词留空,并将 lyrics_optimizer 设为 false。
- 继续查询现有任务任务处于 not_started 或 running 时继续查询状态;体验区自动查询暂停后,可点击“继续查询任务”。
- 根据响应处理异常请求异常时检查 HTTP 状态和响应信息;任务状态为 failed 时,读取 error_message 并检查输入后重试。
接口规格
| 项目 | 取值 | 说明 |
|---|---|---|
| 模型 | minimax/music-2.6 | 提交请求时使用此 model 值。 |
| 音频规格 | 44100 Hz / 256000 bit/s / mp3 | 默认输出规格。 |
| 输出 | audio | 任务完成后,从 data.files 读取音频地址。 |
MiniMax Music 2.6 Text to Audio API 常见问题
MiniMax Music 2.6 Text to Audio API 是什么?
MiniMax Music 2.6 Text to Audio 是 MiniMax 用于将风格描述与歌词转为歌曲或纯音乐的生成模型。它结合演唱与伴奏,支持自定义歌词、自动作词和纯音乐创作。提示词指导曲风、节奏和乐器,歌词段落标记帮助组织主歌、副歌与桥段。你可以通过 API 进行程序化调用,也可以在体验标签页直接在线试用。
MiniMax Music 2.6 如何创作纯音乐?
开启 Is Instrumental,将 Lyrics 留空并关闭 Lyrics Optimizer。在 Prompt 中描述乐器、曲风和情绪推进,例如钢琴主题、弦乐铺底或逐渐增强的鼓组。
MiniMax Music 2.6 如何自动作词?
开启 Lyrics Optimizer,将 Lyrics 留空,并保持 Is Instrumental 关闭。在 Prompt 中写明歌曲主题、叙述视角与演唱风格,模型会依据这些描述生成歌词。
MiniMax Music 2.6 如何使用自定义歌词?
在 Lyrics 中填写最多 3500 字符的歌词,关闭 Lyrics Optimizer 和 Is Instrumental。在 Prompt 中单独描述曲风与演唱方式,让歌词内容和音乐方向各自清晰。
MiniMax Music 2.6 如何使用段落标签?
在歌词段落前添加 [Verse]、[Chorus] 或 [Bridge],用换行区分主歌、副歌和桥段。标签用于组织歌曲结构,提示词则描述各段希望呈现的乐器和情绪变化。
MiniMax Music 2.6 如何指定 BPM?
在 Prompt 中直接写出目标 BPM,例如“90 BPM,原声吉他民谣”,并补充曲风与节奏感。将 BPM 作为音乐方向的一部分,试听后再调整提示词中的节奏描述。
MiniMax Music 2.6 如何引导乐器编配?
在 Prompt 中点明主要乐器及其作用,例如钢琴主旋律、弦乐铺底和鼓组推进。需要段落变化时,可描述前奏稀疏、副歌层次更丰富等编曲方向。
MiniMax Music 2.6 提供哪些输出规格?
可选择 mp3、wav 或 pcm,采样率最高为 44100 Hz,码率最高为 256000 bit/s。默认采用 44100 Hz、256000 bit/s 的 mp3;完整档位见参数说明,MP3 和 WAV 可在页面试听。
