众扬汇 AI 开放平台 API 文档

场景十: 上传续写

本场景演示“上传本地音频 → 续写/二次创作”的完整链路,共 6 步。除第 2 步外,所有请求都发往 Base URL https://api.allyang.cn,并携带请求头 Authorization: Bearer <令牌>。

API 有 6 个步骤

1.上传请求

post https://api.allyang.cn/suno/uploads/audio

请求体

json
{ "extension": "mp3" }

返回示例

json
{
  "id": "<audio_id>",
  "url": "<预签名上传地址>",
  "fields": {
    "Content-Type": "audio/mpeg",
    "key": "<对象存储 key>",
    "AWSAccessKeyId": "<临时凭证>",
    "policy": "<策略串>",
    "signature": "<签名>"
  }
}

返回中的 id 即下文使用的 audio_id,url 为第 2 步的上传地址。

2.上传文件

post <第 1 步返回的 url>

请求体由第 1 步返回的 fields 各字段加音频文件本体组成(multipart/form-data):

shell
curl --request POST \
  --url '<第 1 步返回的 url>' \
  --header 'content-type: multipart/form-data' \
  --form Content-Type=audio/mpeg \
  --form key=<fields.key> \
  --form AWSAccessKeyId=<fields.AWSAccessKeyId> \
  --form policy=<fields.policy> \
  --form signature=<fields.signature> \
  --form file=@/path/to/your.mp3

返回 20x 即表示上传成功。

3.报告上传完毕

post https://api.allyang.cn/suno/uploads/audio/{id}/upload-finish

请求体

json
{ "upload_type": "file_upload", "upload_filename": "your.mp3" }

4.查询上传处理状态

get https://api.allyang.cn/suno/uploads/audio/{id}

返回示例

json
{
  "id": "<audio_id>",
  "status": "complete",
  "error_message": null,
  "s3_id": "<clip_id>",
  "title": "<标题>",
  "image_url": "<封面地址>"
}

status 为 complete 时表示处理完成。

5.初始化音频文件

post https://api.allyang.cn/suno/uploads/audio/{id}/initialize-clip

请求体

json
{}

返回示例

json
{ "clip_id": "<clip_id>" }

6.获取与进行二次创作

把上一步的 clip_id 填入「获取歌曲」接口的 id 参数即可取回作品。

旧版上传扩展方式(mv 为 chirp-v3-5-upload / chirp-v4-upload)已弃用;现推荐通过创建歌曲任务接口续写——continue_clip_id 填上一步的 clip_id,task 填 upload_extend,mv 填目标版本:

json
{
  "prompt": "<歌词>",
  "tags": "",
  "negative_tags": "",
  "mv": "chirp-v4",
  "title": "<标题>",
  "continue_clip_id": "<clip_id>",
  "continue_at": 10,
  "task": "upload_extend"
}