多上下文 TTS WebSocket
GETwss://api.knoxstudio.ai/v1/text-to-speech/:voice_id/multi-stream-input
传输方式与 TTS WebSocket 相同,但每个 context_id 保持独立生成状态。适合交错的语音代理回复。GET 和 POST 都接受升级。仅流式格式。按字符计费。
请求
路径、查询和认证与 文本转语音 WebSocket 相同:voice_id、model_id、流式 output_format、enable_logging、apply_text_normalization。普通 HTTP 返回 400。
客户端消息
{
"text": "第一个上下文 ",
"context_id": "agent-a",
"try_trigger_generation": true
}
独立冲刷或关闭单个上下文:
{ "context_id": "agent-a", "text": "", "flush": true }
{ "context_id": "agent-a", "close_context": true }
使用 close_socket: true 终止整个套接字。
服务端消息
音频帧包含 contextId,便于分流并发生成。isFinal 作用于该上下文。
需要并发或交错流时使用此 API。单一顺序流请使用 /stream-input。
错误响应
校验失败返回 HTTP 422:
{
"detail": [
{
"loc": ["body", "field"],
"msg": "…",
"type": "value_error"
}
]
}
其他错误使用 { "detail": "message" }。
| 状态 | 何时 |
|---|---|
400 | 未携带 Upgrade: websocket 访问 WebSocket 路径。 |
401 | 缺少或无效的 API key。 |
402 | 余额不足。 |
403 | Token 无权使用该模型。 |
404 | 资源不存在。 |
422 | 校验错误。 |
429 | 超出速率限制。 |
500 | 服务器内部错误。 |