Skip to content
EN

场景十: 上传续写

image.png

API 有 6 个步骤

1.上传请求

post /suno/uploads/audio

请求体

{ "extension": "mp3" }

返回

{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"url": "https://suno-uploads.s3.amazonaws.com/",
"fields": {
"Content-Type": "audio/mpeg",
"key": "raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3",
"AWSAccessKeyId": "AKIA2V4GXGDKJMTPWLXO",
"policy": "eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ==",
"signature": "yjfB/HTNgPHURNLRdeizNMVgG6k="
}
}

这里的 id 是下文的 audio_id, 同时 url 是第二步的请求 URL

2.上传文件

post https://suno-uploads.s3.amazonaws.com/

curl --request POST
--url https://suno-uploads.s3.amazonaws.com/
--header 'content-type: multipart/form-data'
--form Content-Type=audio/mpeg
--form key=raw_uploads/c25a8c59-000a-481f-ac28-efde2dc9e677.mp3
--form AWSAccessKeyId=AKIA2V4GXGDKJMTPWLXO
--form policy=eyJleHBpcmF0aW9uIjogIjIwMjQtMDYtMTdUMDY6MTg6MzJaIiwgImNvbmRpdGlvbnMiOiBbWyJjb250ZW50LWxlbmd0aC1yYW5nZSIsIDAsIDEwNDg1NzYwMF0sIFsic3RhcnRzLXdpdGgiLCAiJENvbnRlbnQtVHlwZSIsICJhdWRpby9tcGVnIl0sIHsiYnVja2V0IjogInN1bm8tdXBsb2FkcyJ9LCB7ImtleSI6ICJyYXdfdXBsb2Fkcy9jMjVhOGM1OS0wMDBhLTQ4MWYtYWMyOC1lZmRlMmRjOWU2NzcubXAzIn1dfQ==
--form signature=yjfB/HTNgPHURNLRdeizNMVgG6k=
--form file=@/you_mp3_dir_file.mp3

请求体由上面的fields 加 file的 mp3 文件 返回 20x就表示成功

3.报告上传完毕

post /suno/uploads/audio/{id}/upload-finish

请求体

{ "upload_type": "file_upload", "upload_filename": "you_mp3_name.mp3" }

4.查询上传处理状态

get /suno/uploads/audio/

返回体

{
"id": "c25a8c59-000a-481f-ac28-efde2dc9e677",
"status": "complete",
"error_message": null,
"s3_id": "m_05c9b477-4519-4810-9ffa-00580c082067",
"title": "S-100096-100096-84069F8B",
"image_url": "https://cdn1.suno.ai/image_05c9b477-4519-4810-9ffa-00580c082067.png"
}

status 当为 complete 时表示完成

5.初始化音频文件

post /suno/uploads/audio/{id}/initialize-clip

请求体

{}

返回体

{
"clip_id": "05c9b477-4519-4810-9ffa-00580c082067"
}

6.获取与进行二次创作

通过获取歌曲接口 将上面的 clip_id 带到 id 上 已经弃用 通过创建歌曲任务定制模型 将接口中的 continue_clip_id 填入 clip_id得值 ,mv填入chirp-v3-5-upload 带不同版本的方式

{
"prompt": "歌词",
"tags": "",
"negative_tags": "",
"mv": "chirp-v4",
"title": "标题",
"continue_clip_id": "ca94a97d-d3f2-4a63-aeee-ba3a43384bcd",
"continue_at": 10,
"task": "upload_extend"
}```