今晚,我们先找到北斗七星,再从勺口两颗星的方向寻找北极星。它看起来并不耀眼,却能帮我们辨认北方。在黑暗中安静地等待片刻,你会发现,夜空远比第一眼看到的更丰富。
ElevenLabs TTS Turbo v2.5 Text to Speech API
elevenlabs/tts/turbo-v2.5ElevenLabs TTS Turbo v2.5 Text to Speech 将文稿转为自然语音,覆盖32种语言并可调语速。通过音色相似度与稳定性设置,控制旁白的声音特征和表达变化。
查看 API 文档输入
189 / 40,000 字符
示例
REST API
快速开始
以下流程提交一个合法的 ElevenLabs TTS Turbo v2.5 Text to Speech API 请求,取得 task_id,并在异步任务结束后读取音频 URL。
连接 Vidgo API
创建 API Key,仅保存在服务端,并通过 Authorization: Bearer VIDGO_API_KEY 发送。
- 端点
- POST
https://api.vidgo.ai/api/generate/submit - 认证
- Authorization: Bearer VIDGO_API_KEY
提交一个音频任务
向统一提交端点发送当前模型 ID、朗读文本,示例只包含完成首次调用所需的字段。
curl --request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data '{
"model": "elevenlabs/tts/turbo-v2.5",
"input": {
"text": "Welcome. Your next chapter starts here.",
"voice": "Rachel",
"speed": 1,
"stability": 0.5,
"similarity_boost": 0.75,
"style": 0,
"timestamps": false,
"apply_text_normalization": "auto"
}
}'等待音频结果
读取 data.task_id,仅在 not_started 或 running 时继续轮询;finished 与 failed 都必须停止。
查询状态
GET https://api.vidgo.ai/api/generate/status/{task_id}建议每 2–5 秒查询一次,并对 429/5xx 退避。也可在顶层提供 callback_url,在任务进入终态时接收回调。
not_startedrunningfinishedfailed{
"code": 200,
"data": {
"task_id": "task-example",
"status": "running",
"created_time": "2026-09-25T11:31:42"
}
}{
"code": 200,
"data": {
"task_id": "task-example",
"status": "finished",
"files": [
{
"file_url": "https://example.com/speech.mp3",
"file_type": "audio"
}
],
"created_time": "2026-09-27T00:00:00",
"progress": 100,
"error_message": null
}
}完整可运行轮询示例
展开查看 JavaScript 和 Python 示例,提交相同文本请求,并轮询至 finished 或 failed。
set -euo pipefail
: "${VIDGO_API_KEY:?Set VIDGO_API_KEY in your environment}"
REQUEST_BODY=$(cat <<'JSON'
{
"model": "elevenlabs/tts/turbo-v2.5",
"input": {
"text": "Welcome. Your next chapter starts here.",
"voice": "Rachel",
"speed": 1,
"stability": 0.5,
"similarity_boost": 0.75,
"style": 0,
"timestamps": false,
"apply_text_normalization": "auto"
}
}
JSON
)
SUBMIT_RESPONSE=$(curl --silent --show-error --fail-with-body \
--request POST \
--url "https://api.vidgo.ai/api/generate/submit" \
--header "Authorization: Bearer $VIDGO_API_KEY" \
--header "Content-Type: application/json" \
--data "$REQUEST_BODY")
TASK_ID=$(printf '%s' "$SUBMIT_RESPONSE" | jq -r '.data.task_id // .task_id // empty')
if [ -z "$TASK_ID" ]; then
printf 'Submit response did not include task_id:
%s
' "$SUBMIT_RESPONSE" >&2
exit 1
fi
while true; do
STATUS_RESPONSE=$(curl --silent --show-error --fail-with-body \
--url "https://api.vidgo.ai/api/generate/status/$TASK_ID" \
--header "Authorization: Bearer $VIDGO_API_KEY")
STATUS=$(printf '%s' "$STATUS_RESPONSE" | jq -r '.data.status // .status // empty')
case "$STATUS" in
finished)
printf '%s' "$STATUS_RESPONSE" | jq -r '(.data.files // .files // [])[]?.file_url'
break
;;
failed)
printf '%s' "$STATUS_RESPONSE" | jq -r '.data.error_message // .error_message // "Generation failed"' >&2
exit 1
;;
not_started|running)
sleep 2
;;
*)
printf 'Unexpected task status: %s
' "$STATUS" >&2
exit 1
;;
esac
done请求参数
下表仅列出 input 对象内的公开字段。顶层 model 与可选 callback_url 请参考快速开始示例。
| 字段 | 类型 | 必填 | 默认值 | 说明 |
|---|---|---|---|---|
| input.text | string | 是 | – | 填写需要朗读的正文。去除首尾空白后,每次可输入 1–40,000 个 Unicode 字符。 |
| input.voice | string | 否 | Rachel | 填写音色名称或兼容的音色 ID,默认使用 Rachel。 |
| input.speed | number | 否 | 1 | 语速范围为 0.7–1.2,默认值 1 为标准速度。 |
| input.stability | number | 否 | 0.5 | 范围为 0–1。较高值让表达更平稳,较低值增加变化,默认值为 0.5。 |
| input.similarity_boost | number | 否 | 0.75 | 调节生成声音与所选音色的相似程度,范围为 0–1,默认值为 0.75。 |
| input.style | number | 否 | 0 | 调节风格表现强度,范围为 0–1。建议从默认值 0 开始,小幅调整并试听。 |
| input.timestamps | boolean | 否 | false | 设为 true 时,请求随音频返回时间戳数据;默认值为 false。 |
| input.language_code | string | null | 否 | – | 填写 ISO 639-1 语言代码,例如 en、zh 或 es,用于指定朗读语言。 |
| input.apply_text_normalization | string | 否 | auto | 使用 auto、on 或 off 控制数字、日期和货币的文本规范化,默认值为 auto。 |
| input.previous_text | string | null | 否 | – | 填写当前段落之前的文本,为分段生成时的语气衔接提供上下文。 |
| input.next_text | string | null | 否 | – | 填写当前段落之后的文本,为当前段落结尾的表达提供上下文。 |
响应字段
提交响应返回任务标识;状态响应在任务结束时提供音频文件或失败信息。
| 字段 | 类型 | 说明 |
|---|---|---|
| code | integer | 业务返回码,0 或 200 表示成功。 |
| message | string | 可选的人类可读响应信息。 |
| data.task_id | string | 提交成功后用于查询状态的唯一任务 ID。 |
| data.status | string | not_started、running、finished 或 failed。 |
| data.created_time | string | 任务创建时间。 |
| data.progress | integer | 状态响应中的 0–100 进度值。 |
| data.files[] | array | finished 时按返回顺序排列的生成文件。 |
| data.files[].file_url | string | 生成音频的直接 URL。 |
| data.files[].file_type | string | 音频结果使用 audio 标识。 |
| data.files[].metadata | object | 保留返回的可选元数据及附属文件,时间戳数据随请求结果读取。 |
| data.error_message | string | null | failed 状态的可读失败原因。 |
任务生命周期
只有前两个状态可继续轮询;finished 与 failed 均为终态。
not_started已接收并排队,等待执行。
running正在生成音频,可以继续轮询。
finished成功终态,验证 files 并读取音频 URL。
failed失败终态,读取 error_message 并停止。
轮询与错误处理
- 认证401 表示认证失败。使用有效的 API Key,并在服务端发送请求。
- 参数校验按请求参数表填写模型 ID、字段类型、枚举、长度和数值范围。
- 轮询间隔从 2–5 秒开始;对 429 和 5xx 使用指数退避,并设置总超时。
- 终态finished 和 failed 后都停止轮询;finished 但没有有效音频也应作为独立错误处理。
- 回调在顶层提供公开 callback_url;服务会在 finished 或 failed 后 POST 扁平任务对象。
- 网络错误区分请求超时、网络失败和任务失败;仅在安全时重试同一查询。
模型规格
| 规格 | 取值 | 说明 |
|---|---|---|
| 模型 | elevenlabs/tts/turbo-v2.5 | 文本转语音。 |
| text | 1–40,000 | 去除首尾空白后的 Unicode 字符数。 |
探索其他 ElevenLabs 模型
ElevenLabs TTS Turbo v2.5 Text to Speech API 常见问题
ElevenLabs TTS Turbo v2.5 Text to Speech API 是什么?
ElevenLabs TTS Turbo v2.5 Text to Speech 是 ElevenLabs 用于将书面文稿转为自然语音、侧重低延迟生成的模型。它支持32种语言、音色选择和语音表达调节。通过音色相似度、稳定性及前后文设置,你可以引导旁白的声音特征和段落衔接。你可以通过 API 进行程序化调用,也可以在上方体验区直接在线试用。
ElevenLabs Turbo v2.5 可以生成中文语音吗?
可以,普通话属于支持的32种语言之一,同时还覆盖英语、日语、西班牙语等语言。在 Text 中填写中文文稿,将 Language Code 设为 zh,即可指定中文朗读。
ElevenLabs Turbo v2.5 一次能朗读40,000字符吗?
每次请求可填写去除首尾空白后长度为 1–40,000 个 Unicode 字符的文本。制作更长的旁白时,可将文稿拆分为多个段落,并通过 Previous Text 与 Next Text 为每段提供前后文。
ElevenLabs Turbo v2.5 如何选择音色?
在 Voice 中填写音色名称或兼容的音色 ID,默认音色为 Rachel。先用目标语言的一小段文稿试听,再通过 Similarity Boost 调节生成声音与所选音色的相似程度。
ElevenLabs Turbo v2.5 如何调整语速?
将 Speed 设为 0.7–1.2 之间的数值,默认值为 1。低于 1 时放慢朗读,高于 1 时加快朗读;先试听一段有代表性的内容,再将该设置用于长篇文稿。
ElevenLabs Turbo v2.5 如何控制表现力?
使用 Stability 调整平稳程度与表达变化:较高值偏向稳定表达,较低值允许更多变化;Style 则调节风格表现强度。两项范围均为 0–1,建议从 Stability 0.5、Style 0 开始,小幅调整并试听。
ElevenLabs Turbo v2.5 如何衔接分段旁白?
填写 Previous Text 和 Next Text,为当前段落提供相邻文本。整个项目沿用相同的 Voice 与表达设置,在自然句子边界拆分文稿,并在合并音频时试听段落交接处。
ElevenLabs Turbo v2.5 如何朗读数字和日期?
Apply Text Normalization 控制数字、日期和货币在朗读前的文本规范化。选择 auto 自动处理、on 开启规范化,或 off 按传入文本处理;同时指定 Language Code,并用含目标数值的短文试听朗读方式。















