Suno API 怎么接入?从申请 Key 到生成第一首歌
从获取 API Key、提交生成请求,到轮询任务状态、获取音频地址,完整走一遍 Suno API 的接入流程。
接入流程本身不复杂,关键是要理解它是异步任务:提交成功不等于生成完成,必须再查询一次状态。下面按顺序走一遍。
第一步:拿到 API Key
注册账号后,在控制台获取 API Key。调用时放在请求头里:
Authorization: Bearer <API_KEY>
Content-Type: application/json
API Key 只放在你自己的服务端,不要写进前端代码、移动端安装包或公开仓库。
第二步:提交生成请求
灵感模式只需要一段描述:
POST /api/music/create
{
"description": "明亮的中文流行歌曲,钢琴前奏,温暖女声",
"model": "suno-v6"
}
专业模式可以指定歌词、风格和标题:
POST /api/music/create/custom
{
"lyrics": "[Verse]\n夜色落在窗前",
"style_tags": "mandopop, piano, warm",
"song_title": "向光而行",
"model": "suno-v6"
}
第三步:轮询任务状态
提交后会拿到歌曲 ID。用查询接口确认状态,建议每 3 到 5 秒查一次,不要高频重试。
POST /api/music/query
{ "song_ids": ["你的歌曲 ID"] }
| 状态 | 含义 |
|---|---|
| pending / processing | 已受理或正在生成,继续等待 |
| completed | 已完成,可以获取音频地址 |
| failed | 终态失败,读取错误信息 |
第四步:获取音频地址
任务完成后调用下载地址接口,按需要取 MP3、WAV 或视频:
POST /api/music/download-url
{ "song_id": "你的歌曲 ID", "kind": "mp3" }
请使用接口返回的地址,不要自行拼接或缓存历史链接。
几个容易踩的坑
- 把提交成功当成生成完成,直接去读音频地址,结果拿到空值。
- 用页面上的临时占位 ID 去调用接口,应该使用真实的歌曲 ID。
- 忘记处理失败终态,任务卡在轮询里。
- 在客户端暴露 API Key。
完整字段说明见 API 文档,需要联调协助可以联系客服。