当 stream: true, task: false 时,服务端以标准 SSE(Server-Sent Events)返回音频数据。
请求示例
curl -N -X POST https://51kik.com/audio/v1/generations \
-H 'Authorization: Bearer sk-xxxxxxxx' \
-H 'Content-Type: application/json' \
-d '{
"model": "<streaming-audio-model>",
"prompt": "这是一段流式语音合成示例。",
"voice": "<voice>",
"stream": true,
"task": false
}'
SSE 事件类型
| 事件 | 说明 |
|---|---|
audio | 一段音频结果,data.url 为音频地址 |
timeline | 字词、时间轴等附加信息 |
complete | 生成完成,包含最终 usage 与结果 |
error | 生成失败 |
完成信号
成功结束时会发送 complete 事件以及 data: [DONE]。客户端应持续读取事件直到收到 [DONE]。
错误处理
SSE 模式一旦已经向客户端发送音频事件,就不能无缝切换到另一条路由;客户端应处理 error 事件并结束当前流。