音乐、音效与音频工具
通过 BigModel.io 的异步 POST /v1/audio/generations 任务生成歌曲、纯音乐和音效,或从视频中提取音频。
音乐、音效和音频工具模型通过 POST /v1/audio/generations 以异步任务运行:创建任务、查询状态、下载文件。音乐和音效按次计费,音频提取按输入视频秒数计费。失败的任务不收费。模型见模型目录 → 音频。
| 步骤 | 请求 |
|---|---|
| 创建任务 | POST /v1/audio/generations |
| 查询状态 | GET /v1/audio/generations/{id} |
| 下载 | GET /v1/audio/generations/{id}/content |
#生成一首歌
curl https://bigmodel.io/v1/audio/generations \
-H "Authorization: Bearer $BIGMODEL_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: rain-song-1" \
-d '{
"model": "minimax-music-3",
"prompt": "温暖的原声民谣,慢节奏,女声",
"lyrics": "[verse]\n雨落在窗上,茶在炉上\n[chorus]\n再多留一会儿"
}'import os, time, requests
BASE = "https://bigmodel.io/v1"
HEADERS = {"Authorization": f"Bearer {os.environ['BIGMODEL_API_KEY']}"}
task = requests.post(f"{BASE}/audio/generations", headers=HEADERS, json={
"model": "minimax-music-3",
"prompt": "适合学习时听的舒缓 lo-fi",
"instrumental": True,
}).json()
while task["status"] in ("queued", "running"):
time.sleep(5)
task = requests.get(f"{BASE}/audio/generations/{task['id']}", headers=HEADERS).json()
if task["status"] == "succeeded":
audio = requests.get(f"{BASE}/audio/generations/{task['id']}/content", headers=HEADERS)
open("song.mp3", "wb").write(audio.content)任务受理后返回 202、Location 响应头和 {"id": "...", "object": "audio.generation", "status": "queued", "estimated_cost_usd": ...}。
#各类模型的字段
| 类型 | 字段 |
|---|---|
| 音乐 | prompt(风格与情绪)和/或 lyrics;instrumental: true 生成纯音乐 |
| 音效 | prompt(必填);模型支持时可用 seconds 指定时长 |
音频提取(audio-extract) |
video(必填);isolate_voice: true 只保留人声;transcribe: true 同时返回文字稿 |
| 语音 | 与 /v1/audio/speech 字段相同,以任务形式返回 |
video 等输入可以是公开的 https:// 链接或 base64 data URI,单个不超过 50 MB。
任何请求体加上 "dry_run": true 都会只返回报价、不开始生成。带上 Idempotency-Key 请求头(最多 200 个字符),重试时会拿回原任务而不是再建一个。
#状态与下载
status 依次为 queued、running,最终为 succeeded、failed 或 canceled。成功的任务带有 output: {"type": "audio", "url": "...", "expires_in": 86400} 和 cost_usd。链接无需 API Key 即可访问,有效期 24 小时。/content 会 302 跳转到同一文件,curl 需加 -L。3 小时内未完成的任务会以 failed 结束,不收费。
#验证配置
创建上面的纯音乐示例,查询到 succeeded 后打开下载的文件。扣费记录在用量中。
#常见问题排查
400 “prompt or lyrics is required”。 音乐需要风格描述、歌词或两者兼有。
400 “video is required for this model”。 音频工具需要输入视频。
402 insufficient_balance。 余额扣除运行中任务后不足以覆盖预估,请到充值页面充值。
404 model_not_available。 该模型不对这个 Key 开放,或应调用其他接口(视频模型使用 /v1/videos)。
/content 返回 409 not_ready。 任务尚未成功,请继续查询。
任务 failed 并带有 error.message。 模型未能生成音频,常见原因是提示词或歌词。不收费。
#相关文档
更新于 · 以 Markdown 查看