歌曲续写
接着你的歌往下写,可从指定秒数续写新段落;续写完一键合成完整版
模型信息
| 模型编码 | music-extend(请求里的 model 字段) |
|---|---|
| 能力类型 | 音乐与音效,产出音频 |
| 调用方式 | 异步任务:提交后立即返回任务编号,完成后查询或接收 Webhook 回调 |
| 最长处理时间 | 20 分钟,超时按失败处理并全额退回点数(任务 error.code 为 timeout) |
| 适用场景 | 续写、加长、完整版 |
计费说明
当前显示原价。登录秒做账号后刷新本页,会员看到会员价,渠道看到所属等级价。
| 规格 | 计价单位 | 原价(点) | 约合人民币 |
|---|---|---|---|
续写方式 续写上传的音频mode=upload | 每次 | 156 | ¥1.56 |
续写方式 合成完整版mode=whole | 每次 | 28 | ¥0.28 |
续写方式 续写我的作品mode=work | 每次 | 130 | ¥1.30 |
- 每次调用按固定数量计费。
- 不同规格单价不同,规格由参数 mode 决定。
- 提交时按报价冻结,成功后按报价扣点;失败、超时、取消全额退回。
- 约合人民币按 1 元 = 100 点折算。适用价格规则见计费与点数。
接口地址
POSThttps://api.miaozuo.cn/v1/tasks
提交后用 GET https://api.miaozuo.cn/v1/tasks/{id} 查询结果,或通过 Webhook 接收回调。任务接口的通用说明见任务查询。
请求参数
| 字段 | 类型 | 必填 | 说明 |
|---|---|---|---|
model | string | 是 | 固定为 music-extend |
input | object | 是 | 模型参数,见下表(也接受字段名 params) |
webhook_url | string | 否 | 任务结束时回调的 HTTPS 地址 |
metadata | object | 否 | 自定义键值,原样回显;最多 16 个键,值为不超过 512 字的字符串 |
input 参数
| 字段 | 类型 | 必填 | 取值范围 | 默认值 | 说明 |
|---|---|---|---|---|---|
mode | string | 是 | "work"(续写我的作品)、"upload"(续写上传的音频)、"whole"(合成完整版) | "work" | 续写方式。合成完整版:把续写出来的歌和它前面的部分拼成一首完整的歌 参与计价 |
song | string(文件地址) | 否 | 音频地址 | — | 选择作品。选择要续写的歌曲;合成完整版时选续写得到的那首。仅当 mode(续写方式)为 "work" / "whole" 时有效 |
audio | string(文件地址) | 否 | 音频地址,单个不超过 50MB | — | 上传音频。你自己的歌曲或哼唱录音,mp3 / wav;仅限你有权使用的音频。仅当 mode(续写方式)为 "upload" 时有效 |
start | number | 否 | 0 ~ 600 秒 | — | 从第几秒开始续写。不填则从结尾接着写。仅当 mode(续写方式)为 "work" / "upload" 时有效 |
lyrics | string | 否 | 最多 3000 个字符 | — | 续写部分的歌词(可选)。仅当 mode(续写方式)为 "work" / "upload" 时有效 |
style | string | 否 | 最多 200 个字符 | — | 曲风(可选)。仅当 mode(续写方式)为 "work" / "upload" 时有效 |
title | string | 否 | 最多 80 个字符 | — | 歌名(可选)。仅当 mode(续写方式)为 "work" / "upload" 时有效 |
组合规则
- 请选择一首作品
- 请上传音频
未定义的字段会被忽略,数字字符串会自动转成数字,缺省的字段按默认值补齐。文件类参数请先用 文件上传拿到秒做地址,也可以直接传可公开访问的 HTTPS 地址。
请求示例
curl https://api.miaozuo.cn/v1/tasks \
-H "Authorization: Bearer $MIAOZUO_API_KEY" \
-H "Content-Type: application/json" \
-H "Idempotency-Key: order-20261009-0001" \
-d '{
"model": "music-extend",
"input": {
"mode": "work",
"song": "https://api.miaozuo.cn/upload/202610/3b1f6c0e9d2a4b7c8e5f1a2b3c4d5e6f.mp3"
},
"metadata": {
"order_id": "1001"
}
}'返回示例
受理成功返回 HTTP 200 和任务对象,状态为 queued,所需点数已冻结(示例数值按原价估算):
提交返回
{
"id": "T261009170328CGM0GT",
"object": "task",
"model": "music-extend",
"status": "queued",
"created_at": "2026-10-09T17:03:28+08:00",
"started_at": null,
"finished_at": null,
"input": {
"mode": "work",
"song": "https://api.miaozuo.cn/upload/202610/3b1f6c0e9d2a4b7c8e5f1a2b3c4d5e6f.mp3"
},
"points": {
"frozen": "130.000",
"charged": "0.000",
"refunded": "0.000"
},
"output": null,
"error": null,
"metadata": {
"order_id": "1001"
}
}完成后查询任务(或 Webhook 回调的 data):
GET /v1/tasks/{id}(成功)
{
"id": "T261009170328CGM0GT",
"object": "task",
"model": "music-extend",
"status": "succeeded",
"created_at": "2026-10-09T17:03:28+08:00",
"started_at": "2026-10-09T17:03:29+08:00",
"finished_at": "2026-10-09T17:03:52+08:00",
"input": {
"mode": "work",
"song": "https://api.miaozuo.cn/upload/202610/3b1f6c0e9d2a4b7c8e5f1a2b3c4d5e6f.mp3"
},
"points": {
"frozen": "130.000",
"charged": "130.000",
"refunded": "0.000"
},
"output": {
"files": [
{
"url": "https://api.miaozuo.cn/ai/202610/3b1f6c0e9d2a4b7c8e5f1a2b3c4d5e6f.mp3",
"type": "audio",
"mime_type": "audio/mpeg",
"size": 482304,
"width": null,
"height": null,
"duration": 30,
"cover_url": null,
"expires_at": "2026-11-08T17:03:32+08:00"
}
]
},
"error": null,
"metadata": {
"order_id": "1001"
}
}返回字段
| 字段 | 类型 | 说明 |
|---|---|---|
id | string | 任务编号,形如 T261009170328CGM0GT |
status | string | queued / processing / succeeded / failed / canceled |
input | object | 校验并补齐默认值后的参数 |
points | object | 冻结、实扣、退回点数 |
output.files[].url | string | 结果文件地址(秒做存储,文件名为随机串) |
output.files[].type | string | 文件类型,此模型为 audio |
output.files[].mime_type | string | MIME 类型 |
output.files[].duration | number | 时长(秒) |
output.files[].expires_at | string | 文件到期时间,到期后删除,请及时转存 |
error | object | 失败原因 code、message;成功时为 null |
完整字段见任务对象。
错误码
调用这个模型时常见的错误(都不扣点)。完整列表与任务失败原因见错误码。
| HTTP | error.code | 说明 |
|---|---|---|
| 402 | insufficient_points | 点数(含授信额度)不足;不冻结、不开始生成 |
| 402 | key_quota_exceeded | Key 的额度已用完(额度可按日 / 周 / 月自动重置) |
| 403 | permission_denied | 该 Key 的可调模型不包含这个模型 |
| 404 | model_unavailable | 模型不存在、已下架、未对开放 API 开放,或对你的渠道等级不可见 |
| 422 | invalid_params | 参数错误:缺少必填字段、类型或取值超出范围(details 里逐字段说明) |
| 422 | content_rejected | 提示词或参考素材未通过内容安全审核;不扣点 |
| 429 | rate_limited | 每分钟请求数超过 Key 的限速,响应头带 Retry-After(秒) |
| 429 | concurrency_limited | 进行中的任务与文本调用数超过 Key 或账户的并发上限 |
在线测试
在开放平台的在线测试页选择这个模型直接调用,不用写代码;测试按正常价格扣点。未登录会先进入登录页。