生成语音
POSThttps://api.knoxstudio.ai/v1/text-to-speech/:voice_id
使用来自 音色 的 ElevenLabs voice_id 合成完整 text。公开音色如 21m00Tcm4TlvDq8ikWAM 也可使用。默认模型 eleven_multilingual_v2。按字符计费($0.15 或 $0.10 / 千字符)。指南:文本转语音。
请求
路径参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| voice_id | String | 是 | ElevenLabs 音色 ID。 |
查询参数
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| enable_logging | Boolean | 否 | 默认 true。false 请求零保留模式。 |
| optimize_streaming_latency | Integer | 否 | 已弃用。0–4 延迟/质量权衡。 |
| output_format | String | 否 | 默认 mp3_44100_128。格式为 codec_sample_rate_bitrate。 |
允许的 output_format 包含 WAV:alaw_8000, mp3_22050_32, mp3_24000_48, mp3_44100_128, mp3_44100_192, mp3_44100_32, mp3_44100_64, mp3_44100_96, opus_48000_128, opus_48000_192, opus_48000_32, opus_48000_64, opus_48000_96, pcm_16000, pcm_22050, pcm_24000, pcm_32000, pcm_44100, pcm_48000, pcm_8000, ulaw_8000, wav_16000, wav_22050, wav_24000, wav_32000, wav_44100, wav_48000, wav_8000。
请求头
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| Authorization | String | 是 | Bearer <token> Knox API key。也接受 xi-api-key。 |
| Content-Type | String | 是 | application/json。 |
请求体
| 名称 | 类型 | 必填 | 描述 |
|---|---|---|---|
| text | String | 是 | 要朗读的文本。最大字符数取决于 model_id(5,000–40,000)。 |
| model_id | String | 否 | 默认 eleven_multilingual_v2。见 GET /v1/text-to-speech/models。 |
| language_code | String | 否 | ISO 639-1。对 eleven_multilingual_v2 会被忽略。 |
| voice_settings | Object | 否 | 单次覆盖:stability(0.5)、similarity_boost(0.75)、style(0)、speed(1.0)、use_speaker_boost(true)。 |
| pronunciation_dictionary_locators | List of Objects | 否 | 最多 3 个定位器,含 pronunciation_dictionary_id 和可选 version_id。 |
| seed | Integer | 否 | 0–4294967295。尽力保证确定性。 |
| previous_text | String | 否 | 前文,用于连贯性。 |
| next_text | String | 否 | 后文,用于连贯性。 |
| previous_request_ids | List of Strings | 否 | 最多 3 个先前 request_id。若同时发送则覆盖 previous_text。 |
| next_request_ids | List of Strings | 否 | 最多 3 个后续 request_id。若同时发送则覆盖 next_text。 |
| apply_text_normalization | String | 否 | auto(默认)、on 或 off。 |
| apply_language_text_normalization | Boolean | 否 | 额外语言规范化(日语)。会增加延迟。默认 false。 |
cURL 示例
curl -X POST "https://api.knoxstudio.ai/v1/text-to-speech/21m00Tcm4TlvDq8ikWAM?output_format=mp3_44100_128" \
-H "Authorization: Bearer $KNOXCHAT_API_KEY" \
-H "Content-Type: application/json" \
-o speech.mp3 \
-d '{
"text": "Hello from Knox. This is text to speech.",
"model_id": "eleven_multilingual_v2"
}'
响应
成功响应 (200)
生成的音频文件。Content-Type 随 output_format。
错误响应
校验失败返回 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 | 服务器内部错误。 |