入口与鉴权
POST https://top.qingyuntop.ai/v1/responses
使用 Authorization: Bearer YOUR_API_KEY、Content-Type: application/json。下面示例生成纯音乐,background=false 表示持续观察本次请求。
代码示例
这些示例用于显示原始 SSE。生产应用应按空行分隔完整事件,再解析 data 中的 JSON,不能假设一个网络 chunk 就是一个完整 JSON 对象。
curl --fail-with-body -N --max-time 1800 "https://top.qingyuntop.ai/v1/responses" \
-H "Authorization: Bearer YOUR_API_KEY" \
-H "Content-Type: application/json" \
-d '{
"model": "suno_music",
"input": "适合安静阅读的钢琴与弦乐纯器乐。",
"metadata": {
"make_instrumental": true,
"mv": "chirp-v3-0"
},
"stream": true,
"background": false
}'事件与恢复
| 事件 | 应用处理 |
|---|---|
| response.created | 从 response 对象保存 id 与 metadata.task_id |
| response.in_progress | 更新任务状态;进度不是固定时长承诺 |
| response.output_text.delta | 追加文本;音乐结果可能包含 audio 标签文本 |
| response.completed | 获取最终 Response,然后下载音频或保存歌词 |
| response.failed | 查看 error,停止等待本次失败任务 |
| response.incomplete | 本次观察未完成,保存 ID 后继续 GET 查询 |
SSE 连接断开或客户端等待超时,不代表服务端任务取消。改用GET 查询原 Response,不要再次 POST。插件没有独立的取消或流重放接口。
音乐播放器链接在任务完成后才出现,仍需按下载音乐与封面取得真正的文件。