音乐与歌词
本页介绍平台已经开放的 SunoAPI 兼容接口。歌词和音乐是两个动作,分别需要账号具备对应模型权限。这里的密钥仍然是 CertaEdge API Key,不需要把其他平台密钥交给客户端。
先按接入总览设置鉴权。接口使用 /suno/... 路径,不是在 /v1 后继续追加 /suno。
歌词:先跑通最小任务
创建 lyrics.json:
json
{
"prompt": "写一段关于雨后城市散步的中文歌词,包含主歌和副歌。"
}提交:
bash
curl -sS -X POST https://certaedge.com/suno/submit/lyrics \
-H "Authorization: Bearer $CERTAEDGE_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @lyrics.json原生接口成功时的结构如下:
json
{
"code": "success",
"message": "",
"data": "task_EXAMPLE"
}检查 code,并保存真实 data。这里的 data 是任务 ID,不是歌词文字。
音乐:填写描述与版本
需要音乐权限时,创建 music.json:
json
{
"gpt_description_prompt": "轻柔钢琴和弦乐,适合作为雨后城市画面的背景音乐,无人声。",
"make_instrumental": true,
"mv": "YOUR_ENABLED_MUSIC_VERSION"
}mv 是当前已开放的音乐版本值,不是目录中的 suno_music 名称。请使用模型说明给出的版本,不把 YOUR_ENABLED_MUSIC_VERSION 原样发送;未说明版本时先向平台确认。make_instrumental: true 表示请求纯音乐,是否实现仍受对应版本支持范围影响。
bash
curl -sS -X POST https://certaedge.com/suno/submit/music \
-H "Authorization: Bearer $CERTAEDGE_API_KEY" \
-H 'Content-Type: application/json' \
--data-binary @music.json原生提交路径决定歌词或音乐动作,不需要另外猜测一个 model 参数来切换动作。
查询并读取结果
将任务 ID 写入当前终端:
bash
export CERTAEDGE_TASK_ID='task_EXAMPLE'
curl -sS "https://certaedge.com/suno/fetch/$CERTAEDGE_TASK_ID" \
-H "Authorization: Bearer $CERTAEDGE_API_KEY"外层 code: success 表示查询成功。继续检查 data.status:SUCCESS 才是生成成功,FAILURE 表示失败;其他进行中状态按轮询说明等待。
成功后检查任务数据:歌词读取其中的文本;音乐可能产生多个条目与封面,不只读取数组的第一项。需要下载音频或封面时,按通用任务产物接口列出实际产物,再选择对应条目。
灵活用法
- 在 Dify 工作流中先生成音乐描述,再提交音乐任务。
- 用 n8n等待结果,保存音频与封面。
- 统一使用 Responses 后台模式时,保留该接口返回的
resp_...,不要混用原生接口的data路径。